返回文章

Thinking Notes

构建健壮 Agent 的完整技术栈与同层选型对比

六层主栈加三层辅助:模型、Harness 编排、上下文工程、协议、执行、持久执行、观测评测、网关、护栏。每层给出职责、主流框架对比表与选型判断,附 TS 与 Python 两个最小健壮组合。

「写一个能跑的 agent」和「构建一个健壮、功能完整的 agent」之间隔着整整一层栈。这份报告把这一层栈拆开:七个主层加三个常被漏掉的辅助层,每层回答三个问题——这一层解决什么问题、同一层里有哪些主流框架、它们的差异和选型判断是什么。所有对比基于 2026 年 9 月的公开状态。

结构:先看栈地图,再按层跳读。每层末尾有一个带竖线的判断块,是可以直接拿去做决定的结论;最后的参考答案给出 TS 与 Python 两个最小健壮组合。

这份报告回答一个具体的问题:构建一个健壮、功能完整的 Agent,需要哪几层技术,同一层里的框架怎么选。六个主层加三个常被漏掉的辅助层,每一层给出职责、主流玩家对比表和选型判断。

读法只有一条:先看第一节的栈地图,再按自己要补的层跳读。所有对比基于 2026 年 9 月的公开状态。

模型层 Frontier(GPT / Claude / Gemini)+ 开源(DeepSeek / Qwen / Llama) Harness / 编排层 Agents SDK · Claude Agent SDK · ADK · Vercel AI SDK · Mastra · PydanticAI · LangGraph 上下文工程 AGENTS.md · Skills · Memory · RAG 协议层 MCP · A2A · AG-UI / A2UI / UCP 执行层 沙箱 E2B / Daytona · 浏览器 / Computer-use 持久执行 Temporal · Inngest · DBOS · Restate · Cloudflare / Vercel Workflows 观测评测 + 网关 + 护栏 Langfuse / LangSmith / OTel · LiteLLM / OpenRouter · 权限与策略

Layer 01

模型层——决定上限,不决定下限

Frontier 三家(GPT / Claude / Gemini)覆盖绝大多数 agent 任务;开源(DeepSeek、Qwen、Llama)在成本敏感、私有化、可自托管场景补位。模型决定 agent 能力的上限,但「健壮」来自下面几层——模型可以随时替换,是栈设计的第一个要求。

判断:选模型先看三件事——长上下文的稳定性、工具调用可靠性、结构化输出合规率。agent 场景里,模型之间最大的差距在这三点,不在通用基准分。

Layer 02

Harness / 编排层——agent 的骨架

这层决定控制流怎么写:循环、分支、代理间转交、状态管理。同样是「写一个 agent」,不同框架的编排原语完全不同,选型就是选控制流模型。

主流框架对比

框架语言编排原语强项适合谁
OpenAI Agents SDKPython / TSHandoff(代理间转交)+ 极简四原语核心极小、上手最快;绑 Responses API 与内置工具(搜索 / computer use)OpenAI 生态内快速交付
Claude Agent SDKTS / PythonAgent loop(Claude Code 同款内核)开箱即用的工程化:文件工具、subagent、权限系统、hooks、Skills、上下文压缩全内置要「现成健壮内核」而不是自己攒
Google ADKPython / Java多代理层级(内置 sequential / parallel / loop 工作流)Gemini 原生、Vertex AI Agent Engine 托管一体、内建 evalGCP 企业栈
Vercel AI SDKTypeScript统一模型接口 + 轻量 Agent 抽象前端流式 UI(useChat)、多模型路由、TS 全栈体验TS 全栈、对话型产品
MastraTypeScript全家桶:workflow(durable / suspend-resume)+ RAG + memory + evalsTS 生态里最完整的独立框架,自带本地 playgroundTS 团队要一站式
PydanticAIPython类型安全:结构化输出 + 依赖注入Pydantic / FastAPI 生态无缝,工程化但轻已有 FastAPI 后端的团队
LangGraphPython / JS图 / 状态机:节点 + 边 + 共享 state + checkpoint控制流最强:循环、分支、human-in-the-loop、断点恢复、时间旅行调试复杂长流程、强审批场景;企业生产主流
CrewAIPython角色化多代理(Crew + Task)多代理协作的表达门槛最低角色分工明确的多代理 demo 与轻量生产

Java 端

