Harness 与运行时2026-07-11
执行模型两层
定义
分析 Agent 执行模型时最容易犯的错误,是把不同层级的东西放在一起比较。更清晰的做法是拆成两层:Loop 承载方式(主循环放在哪种运行时容器里)与编排协议模式(主循环内部哪些语义对象被显式建模、哪些 Action 副作用会进入 Runtime 状态机)。
要点
- 第一层 Loop 承载方式:图式 Runtime(LangGraph,控制流结构化为节点/边/状态/checkpoint)、代码式 Runtime(灵活、学习曲线低)、托管式 Runtime(零运维、平台托管)。
- 第二层 编排协议模式:ReAct Tool Loop、Plan-and-Execute(把 Plan/Todo/Step/Progress 提升为显式状态)、Conversation-style coordination(把 Participant/Message/Route/Handoff 提升为显式状态)、Manager-Worker。
- 常见误判是把 Conversation 与 Graph/Code/Managed 放同一层——它其实是运行在不同 Runtime 之上的一种消息协作契约,不该与承载容器平级。
- 关键实践:让状态管理、工具调用、流式输出独立于具体执行模型,这样切换 Runtime 或编排模式时其他能力仍可复用。
示例
同一个 Runtime Loop 上可以叠加 ReAct 与 Plan-and-Execute;从代码式 Runtime 切到图式 Runtime 时,只要状态/工具/流式解耦得当,就无需重写。作者认为 Graph 可视为编排协议的一个超集。
相关概念
参考资料
- 主笔记:Agent Runtime Protocol 稳定对象〔待补〕
来自本站知识库 · 全部概念