后续通用 Agent 协作控制平面架构

目的

定义一个通用的 Agent 协作控制平面。它不绑定任何具体项目或产品名称,适用于把多个 coding agent 组织成可分配、可追踪、可恢复、可审查、可治理工作系统的场景。

前提是人类工作已经具备最小闭环。没有任务、Driver、Approver、scope、验收标准、证据和 approval 的人类流程,不应该直接接入 Agent。闭环总纲见 03-人类闭环总纲-human-closure-principles.md

这类系统不应该从提示词开始设计。提示词是执行层的一部分,真正决定系统能否稳定运行的是控制平面:

工作对象模型
-> 协调策略
-> 持久执行
-> runtime adapter
-> 上下文协议
-> 证据与审查
-> 治理与成本
-> 事件和数据基础设施

分层架构

0. Work Surface
   人类创建任务、查看 run、审查 artifact、做 approval。

1. Product Facts
   Workspace、AgentProfile、WorkItem、TaskRun、RunMessage、Artifact、ApprovalRequest、CostEvent。

2. Coordination
   Direct assignment、planner、manager-worker、handoff、workflow graph。

3. Durable Execution
   Queue、claim、lease、heartbeat、state machine、retry、resume、watchdog。

4. Runtime and Adapters
   Runtime daemon、agent adapter registry、sandbox/worktree、secret grant、provider integration。

5. Context Protocol
   Context packer、scope policy、workspace rules、skills、output contract。

6. Evidence and Governance
   Logs、tool trace、diff、tests、screenshots、PR、budget、audit、human approval。

7. Data and Events
   Postgres、event bus、SSE/WebSocket、object storage、audit log。

关注优先级

1. 工作对象模型

系统要先定义什么是事实。不要把 provider session、聊天历史或 agent 的内部推理当作平台事实。

对象 作用
Workspace 团队、仓库、runtime、策略和审计边界
AgentProfile 受控执行者,包含 provider、角色、工具、runtime 绑定和策略
WorkItem / Task 可分配的工作单元,来自 issue、手动输入、automation 或 review request
TaskScope 允许修改的 repo/path/module 范围
TaskRun 一次 agent 执行尝试
RunMessage append-only 的执行证据流
Artifact patch、日志、截图、报告、diff、PR、测试结果
ApprovalRequest 人类决策点
CostEvent token、模型、provider、运行成本记录

2. 持久执行和状态机

这是多 agent 系统和 demo 的分水岭。

必须回答:

  1. 谁可以 claim 任务?
  2. 如何防止两个 agent 做同一个任务?
  3. claim 后 agent 掉线怎么办?
  4. run 失败、超时、卡住后怎么恢复?
  5. 哪些状态允许 retry?
  6. 哪些动作必须人工批准?
  7. 日志、diff、artifact 怎么绑定到 run?

推荐最小状态机:

Task: backlog -> queued -> running -> in_review -> done
                         -> blocked
                         -> failed
                         -> cancelled

Run: queued -> claimed -> running -> succeeded
                            -> failed
                            -> blocked
                            -> timed_out
                            -> cancelled

3. Agent 协调机制

协调方式比“agent 之间聊天”更重要。

模式 说明 适用阶段
Direct assignment 人把任务分配给一个 agent MVP
Manager-worker lead agent 拆任务,人确认后分给 worker agent MVP+
Workflow graph plan 编译成 DAG,有 step、dependency、review、retry V2
Org chart agent 有上下级、预算、岗位、长期目标 后期

协调必须落到平台事实,而不是隐藏对话:

Lead agent plan
-> WorkItem / child TaskRun
-> Scope
-> Acceptance criteria
-> Artifact
-> Review
-> Merge or retry

4. 消息通讯和语义协议

技术通讯只是管道,语义协议才是核心。

关注点
技术通讯 REST、SSE、WebSocket、MCP、daemon heartbeat、Redis/event bus
语义协议 task context、claim payload、run message、artifact ref、approval decision、cost usage

关键协议:

RuntimeHeartbeat
RuntimeClaimRequest
TaskClaimPayload
RunMessageAppend
ArtifactCreated
RunCompleted
RunFailed
ApprovalRequested
ApprovalDecided

5. 上下文协议

提示词应该被放进上下文协议里,而不是作为单独核心。

每次 run 的输入应该由系统拼装:

System policy
+ workspace rules
+ task title and acceptance criteria
+ repo scope
+ recent relevant comments
+ previous run handoff
+ allowed tools
+ secrets grant summary
+ output contract

重点不是写一个很长的 prompt,而是稳定控制:

  1. agent 看什么。
  2. 不看什么。
  3. 哪些是低信任输入。
  4. 哪些是安全策略。
  5. 结果必须用什么结构返回。
  6. handoff 给下一位 agent 时保留哪些上下文。

6. 证据、审查和人工介入

Agent 协作控制平面的核心价值是让人不需要盯着终端,但仍然能负责。

UI 必须优先展示:

  1. 当前 run 在哪里。
  2. 最近有用动作是什么。
  3. 产出了什么 artifact。
  4. 哪些文件变了。
  5. 哪些测试跑过。
  6. 哪些风险没解决。
  7. 下一步需要谁决定。

一个好的 TaskHandoff 至少应该包含:

Summary
Files changed
Commands run
Tests passed / failed
Known risks
Suggested next action

推荐 MVP 边界

第一版建议只做这一条闭环:

GitHub issue / manual task
-> Task with repo scope
-> Runtime daemon claim
-> Agent adapter run
-> RunMessage timeline
-> Artifact and handoff
-> Draft PR
-> Approval gate
-> Human decision

暂时不做:

  1. 自由聊天 workroom。
  2. 完整 workflow DSL。
  3. 复杂 agent 组织图。
  4. 任意插件市场。
  5. 全自动 merge。
  6. 跨组织多租户治理。

学习检查清单

读任何 agent 协作系统时,按这个顺序问:

  1. 系统的 durable facts 是什么?
  2. task/run 状态机是什么?
  3. agent 如何 claim 工作?
  4. runtime 如何 heartbeat?
  5. run 的输入上下文从哪里来?
  6. agent 输出如何结构化?
  7. 失败、超时、卡住怎么恢复?
  8. artifact 和 evidence 怎么存?
  9. human approval 在哪里介入?
  10. budget、secrets、scope、tool policy 怎么执行?

如果一个系统只能回答“prompt 怎么写”,但不能回答以上问题,它还不是可靠的 agent 协作控制平面。

下一步阅读

读完或填完这份文档后,通常继续看: