09 跨维度分析与行业趋势#
设计决策持久性判断#
面对层出不穷的Agent框架和协议,开发者需要判断:哪些设计决策是长期持久的,哪些只是阶段性流行?
设计决策 |
持久性 |
判断理由 |
|---|---|---|
Thread/Run/Step/Event/Artifact/Checkpoint六对象 |
✅ 会持久 |
跨框架跨标准收敛,回答的是任务生命周期的根本问题 |
Error-as-Data错误处理 |
✅ 会持久 |
LLM的推理能力使其天然适合自主处理错误,与传统编程本质不同 |
MCP式工具协议 |
✅ 会持久 |
工具层边界清晰、输入输出结构化,与Runtime解耦需求强烈 |
任务事件流(非token流) |
✅ 会持久 |
前端和监控系统需要结构化事件,不只是token打字机 |
状态持久化/Checkpoint |
✅ 会持久 |
生产环境的硬性要求——崩溃恢复、HITL、调试都依赖它 |
Trace语义标准化 |
✅ 会持久(但需时间) |
OpenTelemetry正在推进,跨框架可观测性是刚需 |
特定框架API(LangGraph/Assistants等) |
⚠️ 会迭代 |
框架会更迭,API会变化,但底层Protocol对象稳定 |
ReAct作为默认Loop |
⚠️ 会共存但不唯一 |
Plan-and-Execute、Handoff等模式会长期并存 |
图式Runtime(LangGraph模式) |
⚠️ 适合复杂场景 |
不是唯一选择,代码式/托管式会长期共存 |
单一天生Agent |
❌ 不会持久 |
Agent Harness会持续演进,默认集成更多能力 |
某一种多Agent模式通吃 |
❌ 不会 |
五种模式各有适用场景,会长期并存 |
服务端托管Runtime(OpenAI模式) |
❌ 不会一统 |
控制权需求使自建Runtime长期存在 |
行业收敛趋势#
正在收敛的9项#
六大Protocol对象:Thread/Run/Step/Event/Artifact/Checkpoint
JSON Schema作为工具定义标准
SSE作为流式传输基础协议
Error-as-Data作为默认错误处理策略
MCP作为工具接入层标准
Run作为执行边界(而非Thread)
Checkpoint作为恢复基础
Trace ID贯穿全链路
Agent Harness封装高层能力
没有收敛的5项#
Runtime Loop承载方式(图式/代码式/托管式)
编排协议模式(ReAct/Plan-and-Execute/Conversation/Manager-Worker)
多Agent协作模式(子图/Subagent/Handoff/群聊/PubSub)
状态Schema和Reducer模型
可恢复流的具体实现机制
2年内预测#
MCP会成为工具接入的事实标准,类似JDBC/ODBC在数据库领域的地位
OpenTelemetry GenAI会成熟,Trace语义实现跨框架统一
Agent Protocol标准(A2A/AG-UI等)会有一个胜出,或出现统一的超集
可恢复SSE会成为服务化部署的标配,不支持的Runtime无法用于生产
Harness层会持续繁荣,Deep Agents这类产品开箱即用体验会成为竞争焦点
开发者重点投入方向建议#
投入级别 |
方向 |
理由 |
|---|---|---|
🔥 重点投入 |
Protocol对象理解(六对象+生命周期) |
跨框架通用,5年不过时 |
🔥 重点投入 |
状态管理和Checkpoint设计 |
生产级核心,也是最难的部分 |
🔥 重点投入 |
可观测性(Trace/Event/State Snapshot) |
没有观测就无法改进,是质量闭环基础 |
✅ 理解应用 |
一个主流Runtime(推荐LangGraph) |
图式Runtime覆盖最全面,其他Runtime概念都能映射 |
✅ 理解应用 |
MCP工具开发 |
工具层先标准化,投入产出比高 |
✅ 理解应用 |
Error-as-Data设计模式 |
改变Agent错误处理思维 |
⚠️ 谨慎投入 |
特定框架API细节 |
框架会迭代,API会变,不值得深度绑定 |
⚠️ 谨慎投入 |
多Agent架构设计 |
先做好单Agent,多Agent按需引入 |
👀 观望 |
A2A/AG-UI等互操作协议 |
还在快速演进,等胜出者明确 |
👀 观望 |
某一种"终极Agent框架" |
没有终极框架,只有适合场景的Runtime |
🎯 关注方向 |
OpenTelemetry GenAI进展 |
这是未来跨框架可观测性的基础 |
从零设计Agent Runtime Protocol的11个维度选择建议#
维度 |
建议选择 |
理由 |
|---|---|---|
1. Loop承载方式 |
图式Runtime(如LangGraph模式) |
分支、并行、恢复、观测支持最完整 |
2. 状态表示 |
TypedDict + Channel级Reducer |
类型安全、并发更新可控、支持增量 |
3. 持久化 |
Checkpoint链(类似git的content-addressed存储) |
支持时间旅行、回滚、分支 |
4. 并发Run策略 |
串行队列(默认)+ 显式分叉 |
语义最稳定,分叉作为显式高级特性 |
5. 中断机制 |
通用interrupt(payload) + Command(resume=) |
支持任意节点中断、任意载荷、多点中断 |
6. 错误处理 |
Error-as-Data(默认)+ 异常(系统级故障) |
LLM自主处理+系统故障兜底 |
7. 工具协议 |
统一JSON Schema + MCP适配层 |
工具与Runtime解耦,复用生态 |
8. 流式输出 |
可恢复SSE + Last-Event-ID |
跨网络部署必须支持断连恢复 |
9. 多Agent模式 |
Subagent Task(默认)+ 其他按需引入 |
最简单最可控的协作模式 |
10. 可观测性 |
OpenTelemetry兼容Trace + 7类Span |
面向未来标准化,避免锁定 |
11. 控制面 |
Permission/Guardrail/Human Review/Budget/Cancel五件套 |
生产环境缺一不可 |
核心结论#
"用哪个框架"不重要,重点是"我需要什么Runtime能力"。
框架是Runtime的实现,会随着技术演进而迭代;但Protocol对象和八大维度讨论的问题——任务如何启动、如何携带上下文、如何被观测、如何中断恢复、如何产生产物——是生产级Agent系统永恒的问题。
理解Protocol边界后再看新框架,你不再是"学一套新API",而是"看它在八大维度上做了什么选择、解决了什么问题、有什么取舍"。这是从"框架熟练度"到"系统设计判断力"的跃迁。