首页 › ai-agents › 画图即稳:智能体两范式实测

画图即稳:智能体两范式实测

概述

2026 年中,智能体框架格局完成了第三轮洗牌:LangChain/LangGraph 双双冲上 1.0,PydanticAI 在 2025 年 9 月拿下 v1,OpenAI Agents SDK 吞掉了实验性的 Swarm,Google ADK 与 Claude Agent SDK 补齐了原厂矩阵。但真正值得记录的不是"谁赢了",而是选型逻辑发生了根本位移——开发者不再问"哪个框架更强",而是问"我要画图,还是写代码"。前者把控制流交出去换稳定与可观测,后者把控制流留在手里换速度与类型安全。本文实测七大主流栈,沿"裸 SDK → 命令式代码 → 声明式图编排"这条谱系拆解它们各自的抽象税、状态税与迁移税,并给出按场景落子的推荐。

分析框架与多维度对比

框架/SDK 范式归属 GitHub Star 核心抽象 状态管理 上手难度 最适合场景
LangGraph 1.0 声明式图编排 ~36k StateGraph / Node / Edge / Checkpoint 框架托管(持久化、回放) 中高 长流程、需断点续跑的生产智能体
Burr 声明式状态机 较小 Action / State / Transition 显式状态机 + 强可观测 中 强可审计、状态可重放的流程
PydanticAI v1 命令式代码 ~16.5k Agent / deps_type / result_type 自管(结构化 I/O) 低 类型敏感的业务智能体、后端集成
OpenAI Agents SDK 命令式代码 高 Agent / Tool / Handoff / Guardrail 自管(上下文对象) 低 纯 OpenAI 栈、多智能体交接
Agno(原 Phidata) 命令式代码 ~40k Agent / Model / Toolkit / Session Session + Memory 抽象 极低 快速原型、会话型智能体
Mastra 命令式代码(TS) 增长快 Agent / Workflow / Memory / MCP 内置 Memory + Workflow 低 TypeScript 全栈团队
裸 SDK(raw) 无框架 — 直接调用 chat.completions / messages 完全自管 视能力而定 极致延迟、极简逻辑

数据综合 Presenc AI、DecisionCrafters、AgentTailor 等 2026 年 5 月榜单,Star 为近似量级,仅作热度参考。

深度分析

一、LangGraph 1.0:把控制流画成图,换稳定与回放

LangGraph 在 2026 年初与 LangChain 一起拿到 1.0 里程碑,官方把它定位为"低层编排框架,构建有状态智能体"。它的核心心智模型是:智能体就是一张带循环的有向图——节点是计算单元(可以是 LLM 调用、工具、纯函数),边是路由,状态是贯穿全图的共享字典。1.0 是一次"稳定性优先"的发布:冻结了核心图 API,把断点(Checkpoint)、持久化、流式中断(interrupt)、人在回路确认收敛为一等公民。

它最硬的能力是 Checkpointer:每一步执行后把状态快照写入 SQLite/Postgres/Redis,进程崩了能从最后一步续跑,还能按 thread_id 回放整条历史、分叉出新分支。这对长任务(合同审阅、多轮研究、审批流)是刚需。代价是啰嗦——一个带工具的 ReAct 循环要写 StateGraph(State)、add_node、add_conditional_edges、compile(),样板代码量明显高于命令式框架。

from langgraph.graph import StateGraph, START, END
from typing_extensions import TypedDict

class State(TypedDict):
    messages: list
    tool_calls: int

graph = StateGraph(State)
graph.add_node("agent", call_model)
graph.add_node("tools", run_tools)
graph.add_edge(START, "agent")
graph.add_conditional_edges("agent", should_continue, {"continue": "tools", "end": END})
graph.add_edge("tools", "agent")            # 工具回灌,形成循环
app = graph.compile(checkpointer=checkpointer)  # 1.0:持久化与回放

变现评估:LangGraph 是目前最适合做"训练营旗舰项目"的栈——可观测、可回放、可上墙演示,结业作品能直接进简历。但教学曲线陡,前两节课必须把 State/Edge/Checkpoint 讲透,否则学员只会抄不会改。

二、PydanticAI v1:类型安全是它的护城河

PydanticAI 在 2025 年 9 月冲上 v1,背靠 Pydantic 团队,截至 2026 年累计约 16.5k Star、宣称 160+ 模型集成。它的赌注很明确:智能体的可靠性来自类型,而不是图。每个 Agent 的输入、输出、依赖(deps)都被 BaseModel 约束,运行期校验;工具用普通函数 + 类型注解定义,框架自动生成 JSON Schema 喂给模型;result_type 强制最终输出结构化,模型乱填直接报错而非悄悄返回字符串。