框架出身定位
Spring AISpring 官方(1.0 GA 2025-05)Java 事实标准:ChatClient 统一接口、@Tool、MCP client+server、OTel 观测;偏积木,编排自己搭
LangChain4j社区更「全」:AI Services 声明式接口、RAG、ChatMemory;Quarkus 官方绑定;图编排走 LangGraph4j
Google ADK JavaGoogle 官方与 Python 版同级 GA:多代理层级 + 内建 eval + Vertex 托管
Spring AI Alibaba阿里Qwen / DashScope 深度集成、Graph 编排、JManus(开源通用 agent);中文生态最活跃
Semantic Kernel微软有 Java SDK 但已进维护重心转移,后继 Agent Framework 只优先 .NET / Python,选型谨慎

从 demo 到生产

上面每个框架的 demo 都不超过 50 行。生产要在 demo 之外补齐:持久状态、重试、审批、预算、评测——这些恰恰都不在 demo 里。所以先问「你需要哪些逃生舱口」:每个 harness 都允许你带自己的状态、队列和观测,代价完全不同;问完这个,「哪个框架最好」通常已经不难选。

框架状态与持久化流式观测与测试已知生产坑
OpenAI Agents SDK只有会话记忆;持久化 DIY(配 Temporal / Inngest)原生事件流OpenAI 调用有平台 trace,其余 DIY中间件薄:重试、预算、审批都归你;最深的值在 OpenAI 托管工具里
Claude Agent SDK会话内置压缩;工作流持久化仍归你结构化事件流hooks + OTel 导出运行时主见强(bash / 文件工具、沙箱假设);成本绑 Claude;比「SDK」这个词重
Google ADK会话服务;Vertex Agent Engine 托管部分支持内建 eval + GCP traceGCP 引力;多代理抽象尚早
Vercel AI SDK无内置——Vercel Workflow 补TS 流式最强AI SDK telemetry(OTel)agent loop 薄;长任务必须配 Workflow;大版本间 API 变动明显
Mastradurable workflow + memory 内置支持本地 playground + evals 内置生态年轻、API 变动、招人池小
PydanticAIDIY(自带存储)支持Logfire + OTel;依赖注入让单测很干净电池少:memory、RAG、workflow 全 DIY;社区小
LangGraphcheckpoint(Postgres / SQLite)+ 时间旅行支持LangSmith 集成最深样板代码;checkpoint 存储会变成一个运维组件;平台推销;0.x 时代的变动史
CrewAImemory 内置有限基础超出 demo 场景的控制流很难做;多 crew 运行调试痛苦
持久化优先:Agents SDK 和 Vercel AI SDK 要外挂引擎;LangGraph 和 ADK 自带状态;Claude Agent SDK 有会话但没有工作流持久化。
可观测决定排障速度:agent 的 bug 都是状态 bug——优先选原生 OTel / trace 导出的 harness,事后补 trace 会丢上下文。
升级风险:年轻框架(Mastra、LangChain4j)变动大;在 harness 外包一层自己的薄 agent 接口(防腐层),换框架就是换模块,不是重写。
流式是聊天需求,不是 agent 需求:面向用户的助手要 token 流;后台 agent 更需要持久化和评测。
绑 OpenAI、快速交付:OpenAI Agents SDK
要现成的健壮内核:Claude Agent SDK
GCP / 多代理分层:Google ADK
TS 全栈对话产品:Vercel AI SDK(生产加 Workflow);TS 一站式:Mastra
Python 类型控 / FastAPI 团队:PydanticAI
复杂长流程、人在环:LangGraph
Java 企业栈:Spring AI(自搭编排)或 LangChain4j(直接拼)

Layer 03

上下文工程——喂给模型的东西决定产出

2025 年起「context engineering」取代 prompt engineering 成为这层的名字。它管四件事:系统提示与约定、能力打包、记忆、检索。

组件代表说明
约定文件AGENTS.md给 agent 看的「仓库说明书」,跨工具通用约定;是约定不是组件
能力打包Anthropic Skills把流程、脚本、说明打包成可发现的能力,按需渐进披露——正在成为能力分发的事实标准
记忆Mem0 / Letta / Zep提取-存储-召回的记忆管线,跨会话保持状态;按自托管与召回策略差异选型
检索向量库 / RAG 管线从「预取式 RAG」转向「按需检索」:工具化的 just-in-time context 常优于提前塞满
判断:这层的性价比最高:同样的模型,上下文质量的差距大于换模型的差距。约定文件与 Skills 几乎零成本,先做这两件。

Layer 04

协议层——三族协议,不是一族

这层解决「组件之间怎么说话」。按通信对象分三族,混在一层里谈是常见误区。

协议通信对象状态
工具互操作MCPagent ↔ 工具 / 数据源事实标准:三大厂全部接入
代理互操作A2Aagent ↔ agent已捐 Linux Foundation;标准化早于需求,落地一般
界面互操作AG-UI / A2UI / UCPagent ↔ 前端 / 商业系统流式 UI 状态同步与代理商务,2026 年快速演进中
判断:工具层直接用 MCP,不要自建工具协议。代理间与界面层的协议还在演进,自建前先确认需求真实存在。

Layer 05

执行层——模型说出的话,在这里变成动作

两个子类:代码执行沙箱和浏览器 / 计算机操作。健壮性的重心完全不同。

子类代表要点
代码沙箱E2B / Daytona / ModalFirecracker 级隔离、快照恢复、按秒计费;跑模型生成的代码的唯一安全方式
浏览器 / 计算机操作Browserbase / Playwright MCP / computer-use生产事故重灾区:选择器漂移、登录态、反爬;托管浏览器 + 显式审批优于裸 computer-use
判断:任何要跑生成代码的 agent 都必须有沙箱层,没有例外。浏览器自动化先估失败率,再估收益。

Layer 06

持久执行——健壮与玩具的分水岭

长任务必然遇到:进程崩了、模型超时、步骤要重试、任务要暂停等人工审批。持久执行引擎把状态落到库,让任务可恢复、可重试、可回放。

引擎形态特点
Temporal自托管 / 云最成熟,代码即工作流(replay 模型),重;企业级标配
Inngest托管 / 自托管事件驱动、函数级步骤重试,TS 生态顺滑
DBOS库(TS / Py)把持久执行做进 Postgres,轻量、无独立组件
Restate自托管 / 云轻量 runtime,durable 原语设计干净
Cloudflare WorkflowsWorkers 内CF 生态内的 step 级持久执行,与 D1 / R2 天然一体
Vercel WorkflowVercel 内Vercel AI SDK 的天然持久层
LangGraph Platform托管LangGraph 的 checkpoint 本就持久,Platform 补托管与部署
判断:判断标准就一条——「进程在步骤 7 崩了,能不能从步骤 7 继续」。不能,就是玩具。

Layer 07 · 辅助

网关与路由——多模型的机房层

模型可替换是栈设计要求,落地就是这层:统一 API、按成本 / 延迟 / 可用性路由、预算与限流。

LiteLLM:自托管代理,100+ 模型统一 OpenAI 格式,预算 / 限流 / 回退内置
OpenRouter:托管,300+ 模型一个 API,适合快速接入与比价

Layer 08 · 辅助

观测与评测——从第一天就接

agent 的失败是链式的:一次跑偏要靠完整 trace 才能归因。这层必须在第一版就接入,事后补的观测永远缺上下文。

工具形态特点
Langfuse开源,可自托管tracing + prompt 管理 + evals + 数据集;框架无关
LangSmithLangChain 官方商业与 LangGraph 集成最深
Braintrust商业评测优先:数据集、在线评分、实验对比
OTel GenAI 语义约定标准厂商中立的 tracing 规范,避免供应商锁定
判断:先用 OTel 打底再选面板,顺序反过来迟早要重接。

Layer 09 · 辅助

护栏与安全——健壮的最后一道

三类:权限模型(工具 allowlist、路径白名单、人工审批点)、输出校验(结构化校验 + 事实核查)、数据安全(PII 过滤、审计日志)。Claude Agent SDK 的权限系统、LangGraph 的 human-in-the-loop 都是在这层给原语。

判断:护栏的设计原则不是「信任模型」,而是「假设会错,限制爆炸半径」。

Trend

整合趋势——谁在吞并谁

栈图是静态的,生态在动态地合并:

Harness 吞并周边:Claude Agent SDK / OpenAI Agents SDK 都已内置 memory、tools、subagent——独立的记忆与工具层在萎缩
云厂商吞并持久执行:Cloudflare / Vercel 把 Workflow 做成平台内置,独立引擎被压向复杂场景
协议标准化压缩自建:MCP 成立后,自建工具协议的理由基本消失
评测左移:evals 从上线后排查前移进 CI,跑不过评测的 PR 不能合

含义:选框架时看它的「吞噬路线图」:两年后你用的层,大概率已经是今天 harness 里内置的层。

参考答案——两个最小健壮组合

TS 栈:Claude Agent SDK(或 Vercel AI SDK + Mastra)+ MCP 工具 + Inngest / Vercel Workflow(持久执行)+ E2B(沙箱)+ LiteLLM(网关)+ Langfuse(观测)。

Python 栈:OpenAI Agents SDK 或 LangGraph + MCP 工具 + Temporal(持久执行)+ E2B(沙箱)+ LiteLLM(网关)+ Langfuse(观测)。

两组都能跑生产,差异只在语言与托管偏好。健壮的检验方式从头到尾只有一个问题:每一层都答得上「崩了怎么办」。