
Pydantic AI vs LangGraph:微调模型该选哪个智能体框架
Pydantic AI 与 LangGraph 是 2026 年的两大生产级智能体框架。先在类型安全 vs 图编排之间做出选择,然后在其上叠加微调。本文教你如何抉择。
更新于 2026-05-10——反映 5 月初 Pydantic AI v1.90.x / v1.93.x 发布(显式
tool_choice、专用OutputToolCallEvent/OutputToolResultEvent流式事件、OpenAI Conversations API 状态)。下方决策矩阵不变;新原语主要进一步收紧了 Pydantic AI 已经领先的类型安全与可观测性故事。
到 2026 年,Python 智能体框架格局已经收敛。任何把智能体送上生产的团队都已经抛弃了"循环里调 OpenAI"的手写做法。带四十个可组合抽象的 LangChain 早期 Frankenstein 栈也已不见踪影。两个框架仍占据严肃工作的中心:LangGraph,基于图的状态机框架,如今在 Uber、JPMorgan、BlackRock 与 Replit 上运行生产智能体;以及 Pydantic AI,类型安全的 FastAPI 风格框架,2026 年 4 月发布的 1.0 让它成为新项目的当然默认。
两者都与模型无关。两者都能与通过 Ollama、vLLM 或 Ertas Cloud 提供服务的微调开源权重模型干净地协作。两者都把工具调用视作一等原语。在两者之间选择不是"哪个更好"的问题——这是一个关于你的智能体应当如何组织的设计哲学抉择。本篇诚实地走完取舍,然后展示在任一框架下叠加微调模型如何带来戏剧性的收益。
Pydantic AI:类型优先的智能体
Pydantic AI 由 Pydantic 与 Logfire 团队构建。设计精神直接借自 FastAPI:类型即契约,验证不可妥协,框架在你声明形态后应当退到背景。Agent 由结果类型参数化。工具是装饰过的函数,Pydantic AI 解析其签名构建工具 schema。输出根据结果类型自动验证。如果模型发出不符合的内容,你会得到 ValidationError,而不是悄悄的 bug。
运行时是轻量的。没有图引擎、没有检查点层、没有执行调度器。智能体作为普通 Python 运行:调用 agent.run 或 agent.run_sync,框架处理 LLM 循环、工具分派与验证。整个库以 MIT 许可发布,依赖树小到你几乎注意不到它在你的 pyproject.toml 里。
这让 Pydantic AI 天然契合最常见的生产场景:接收输入、调用几个工具、返回结构化输出的智能体。提取智能体、分类器、路由器、轻量级助手。如果你的工作流主要是线性的而你关心输出 schema,Pydantic AI 让你比目前任何可用方案更快达到经过测试的生产智能体。2026 年 4 月的 1.0 发布让 API 趋稳,可以放心地在其上构建商业产品。
LangGraph:有状态、可持久、图编排
LangGraph 走相反的设计路径。智能体是由边连接的节点的有向图。每个节点是函数(LLM 调用、工具执行、条件检查)。边描述状态如何在节点间流动,包括根据中间状态分支的条件边。图引擎运行整个程序,在每一步持久化状态。
这种设计有三件事是 Pydantic AI 不去做的。
持久化检查点。每次状态转换都会被持久化。如果智能体在执行中途崩溃——进程被杀、服务器重启、网络分区——你可以从最近一个检查点恢复,而不是从头来过。对于运行数小时或数天的智能体,这就是可行与不可行的差别。
并行分支。因为图引擎调度节点,你可以扇出到多个并行分支并稍后汇合。一个并行调用五个不同 API 并聚合结果的研究智能体是一个图定义,而不是手写的异步协调层。
人机协同中断。一个图可以在指定节点暂停,把状态呈现给人类审核者,在决策返回后恢复。对于审批工作流、升级以及任何在受监管行业运营的智能体,这是必须的。LangGraph 的 interrupt 原语把"人工审批"从事后修补变成像其他节点一样的图节点。
这些能力的代价是复杂性。LangGraph 要求你把智能体当作状态机思考。图定义比 Pydantic AI 基于装饰器的智能体更冗长。运行时更重——它带着图引擎、检查点层,并且(在生产中)通常带着用于持久化的 Postgres 或 Redis 后端。对于线性提取智能体这是杀鸡用牛刀。对于多阶段审批工作流则正是你需要的。
LangGraph 是 JPMorgan、BlackRock 与 Uber 为接触金钱、客户支持以及合规相关运营的生产智能体所选择的方案。图模型为它们提供了合规团队所需的审计跟踪:每次状态转换都被记录,每次工具调用都可重现,每个决策都可重放。Pydantic AI 的轻量运行时无法轻易提供这种程度的可追溯性。
两个框架的重叠之处
尽管哲学不同,两个框架在若干实际点上落到同一位置。
两者都把兼容 OpenAI 的 API 作为一等传输。两者都能与暴露该接口的任何模型服务器协作——Ollama、vLLM、llama.cpp 的 llama-server、LM Studio、Ertas Cloud、OpenAI API 本身、通过 OpenAI 兼容代理的 Anthropic,或任何自定义服务栈。这意味着你在 Ertas Studio 中部署的微调模型,在两个框架下都能不改一行代码地工作。
两者都有一流的工具调用支持。你声明函数,框架提取其 schema,LLM 拿到结构化的工具使用格式。两者都在执行前验证工具参数;两者都在下一轮把工具结果回传给 LLM。
两者在生产中都有重要的可观测性故事。Pydantic AI 与 Logfire(同一团队)紧密集成并发出 OpenTelemetry 追踪 。LangGraph 与 LangSmith 集成进行图执行追踪并支持 OpenTelemetry 导出器。任一者都能为你提供生产环境中每次工具调用的延迟、token 使用量与错误追踪。
所以在两者之间选择不是关于基本能力,而是关于工作流形态与运维需求。
决策矩阵
| 场景 | 优胜者 | 原因 |
|---|---|---|
| 线性提取智能体 | Pydantic AI | 轻量运行时、schema 验证的输出、无图开销 |
| 带人工审核的多步骤审批工作流 | LangGraph | interrupt 原语把审批变成图节点 |
| 类型安全的工具输入与输出至关重要 | Pydantic AI | 验证是该框架存在的全部理由 |
| 在数小时间暂停与恢复的长运行智能体 | LangGraph | 持久化检查点能熬过进程重启 |
| 用于 Serverless 或边缘的轻量运行时 | Pydantic AI | 依赖最少,无需持久化层 |
| 需要审计跟踪的受监管行业 | LangGraph | 每次状态转换都被记录、可重放、合规就绪 |
| 创业公司从原型快速到生产 | Pydantic AI | 认知负担更低,迭代更快 |
| 并行多 API 研究智能体 | LangGraph | 图原生的扇出与汇合 |
注意这一规律。Pydantic AI 在工作流主要线性、输出结构重要、你想快速行动时获胜。LangGraph 在工作流名副其实是状态机、持久性与审计跟踪不可妥协、团队有工程精力仔细设计图时获胜。