它的 deps 依赖注入是隐藏的杀手锏:把数据库连接、配置、客户端塞进 deps_type,工具函数签名里直接拿,测试时换成 mock,省掉了全局状态和线程隐患。这与 FastAPI 同源,后端团队几乎零迁移成本。

from pydantic import BaseModel
from pydantic_ai import Agent, RunContext

class Output(BaseModel):
    summary: str
    risk_score: float

agent = Agent("openai:gpt-4o", deps_type=DbClient, result_type=Output,
              system_prompt="你是风控助手")

@agent.tool
def fetch_position(ctx: RunContext[DbClient], uid: str) -> dict:
    return ctx.deps.query(uid)      # 类型安全的依赖注入

result = agent.run_sync("评估用户 u123 的持仓风险", deps=db)
print(result.data)                  # Output 实例,非裸字符串

变现评估:最适合面向"Python 后端/数据工程师"的付费课——类型链就是卖点,企业最怕的是智能体返回不可控的垃圾。缺点是状态持久化、长程回放不如 LangGraph 原生,需自配。

三、OpenAI Agents SDK:原厂命令式的样板间

OpenAI Agents SDK 在 2025 年 3 月正式接替实验性的 Swarm,成为 OpenAI 的官方智能体栈。它和 LangGraph 是镜像关系:LangGraph 要你画图,Agents SDK 要你写普通的 Python 类——Agent 持有指令、模型、工具列表和 handoffs(交接目标),Runner 跑循环,Guardrails 做输入/输出校验。多智能体不是靠图调度,而是靠 handoffs:一个 Agent 在回复里"点名"另一个 Agent,框架自动切换上下文,像客服转接。

它的优势是心智负担最低——没有 StateGraph、没有边、没有 compile,半个屏幕就能跑通。劣势也由此而来:状态完全自管(靠 context 对象手传),跨会话持久化要自己接数据库,复杂路由(如并行扇出、汇合、回退)写得多了就退化成手搓 LangGraph。它还默认绑定 OpenAI 协议,换模型需走适配层。

from agents import Agent, Runner, function_tool

@function_tool
def get_weather(city: str) -> str:
    return f"{city} 晴 26℃"

triage = Agent(name="分诊", instructions="按问题类型转交")
weather = Agent(name="天气", tools=[get_weather],
                instructions="回答天气,仅天气")
triage.handoffs = [weather]

result = Runner.run_sync(triage, "北京天气如何?")

变现评估:适合做"零基础到第一个智能体"的引流课,门槛极低。但深度有限,进阶内容(持久化、并行、可观测)必须外挂 LangSmith/自建,不适合做高客单训练营的全部内容。

四、Agno:会话型智能体的"快枪手"

Agno(前身为 Phidata)在 2026 年凭借约 40k Star 成为 GitHub 上最热门的命令式框架之一,采用 Apache-2.0 协议。它的卖点是极简 + 内置会话:Agent 直接吃 model 和 tools,Session 抽象把多轮记忆、用户隔离打包好,几行代码就能跑一个带记忆的助手。相比 OpenAI Agents SDK,它更"电池齐全"——内置知识库、向量存储、工作流(Workflow)原语,覆盖了从单 Agent 到轻量编排的常用路径。

它的代价是抽象层较厚:Session、Memory、Workflow、Knowledge 多套概念并存,文档虽全但概念边界有时模糊,深度定制需要读源码。对追求"5 分钟出 Demo"的团队是甜点,对追求"每行代码都可解释"的团队是负担。

from agno.agent import Agent
from agno.models.openai import OpenAIChat
from agno.tools.duckduckgo import DuckDuckGoTools

agent = Agent(
    model=OpenAIChat(id="gpt-4o"),
    tools=[DuckDuckGoTools()],
    instructions="用中文简洁回答,必要时联网",
    add_history=True,          # 自动会话记忆
    markdown=True,
)
agent.print_response("PydanticAI 最新版本是多少?")

变现评估:最适合做"24 小时智能体速成"的短线产品——出活快、演示效果好。但因其抽象厚、版本迭代快,长期课程维护成本高,建议作为入门而不是终局。

五、Mastra:TypeScript 阵营的统一答案

前端与全栈团队长期缺一个体面的智能体栈,Mastra(核心团队来自 Gatsby)在 2025–2026 填了这个空。它是 TypeScript-first:Agent + Workflow + Memory + 原生 MCP(Model Context Protocol)客户端,定位"用现代 TS 栈构建智能体应用"。它的 Workflow 引擎支持步骤、并行、条件、挂起恢复,某种程度上是 TS 版的轻量 LangGraph,但写起来更像写普通 async 函数。

它的独特价值在生态契合:和 Next.js、Vercel、边缘运行时天然兼容,工具函数可以是任意 TS async 函数,类型从 API 边界一路贯穿到模型调用。劣势是 Python 生态的模型/评估工具(如 DSPy、各种 eval 库)需要适配,纯 Python 团队迁移成本高。

import { Mastra } from "@mastra/core";
import { Agent } from "@mastra/core/agent";

const support = new Agent({
  name: "客服",
  instructions: "你是中文客服,工单走 createTicket 工具",
  model: { provider: "OPENAI", name: "gpt-4o" },
  tools: { createTicket },
});

const app = new Mastra({ agents: { support }, memory: true });
const trace = await app.getAgent("support").generate("我要退款 u789");

变现评估:面向"前端/Node 全栈"受众的差异化训练营——这块竞争远小于 Python 红海。卖点是把智能体塞进现有 Next.js 应用,企业落地路径清晰。

六、Burr 与"状态机派":被低估的可审计选项

Burr 由 DAGWorks 维护,把智能体建模为显式状态机:Action 是状态转移函数,State 是不可变字典,转移由应用逻辑驱动。它和 LangGraph 同属"声明式"阵营,但更克制——没有图可视化编辑器那种重量,却把"每个 Action 的输入输出都可追溯"做到了极致,自带 telemetry,能回放任意一次执行。适合金融、医疗、合规等"必须能解释每一步为什么这么走"的场景。

它的劣势是社区与生态都小于 LangGraph,集成需自己写,长尾工具覆盖不足。但在"可审计性 > 生态丰富度"的领域,它比 LangGraph 更轻、比命令式框架更可控。

from burr.core import ApplicationBuilder, State, action

@action(reads=["count"], writes=["count"])
def step(state: State) -> State:
    return state.update(count=state["count"] + 1)

app = (
    ApplicationBuilder().with_actions(step)
    .with_transitions(("step", "step"))
    .with_state(count=0)
    .build()
)

七、裸 SDK 与"反框架"潮:到底要不要框架

2026 年一个值得警惕的信号是"frameworkless"的回潮:越来越多团队报告,从 LangChain 迁回原生 OpenAI/Anthropic SDK 后延迟显著下降、调试链路变短。原因直白——框架的每一层抽象(链、记忆封装、回调)都在 prompt 装配和响应解析上抽税,而多数智能体逻辑其实就是一个 while 循环加函数调用。一个 50 行的裸 SDK 循环,往往比 200 行的框架代码更快、更透明。

但裸 SDK 的隐性成本在规模处爆发:流式中断、断点续跑、跨会话记忆、并发限流、可观测追踪、重试退避——这些框架白送的能力,自研要逐个补齐,最后往往会"重新发明一个简陋的 LangGraph"。判据很简单:逻辑是否只是一条直线。是,就裸 SDK;出现分支、循环、回放、人审,就值得上框架。

# 裸 SDK:一个能调工具的循环,50 行
import anthropic, json
client = anthropic.Anthropic()
tools = [{"name": "get_weather", "input_schema": {...}, ...}]

def loop(query):
    msgs = [{"role": "user", "content": query}]
    while True:
        r = client.messages.create(model="claude-...", max_tokens=1024,
            tools=tools, messages=msgs)
        if r.stop_reason != "tool_use":
            return r.content
        msgs.append({"role": "assistant", "content": r.content})
        for tc in r.content:
            if tc.type == "tool_use":
                msgs.append({"role": "user",
                    "content": [{"type": "tool_result",
                        "tool_use_id": tc.id, "content": run(tc.name, tc.input)}]})

变现评估:"为什么你不需要框架"本身就是极好的引流内容,能吸引被框架劝退的开发者;但商业化要落到"什么时候需要、需要哪一层",否则容易变成反智口号。

两范式的真实代价:抽象税、状态税、迁移税

把七栈摆在一起,差异收敛到三条"税":

抽象税:声明式图(LangGraph/Burr)的样板代码最重,但每一跳都可观测;命令式代码(PydanticAI/Agents SDK/Agno/Mastra)最轻,但复杂路由最终会"长出"一个私藏的图引擎。

状态税:图的强项是框架托管状态(Checkpointer 天然支持续跑与回放),命令式的强项是状态由你掌控(更灵活,但续跑要自建)。这是选型时最该问的一句——"我的智能体崩了,要不要从断点接着跑?" 要,倾向 LangGraph/Burr;不要,命令式足矣。

