2026年开源Agent工具栈

存活于生产的七个层级,以及每层的开源选择

AI拉呱:洞察AI技术前沿

你花了三周交付一个Agent。Demo里它跑得很好。然后生产环境来了,你发现选的框架没有checkpointing,记忆层是扁平的向量堆没有时间推理,浏览器工具遇到canvas元素就崩溃,评估套件是某个Notion文档——总有人忘记更新。

2026年构建Agent的开源工具栈已经解决了大部分这些问题。代价是每个问题都有十几种不兼容的解决方案。在LoCoMo(标准长对话记忆基准)上胜出的记忆框架,每对话开销比第二名高340倍——这个差距没有基准列会显示。基准分数与生产行为之间的同样差距出现在每一层。

所以最好的方式是锁定你的系统在负载下最先碰到的约束:延迟预算、审计追踪、模型可移植性、语言栈。搞错了,第三周就得重写状态schema。

TL;DR

如果你读过AI Agent技术栈(2026版),这是开源那一半。围绕什么是AI Agent?中think-act-observe循环的同样七层:编排、记忆、工具接口、浏览器/CUA、编码Agent、评估与可观测性、推理。以下是每层的起点。

每层如何选择

选择每层工具时,问三个问题:

  1. 主导约束是什么? 四个约束决定大多数层级选择。延迟预算是你每轮能花多少token或毫秒。审计追踪是每个动作是否必须可追溯以满足合规。模型可移植性是你的栈有多绑定一个供应商。语言栈是团队用Python、TypeScript还是两者。通常每层有一个主导。
  2. 选错了的替换成本? 换一个MCP server改一行配置。换编排层要重写状态schema、节点和边。重写越大,越应该先按约束选。
  3. 是开源还是open-core? Open-core意味着项目以开源许可证发布,但生产功能(多租户认证、复制、SSO、审计日志)只在托管云产品中运行。仓库的功能列表告诉你买的是哪一边。

第1层:编排与运行时控制

编排层运行Agent的推理循环。LLM选一个动作,运行时执行,运行时观察结果,LLM再选。跳过框架就得自己写循环——意味着在交付前重新发明重试、checkpointing和人机交互门控。

LangGraph是Python生产工作的默认选择。基于图的状态机,通过PostgresSaver实现持久执行、时间旅行调试,以及该领域最大的已验证企业名单(Klarna、Uber、LinkedIn、JPMorgan、Replit)。图状态映射到监管行业的需求:每个状态转换是一条审计日志,任何失败运行回滚到前一个节点并从那里重放。上限:它很冗长。一个两Agent流程仍需要状态schema、节点、边和编译。对于"顺序调用三个工具",它是杀鸡用牛刀。

CrewAI在四个编排框架中设置开销最低。你声明角色如研究员、写手、审查者,选一个协调模式,运行crew——无需先定义状态schema。上限:CrewAI以原型速度为代价优化生产持久性。框架无法从失败处恢复崩溃的运行,错误处理在crew层级而非每个节点,没有可检查的状态schema记录Agent何时做了什么决定。团队在生产状态管理开始比角色隐喻更重要时从CrewAI迁移到LangGraph。

Pydantic AI将每个Agent输出视为类型化的Pydantic模型,验证、重试和下游序列化免费获得。FastAPI风格的装饰器用于工具和依赖。上限:多Agent原语比CrewAI或LangGraph弱。最适合Agent是单循环、必须返回验证数据给下游服务的场景。

Mastra是TypeScript的答案。Agent、工作流、RAG和评估一个包,由前Gatsby创始人构建,设计为直接嵌入现有Next.js应用而无需Python侧车。上限:生态系统更小,生产案例比LangGraph少。当团队已经全栈TypeScript且重写Python不在选项中时选Mastra。

供应商SDK(Claude Agent SDK、OpenAI Agents SDK、Google ADK)也属于这一层。每个都减少编排摩擦并将Agent锁定到一个供应商的API。如果你已经绑定那个供应商且不计划换模型,选一个。

第2层:记忆与状态

上下文窗口不是记忆。即使200K token,每轮都要为整个对话重新付费,会话结束后什么都不留存。2026年的生产Agent在prompt之外的专用层中维护记忆。

