首页 / 文章 / LangGraph与Pydantic AI:为何是模型而非框架决定了精度

LangGraph与Pydantic AI:为何是模型而非框架决定了精度

对LangGraph和Pydantic AI进行的160分控制测试显示,两者的工具调用准确率相同,但结果表明模型选择与评估设计的重要性要大得多。

1865 词

在人工智能工程领域,如何选择代理框架是争议最为激烈的话题之一,然而一项经过精心设计的基准测试表明,这或许是对模型正确性影响最小的决策之一。当在相同的任务、工具和模型设置下运行LangGraph与Pydantic AI时,两者得到的分数完全一致;而更换模型则会导致四分之一的测试结果发生变化。本文将详细介绍该实验过程、其数据所体现与未体现的信息,以及如何将评估精力集中在真正能影响结果的方面。

基准测试如何区分不同框架

该对比在四项任务中分别测试了LangGraph 1.2.9与Pydantic AI 2.13.0的性能,每种框架每项任务运行20次,总计160次测试,使用同一模型且温度参数为0。整个研究所需的API费用为0.3767美元。由于研究方法已记录在案,且测试框架为开源,因此可以查看相关设置并重新运行测试。

这四项任务均为确定性任务,通过精确匹配来评分,每项任务分别考察不同的智能体能力:

  • inventory-reorder:先调用一个工具,再对其结果进行算术运算
  • dependent-shipping-quote:第二次工具调用所需的输入取决于第一次调用的结果
  • recover-stale-revision:智能体需意识到自己的数据已过时,进而重新获取数据
  • refund-policy-minimal-tools:根据退款政策的时间范围进行日期运算,且故意限制可用工具的数量

测试环境中的一切都被固定不变:每个框架接收的任务提示完全相同,使用的工具都由一致的JSON架构描述,并且基于同一套实现逻辑,同时由同一位评分员进行打分。模型固定为gpt-4o,温度值为0,且禁用了并行工具调用功能。唯一允许变更的只有调度库。

这种严格约束正是该实验的核心所在。许多已发表的框架对比研究会同时改变提示、工具和库,然后将任何差异归因于所使用的库。如果你想获得可靠的自测对比结果,首先就必须确保其他所有因素保持不变。

正确率完全持平

两个框架在全部80次测试中都给出了正确答案。总结如下:

LangGraph 1.2.9    Pydantic AI 2.13.0
Completed           80 / 80            80 / 80
Wilson 95% CI       0.954 - 1.0        0.954 - 1.0
Total cost          $0.1881            $0.1886
Median wall time    3.863 s            5.526 s

这并非“大致相当”或“处于误差范围内”的情况。在相同的任务、架构、模型及数据负载下,各项得分完全一致。0.954到1.0的威尔逊区间正是80分满分的对应值:它表明以当前样本而言,两种方法的真实成功率都很可能超过95%。如果其中某个库能让智能体更有可能在这些任务中得到正确答案,那么如此多的实验次数本应足以显现出显著差异,但实际上并未发现此类差异。当然,它仍可能无法检测到极其微小的差别,而这本就是这种规模样本的固有局限。

该比较公平的最有力证据在于输入令牌。在每次运行中,两种框架生成的令牌完全一致:inventory-reorder为311,dependent-shipping-quote为791,recover-stale-revision为615,refund-policy-minimal-tools为926。换言之,这两个库都将相同的架构转换成了完全一致的API请求,令牌数量逐字节相同。仅在少数几次运行中输出令牌相差几个,这在温度值为0时也是常见的模型差异现象,这便解释了总成本上那半分的差距;而框架本身的开销并非原因。

平局虽然不会带来引人注目的标题,但它回答了实际问题:就工具调用的正确性而言,在当前规模和该模型条件下,框架并非决定性因素。

延迟:存在持续差距且原因简单

这些框架在某一维度上确实存在差异,且这种差异一直保持不变。下表列出了每项任务中LangGraph的中位数运行时间比Pydantic AI快多少,随后还给出了该速度优势的95%置信区间:

  • inventory-reorder:LangGraph快1.669秒(区间为1.481至1.918秒)
  • dependent-shipping-quote:快1.430秒(区间为1.241至1.686秒)
  • recover-stale-revision:快1.842秒(区间为1.658至2.101秒)
  • refund-policy-minimal-tools:快1.645秒(区间为1.427至1.911秒)

在所有四项任务中,该置信区间均远非零值。LangGraph完成每次运行的时间平均快1.4至1.8秒,按中位数计算其速度约为Pydantic AI的1.4倍。

在未阅读相关说明之前,切勿将其视为推荐结果。出现这种差异是因为需要将异步代码转换为同步代码:该框架本身是同步的,Pydantic AI也是通过这条同步路径运行的。这并不能说明Pydantic AI的代理循环本质上就慢。对于那种特定的集成方式,这个数值是真实且可重复的,但也是研究中最不具备普遍性的结果。在已经实现端到端异步的应用中,这种差异应该会缩小甚至消失。

一个异常值与中位数相悖