迁移税:原厂 SDK(OpenAI/Claude/ADK)默认绑定自家协议,换模型要走适配层;中立框架(LangGraph/PydanticAI/Agno)多模型抽象更干净,但深度功能常绑死某一模型能力(如 OpenAI 的 Responses API)。2026 年的趋势是"框架在下沉、SDK 在上升"——原厂 SDK 吃掉了简单场景,中立框架退守复杂编排,这正是"图 vs 代码"分界日益清晰的原因。

架构图:从裸 SDK 到声明式图的控制流谱系

flowchart LR
    subgraph S1["裸 SDK / 无框架"]
        A1["while 循环"] --> A2["手动工具调用"] --> A3["手动状态"]
    end
    subgraph S2["命令式代码(code-first)"]
        B1["Agent 对象"] --> B2["装饰器工具"]
        B2 --> B3["依赖注入/上下文"]
        B3 --> B4["结构化输出校验"]
    end
    subgraph S3["声明式图(graph-first)"]
        C1["StateGraph"] --> C2["Node / Edge"]
        C2 --> C3["条件路由"]
        C3 --> C4["Checkpoint 持久化"]
        C4 --> C5["回放 / 分叉 / 人审"]
    end
    S1 -- "加抽象" --> S2 -- "交出控制流" --> S3
    S3 -- "抽税:样板代码↑" --> S3
    S2 -- "收益:速度+类型" --> S2

    classDef s fill:#e8f5e9,stroke:#2e7d32
    classDef m fill:#fff3e0,stroke:#e65100
    classDef g fill:#fce4ec,stroke:#ad1457
    class S1 s
    class S2 m
    class S3 g

推荐方案:按场景落子

场景一:长流程生产智能体(合同审阅、多轮研究、审批流) 首选 LangGraph 1.0。断点续跑、状态回放、人在回路中断是它的看家本领,可观测性与 LangSmith 打通后适合上墙演示。若合规要求每步可审计且嫌 LangGraph 重,备选 Burr。

场景二:类型敏感的业务智能体(金融、风控、ERP 集成) 首选 PydanticAI v1。结构化输入输出 + 依赖注入 + 与 FastAPI 同源,是把智能体嵌进既有 Python 后端的最稳路径。结构化契约即护栏,企业验收最看重这点。

场景三:纯 OpenAI 栈、多智能体客服转接 首选 OpenAI Agents SDK。handoff 模型贴合"客服转接"心智,门槛最低。但持久化与复杂路由要提前规划,否则后期会回退到手搓图。

场景四:前端/全栈团队(Next.js + Node) 首选 Mastra。TS 一条龙,Workflow + Memory + MCP 原生,落地路径清晰,差异化空间大。

场景五:极速原型与会话型助手 首选 Agno。Session + Memory 开箱即用,几行代码出 Demo,适合验证想法;进入生产前评估其抽象厚度是否可接受。

场景六:逻辑就是一条直线、追求极致延迟 直接用 裸 SDK(OpenAI/Anthropic/Google 官方库)。能省掉一层抽象税就省;一旦出现循环、回放、人审,再按上面场景升级。

一句话决策法:问自己"控制流归谁、状态归谁、崩了要不要续跑"。控制流想自己拿 + 状态自己管 → 命令式(PydanticAI/Agents SDK/Agno/Mastra);控制流愿意交出去换稳定可观测 + 状态要框架托管续跑 → 声明式图(LangGraph/Burr);两者都不要 → 裸 SDK。2026 年没有"最好的框架",只有"和你控制流偏好对齐的框架"。

参考来源

  1. LangChain and LangGraph Agent Frameworks Reach v1.0 Milestones — LangChain 官方公告,确认 1.0 为稳定性优先发布,标准化智能体构建
  2. PydanticAI v1: The Type-Safe Agent Framework Rewriting the Python Agent Stack — PydanticAI v1(2025 年 9 月)特性、160+ 集成与类型安全定位
  3. The Frameworkless Agent Architecture: Why Raw SDKs Beat LangChain on Latency — 裸 SDK vs 框架的延迟与调试链路实测对比
  4. AI Agent Framework GitHub Rankings May 2026 — 2026 年 5 月主流智能体框架 GitHub Star 排行与热度数据
  5. Mastra: TypeScript AI Agent Framework Guide 2026 — Mastra 的 TS-first 定位、Workflow/Memory/MCP 能力与适用边界
  6. Claude Agents SDK vs. OpenAI Agents SDK vs. Google ADK — 三大原厂 Agent SDK 在 handoff、guardrail、工具生态上的横向对比

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入