系列专栏

Agent 系统设计解剖

十套真实系统,一篇控制权聚合

共 11 篇 · 约 147 分钟

Agent 不是一种产品。

同样叫 Agent,有的核心是一条十几行的 model/tool loop,有的是确定性 workflow 中的一小段概率支线;有的把状态放进事件树,有的把身份放进常驻 Gateway;有的给模型一台完整电脑,有的反而通过 schema、表单和人工 commit,拒绝让模型获得不必要的控制权。

这个专栏不做功能排行,也不把“更自治”当作“更先进”。

十篇个案都按同一研究纪律完成:

  • 固定 release、commit 或研究日文档边界;
  • 分别研究 Agent、系统与产品架构;
  • 区分当前事实、推论、未来路线与闭源缺口;
  • 追踪状态、权限、身份、恢复、并发和副作用所有者;
  • 交付可编辑 Excalidraw、SVG、PNG 与阅读指南;
  • 用一个可验证失败路径测试系统边界。

阅读路径从两个 coding harness 的反差开始,经协议控制面、计算机身体、确定性 workflow、身份 Gateway 和窄 AI,进入两种垂直组织,最后落到事件运行时与聚合篇:

  1. Claude Code:扩展语义与渐进式控制
  2. Pi:最小内核与责任外移
  3. Codex:协议化内核与多 Surface 控制面
  4. Manus:给 Agent 一台电脑
  5. n8n:确定性外骨骼、队列与副作用
  6. OpenClaw:常驻身份网关
  7. TaxHacker:拒绝成为 Agent 的窄 AI
  8. OpenMontage:Instructions as Code 与工件生产线
  9. TradingAgents:多 Agent 辩论与相关性风险
  10. OpenHands:无状态 Agent 与事件运行时
  11. 聚合篇:Agent 如何重新分配控制权、状态、身份与副作用

建议按顺序读。若你正在设计一个新 Agent,也可以直接从第 11 篇的形态决策树进入,再回到对应个案核验证据。

目录

建议按序阅读
  1. Claude Code 的扩展语法:一条仓库修改怎样逐级获得控制

    以 Claude Code v2.1.224 为证据边界,沿仓库修改控制链拆解 CLAUDE.md、Skill、MCP、Hook、permission、sandbox、subagent 与 worktree。文章区分软语境、能力接口、确定性拦截和文件隔离,说明模型何时拥有下一步,代码、操作系统、测试与人在何处接管后果。

  2. Pi 的减法:最小 Agent Kernel 保留什么,责任又去了哪里

    以 Pi v0.84.1 源码为证据,沿 agent loop、默认四工具、JSONL session tree 与 extension seam 反推最小 Agent kernel。文章审计 Pi 省略 Plan、MCP、subagent、permission 和 sandbox 后,安全、一致性和恢复责任的去向。

  3. Codex 的协议化内核:第二个 Surface 不该复制第一个 Agent

    以 Codex 0.147.0、App Server 契约和 Rust core 为证据,拆开 Thread、Turn、Item 与 Submission、Event 两层协议。文章解释多种客户端如何共享 Agent loop、状态与治理,并厘清 approval、sandbox、持久化与产品 Surface 的边界。

  4. 给 Agent 一台电脑之后:Manus 如何把回复变成交付物

    基于 Manus 2026-08-07 第一方资料,拆开临时 Sandbox、持久 Cloud Computer、Cloud Browser、Browser Operator 与 Wide Research。文章解释计算机如何把回复升级为可验收工件和持续服务,也说明登录态、外部副作用与恢复责任为何仍在 VM 边界外。

  5. n8n 的确定性外骨骼:Queue、Worker 与副作用从不承诺 Exactly-Once

    以 n8n 2.33.6 源码追踪一次执行如何跨主进程、Redis 队列、工作进程与 Postgres 流动,并拆开工作流图与 Agent 节点的控制边界。文章解释等待、重试、崩溃恢复、幂等键和对账各自解决什么,以及 queue mode 为什么只能扩大吞吐,不能承诺 exactly-once 副作用。

  6. OpenClaw 的常驻网关:连续性不是把所有消息塞进同一会话

    以 OpenClaw v2026.7.1-2 为样本,追踪消息如何经过渠道准入、binding、agent 与 session key,解释跨渠道连续性的身份维度。文章拆开 Gateway、模型、workspace、sandbox 与设备节点,并用跨账户串线反例说明常驻 Agent 的权限、凭据、注入与撤销边界。

  7. 拒绝成为 Agent:TaxHacker 为什么把 LLM 压缩成一个函数

    以 TaxHacker v0.8.5 为样本,追踪票据如何经过多模态抽取、provider fallback、动态 schema、表单校验、重复检查与人工保存,解释何时应把 LLM 限制成结构化函数。文章区分结构有效、事实正确与会计记录,并揭示 compatible 路径、前四页预览、缓存候选和金融数据的边界。

  8. Instructions as Code:OpenMontage 如何用工件契约编排视频生产

    以 OpenMontage 固定提交为样本,沿脚本、分镜、素材、剪辑、渲染与导出追踪规范工件,解释 coding assistant 如何用 YAML 和 Skill 驱动生产。文章拆开 tool、checkpoint、validator 与人工门,并以无音轨成片和付费素材崩溃检验恢复、成本、版权及发布边界。

  9. 多 Agent 辩论真的增加了信息吗:TradingAgents 的组织图与相关性风险

    以 TradingAgents v0.3.1 与论文 v7 为样本,把分析师、牛熊辩手、交易员、风险声部和组合经理还原成真实 LangGraph。文章区分角色多样性与证据独立性,核验串行分析、共享模型、时间截点、checkpoint 和反思记忆,并以相关性、消融及外部执行成本检验多 Agent 辩论是否真正增加信息。

  10. Conversation as Database:OpenHands 的无状态 Agent 与事件运行时

    以 OpenHands SDK v1.41.0 为样本,沿事件链拆解无状态 step、Conversation 与 local/remote workspace。文章区分 event log、覆盖式 base state、派生 view 和外部世界,并以崩溃路径说明内部可回放为何仍不等于副作用恰好一次。

  11. Agent 不是一种产品:十套系统如何重新分配控制权、状态、身份与副作用

    基于十篇个案,以控制权、状态、执行身体、强制层和产品表面五个所有权问题,推导 bounded function、workflow、harness、event platform、gateway/computer 与 vertical organization 六种形态,并给出副作用宪法、五层停止协议和选型树。