有一个值得注意的细节与标题中提到的延迟结果相悖。研究中速度最慢的那次测试是由 LangGraph 完成的:dependent-shipping-quote 任务耗时 16.196 秒,而 Pydantic AI 的最慢测试结果仅为 10.228 秒。LangGraph 在同一任务上的次慢测试结果为 5.232 秒,因此这似乎只是个孤立的异常值,而非严重的尾部现象。但由于每个任务仅进行了 20 次测试,这两种可能性无法区分,而且单个数据点并不能代表整体分布。

实际启示是:在这里中位数更有利于 LangGraph,但如果你要设定延迟性能标准,关键在于尾部表现,你需要在自己的工作负载上进行测量,而非依赖他人的中位数。

更换模型改变了四分之一的测试结果

在同一测试框架中进行的另一次测试中,这四个任务分别使用两种模型执行,每种模型各进行了 40 次测试:

gpt-4o-mini    gpt-4o
Completed         30 / 40        40 / 40
Cost (40 runs)    $0.0057177     $0.094275

框架、任务和工具均保持不变,只有模型有所不同,导致25%的测试结果出现变化。

gpt-4o-mini出错的方式最具参考价值。它的工具调用功能正常:在任意框架下,除了一项任务外,其余所有任务的测试结果都是正确的。例外的是refund-policy-minimal-tools任务,它在该任务的10次测试中全部失败,每个框架各5次,且错误原因完全一致。它通过同时计算开始日期和结束日期得出了days_since_delivery = 19的结果,而正确的计算方式应是仅统计间隔天数即18天,进而得出客户已超出退款期限的结论。

这既不是框架故障,也不是工具使用故障。问题在于模型在处理包含性与排他性日期计算时出现了错误,而代理程序则依据错误的数值进行了操作。没有任何调度库能够独自发现这类错误。要解决这个问题,需要通过确定性检查:使用工具来计算日期差值,而非让模型来完成运算,或者在依据结果采取行动之前先对其进行验证。

因此,业界争论的那个对比结果是平局,而几乎无人讨论的那个对比则出现了25分的差距。要获得更高的分数,所需成本大约是前者的16.5倍。

这对你的技术栈有何启示

根据易用性选择框架

做决策时应考虑那些每天都会用到的因素:类型安全性、图模型是否适合你的问题、调试体验,以及在出现问题时代码对团队而言的可读性。这些差异确实是存在的。但根据现有证据,正确性并不在其中。如需更全面地比较各类选项,请参阅选择Python AI智能体框架

将评估资源投入到模型上

在这里,模型选择影响了25%的测试结果,并使成本变化了16.5倍。如果你只有有限的时间来测试某一项,那就用你自己的任务来测试模型。还需注意,本研究中使用的两个模型都是特定的旧版OpenAI模型; newer models的行为可能有所不同,因此请使用你实际打算使用的模型重新进行比较。

应研究故障模式,而非整体成功率

这项基准测试中最有参考价值的部分并非分数表,而是专为设置难度而设计的refund-policy-minimal-tools任务。所有模型和框架都通过了其他三项任务,因此这些任务无法揭示任何问题。只有当某些任务出现失败时,评估体系才有意义。应设计针对你所担心的具体弱点的测试任务,比如越界日期处理逻辑、过时数据问题或链式工具调用问题,并根据实际生产中的故障来不断完善这套测试体系。

不要轻信那些会选出胜者的基准测试

对于任何宣称有胜出者的框架基准测试,包括这项,都应持怀疑态度。这项研究可被验证的原因在于,原始的JSONL结果、标注了固定版本与哈希值的清单以及相关工具均已公开,同时还有全部160次测试的完整数据。对你所依赖的任何基准测试也应采用同样的标准。

证据的局限性

测试范围相当有限:仅一个模型系列、四项任务、一种集成方式以及固定的日期。测试在2026年7月24日和25日进行,使用的模型为gpt-4ogpt-4o-mini,库的版本为LangGraph 1.2.9和pydantic-ai-slim[openai] 2.13.0,后续版本的结果可能会有所不同。工具调用的正确性也只是智能体框架的一个维度,未必是您最关心的方面;状态管理、持久化、流处理以及可观测性等方面并未在此进行评估。

因此,这些数据所能证明的结论并不如标题所描述的那么显著:在当前的任务类型和规模下,该框架无法判断智能体是否得出了正确答案,而模型却可以。

主要结论

  • 只有控制除库之外的所有因素,框架对比才有意义;相同的输入标记数量是衡量公平性的良好标准。
  • LangGraph与Pydantic AI在使用gpt-4o进行工具调用时的正确率均为80分满分。
  • 延迟差异源于框架中的同步到异步的转换机制,而非代理循环速度过慢,而单个异常值也说明了为何必须单独测量尾延迟。
  • 更换模型会导致25%的结果发生变化,这主要是由于存在一个所有框架都无法检测到的日期运算错误。
  • 应将评估精力集中在模型选择以及那些容易出错的复杂任务上,而将日期运算等确定性逻辑移出模型处理。

相关阅读

  • 下一个令牌循环:在接触智能体之前了解LLM的思维模型 — 通过简单的离线Python示例,讲解令牌、上下文窗口、采样及生成循环的工作原理,并阐明RAG、ReAct和LangGraph存在的理由。
  • 根据每项成功任务的成本决定智能体模型升级方案 — 一个用于判断是否值得采用更自主模型的实用框架:六项指标、可复现的编码智能体测试以及相应的控制措施。