Mem0 记忆可以按用户范围(跨所有会话持久)、按会话范围(仅此对话)、或按Agent范围(一个Agent的所有用户共享)。混合存储结合向量与图,成熟的SDK可插入LangGraph、CrewAI和Mastra。48000+ GitHub星。ECAI 2025论文在LoCoMo上将Mem0与十个替代方案基准测试,报告比朴素全上下文(每个团队第二周就会替换的基线)延迟低92%、token少93%,在相同召回率下推理成本大约便宜14倍。上限:Mem0将记忆视为检索,返回与查询最相似的事实。时间推理——如"用户上周说了什么与今天说的矛盾"——需要一个追踪事实间边并带时间戳的图。

Zep / Graphiti 是时间图选项。知识图谱层处理实体消解:判断"Alice"、"alice@acme.com"和"CEO"都指同一个人。它还追踪关系如何随时间变化,所以Agent能回答"这个客户Q2的状态是什么?"或"合同所有者何时变更?"代价:图构建昂贵。Zep每对话的记忆足迹超过600000 token,而Mem0是1764,摄入后立即检索经常失败——正确答案只在后台图处理完成后才出现。当Agent需要推理历史且你能等秒级而非毫秒级时选Zep。

Letta(前身MemGPT) 将记忆当作操作系统。主上下文是RAM,归档记忆是磁盘,Agent决定什么提升到RAM、归档到磁盘或遗忘。完全开源、模型无关、从第一天起可自托管。架构通过内存分页进出扩展Agent的有效上下文远超LLM原生窗口——与操作系统给程序更多虚拟内存而非物理RAM同样的技巧。上限:你自己运行存储层。Letta比调用托管Mem0端点更难部署,更难调试——因为记忆决策在运行时由Agent内部做出。

🏗️ 工程教训。"记忆"在Agent系统中意味着两件不同的事,用一个工具处理两者会同时搞坏两者。运行时状态是Agent执行中的草稿纸:它在哪个节点、调了什么工具、有什么中间结果。LangGraph的PostgresSaver每步写入,崩溃运行从上一个节点恢复。知识记忆是Agent跨会话学到的:偏好、先前问题、关于用户的事实。Mem0和Zep存储这些。混淆它们,你会得到一个能正确恢复崩溃运行但用户开新会话就忘记他们的Agent,或者一个记住用户但中途崩溃无法恢复的Agent。

第3层:协议与工具

两年前这一层是函数调用:每个供应商有自己的JSON schema,每个框架包装方式不同,换模型意味着重写工具。

2026年这一层是MCP。模型上下文协议是Claude Agent SDK使用的开放标准,OpenAI Agents SDK原生支持,Google ADK集成,每个严肃框架现在都发布客户端。如果你今天在写工具,你在写MCP server。如果MCP本身还模糊,什么是MCP?是前置要求。

这一层没有框架可选。第1层的编排选择已经决定了MCP如何集成。

FastMCP是快速编写MCP server的Python框架。装饰器风格、async优先,最接近MCP界的FastAPI。mcp-agent是以MCP为主要工具接口构建的编排框架。Server生命周期、多server路由和prompt上下文处理内置。用LangGraph或CrewAI时你自己写集成代码。当Agent连接多个MCP server且集成代码开始成为瓶颈时值得一看。

第4层:浏览器与计算机使用

当Agent必须操作的系统不暴露API时,工具栈必须通过屏幕操作。2026年的领域分成两种架构:DOM驱动(解析页面、找元素、点击)和视觉驱动(截图页面、喂给视觉模型、点击像素)。

Browser Use是Python默认。50000+ GitHub星,2025–2026增长最快的开源AI项目之一。LLM通过Agent循环获得浏览器完全控制,集成LangChain、CrewAI和自定义框架。上限:每步花费一次LLM调用,对新颖任务没问题,对重复工作流很残酷。生产团队将重复的80%缓存在Playwright(确定性浏览器自动化库)中,留Browser Use处理需要推理的20%。

Stagehand是TypeScript的答案。Browserbase的开源SDK,MIT许可,构建在Playwright之上。四个原语让开发者对需要推理的步骤保留AI推理,其余用脚本化Playwright代码。Stagehand v3(2026年2月)在Chrome DevTools Protocol上重写引擎,速度提升44%。上限:生产部署通过Browserbase的托管云运行。开源SDK是入口。

