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项#

  1. 六大Protocol对象:Thread/Run/Step/Event/Artifact/Checkpoint

  2. JSON Schema作为工具定义标准

  3. SSE作为流式传输基础协议

  4. Error-as-Data作为默认错误处理策略

  5. MCP作为工具接入层标准

  6. Run作为执行边界(而非Thread)

  7. Checkpoint作为恢复基础

  8. Trace ID贯穿全链路

  9. Agent Harness封装高层能力

没有收敛的5项#

  1. Runtime Loop承载方式(图式/代码式/托管式)

  2. 编排协议模式(ReAct/Plan-and-Execute/Conversation/Manager-Worker)

  3. 多Agent协作模式(子图/Subagent/Handoff/群聊/PubSub)

  4. 状态Schema和Reducer模型

  5. 可恢复流的具体实现机制

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",而是"看它在八大维度上做了什么选择、解决了什么问题、有什么取舍"。这是从"框架熟练度"到"系统设计判断力"的跃迁。