Skyvern是视觉优先选项。每个任务跑三阶段管线:规划器将目标拆成步骤,行动者发送截图给视觉模型并点击返回的坐标,验证器确认页面变化。Skyvern在WebVoyager 2.0上得分85.85%,在DOM不可靠的领域(canvas元素、嵌套在iframe中的React虚拟DOM、反bot机制)表单填充任务的最强公开分数。该分数仍意味着大约每7个多步任务有1个失败。上限:视觉驱动栈在常见任务上比DOM驱动落后12–17分,每步成本高4–8倍。

2026年的生产模式是两者都接入:DOM驱动作为主路径,Skyvern或Anthropic Computer Use或OpenAI CUA作为选择器持续失败于canvas元素或反bot屏幕时的逃生舱。边缘情况是四种Agent失败模式之一,全部四种在为什么AI Agent在生产中持续失败中覆盖。

第5层:编码Agent与沙箱

编码Agent现在是独立品类。它们写代码、运行代码、坏了就调试、读文档搞清楚哪里搞错了。这一层自带其他六层没有的三样东西:沙箱文件系统(写和编辑代码不逃逸到宿主)、终端访问(跑构建、测试和lint)、浏览器工具(因为一半工作涉及读文档)。品类也有自己的基准SWE-bench Verified——一组真实GitHub issue的精选集,Agent必须将其解决为可工作的PR。闭源对比见Cursor vs Claude Code

**OpenHands(前身OpenDevin)**是生产级自主选项。72000+ GitHub星,1880万美元A轮融资,在AMD、Apple、Google、Amazon、Netflix和NVIDIA生产使用。事件流架构每循环走四个状态:Agent推理、Agent发出动作、环境执行、环境返回观察。每个会话在隔离Docker沙箱中运行。这个品类的基准问题是Agent端到端无人工输入能解决多少真实bug工单。OpenHands用Claude 4.5在SWE-bench Verified上得分53%+,在已发布平台结果上用Claude 4最高达72%。上限:Agent有shell访问。审查不能在OpenHands内部;它必须在PR处。

Aider是终端原生选项,也是原始开源编码Agent。35000+ GitHub星,93个版本13100+次commit。设计上git集成:每个变更变成一个commit,自动生成消息说明它改了什么,整个Agent会话在你的git历史中。架构师/编辑器模式将工作分给两个模型:更强的规划编辑,更便宜的写代码。拆分比每个token跑顶级模型便宜30–40%。Aider用Claude 4.5在SWE-bench Verified上得分32%,远低于OpenHands,但意外更少——因为每个动作都落在git里。上限:仅终端。无IDE集成,无项目级上下文(超出你传入文件Aider能解析的范围)。

Cline是VS Code原生答案。38000+ GitHub星,完全开源、模型无关、VS Code团队中有意义市场份额的唯一选项。Plan Mode和Act Mode分离意图与执行:Plan Mode起草变更列表并暂停等审批,Act Mode执行已审批计划。每个动作在触及代码库前可审查——这是工程经理最关心的设计点。当团队活在VS Code中且政策要求每步人工审查时选Cline。上限:IDE锁定。JetBrains或Neovim团队应看Continue或上面的终端工具。

2026年大多数运行生产编码Agent的团队跑两个:一个商业(Claude Code、Codex)处理难题,一个开源处理灵活性和故障。Cursor到底是怎么工作的展示了领先商业编码Agent的底层机制。

第6层:评估与可观测性

评估与可观测性层记录Agent在生产中做了什么,并在交付前测试它能做什么。追踪捕获每个LLM调用、工具调用和成本,按用户和会话索引——输出错误时你能重放产生它的精确上下文。评估是可复现的测试套件,Agent对固定输入运行,通过/失败标准每次评分方式相同。2026年生产级Agent团队第一天就接入两者。跳过这一层是Agent工程中最昂贵的错误。

Langfuse是开源可观测性默认。Open-core,慷慨的自托管层,原生集成LangGraph、CrewAI、OpenAI Agents SDK和Mastra。每个LLM调用、工具调用和成本被追踪和索引。上限:托管保留、SSO和高级评估功能在SaaS计划上。自托管版本覆盖追踪和仪表板。

Arize Phoenix是OpenTelemetry原生替代。追踪流入你栈其余部分已经在用的Grafana、Datadog或Honeycomb仪表板,Agent遥测与API和服务追踪并排而非在单独工具中。RAG评估和检索质量方面很强。上限:Phoenix不提供有主见的Agent特定默认值。管线组装在你。

Inspect AI是英国AI安全研究所的开源评估框架。研究所为安全评估编写:测试Agent是否拒绝越狱、泄露PII或生成不安全内容。前沿实验室现在也用它做能力和对齐基准。上限:Inspect用于离线评估。如果你还需要看Agent在生产中实时做什么,Langfuse或Phoenix要搭配使用。

🏗️ 工程教训。第一天就接入追踪,在第一个用户之前。在项目开始时设置Langfuse或Phoenix是几小时的配置工作。没有这些记录,调试生产故障意味着猜测哪个prompt版本、哪个用户输入、哪个工具序列产生了它。

第7层:模型与推理

Agent每一步至少一次推理调用,通常更多。运行这些调用的引擎——包裹GPU、批处理请求、管理KV缓存的软件——为其他一切设定成本底线。托管API Agent继承其供应商的引擎。自托管Agent选择自己的,选择决定大规模运行的成本。

vLLM是开放权重模型的生产服务默认。核心创新是PagedAttention:将KV缓存分成固定大小块的内存管理技巧,多个请求共享GPU内存无浪费空间。结合连续批处理,产生该领域最高的吞吐量/美元。上限:vLLM仅GPU、优化密集、假设操作者知道KV缓存是什么。

Ollama是本地默认。一行安装,从注册表下载量化模型,暴露OpenAI兼容API。量化将权重从16位压缩到4或8位,以小精度损失换取适配笔记本内存。上限:Ollama不是超过单用户的生产服务层。

llama.cpp是Ollama底层运行的引擎。纯C++无GPU依赖,在CPU、Apple Silicon、Raspberry Pi和任何有足够RAM的设备上运行LLM。项目还定义了GGUF——用于发布量化开放权重模型的文件格式,同一模型文件在每个llama.cpp工具上不变运行。上限:CPU吞吐远低于GPU服务,llama.cpp只适合本地和离线工作负载。

SGLang是更新的挑战者。两个设计选择使其不同。第一,当多个请求共享开头prompt时,SGLang缓存该前缀的计算一次并复用,而非每次调用重新计算。第二,当Agent需要JSON输出时,SGLang在推理引擎内部强制schema,模型根本无法生成无效JSON。在Agent工作负载上,SGLang基准比vLLM更快。上限:社区更小、集成更少、大规模生产中比vLLM验证更少。

NVIDIA到底做什么?拆解了本节每个引擎最终运行的硬件层。

七层不能垂直组合

读七层图时的直觉是假设层垂直组合:选第1层,约束第2层,约束第3层,正确的工具栈是每个盒子都契合的那个。

2026年大多数Agent重写追溯到基于这个假设的团队。没有生态系统在所有七层都是同类最佳,层间集成从未设计为可组合。它们在薄接缝处相遇:一个配置文件、一个import、一个HTTP调用。

七层是七个独立决策。每层有一个主导约束选择赢家。四个约束决定大多数选择:延迟预算、审计追踪、模型可移植性、语言栈。

四个约束很少指向同一个赢家。延迟优先栈拉向Mem0和vLLM。审计优先栈拉向LangGraph和Langfuse。模型可移植性拉离供应商SDK。语言栈拉向Mastra或Pydantic AI。试图用一个生态系统满足所有四个意味着每层选平均工具而非每层选最佳工具。

重新理解:Agent的工具栈是七个小赌注,每个有单一主导约束,每个独立做出。2026年交付可靠Agent的团队是那些每层选最佳工具并接受集成接缝是工作一部分的团队。

Agent栈速查表

在替换生产Agent的任何层之前,先查这张表。状态列告诉你需要迁移多少。锁定列告诉你切换时放弃什么。Demo到生产列告诉你替换实际要多久。


AI拉呱:洞察AI技术前沿

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