HARNESS / 代理工程下载 EPUB ↓
9 / 32

第八章:横向比较的单位应当是工程问题

8.1 不把四条主路径压成同一个函数

四套系统都连接模型与工具,但它们的对象层级、扩展方式和部署关注不同。Claude Code 快照中可观察到多类型事件交付与独立工具执行器;DeepSeek Harness 强调日志派生视图和插件作用域;Pi 提供可组合的代理与模型流接口;Codex 则呈现输入通道、步骤上下文与执行编排的清楚边界。

这组描述适合作为读书路线,不是给项目排座次。要比较某项能力,应拿相同任务、相同资源范围和相近故障条件来观察。单看代码行数,既无法证明可靠性,也无法说明维护成本。

8.2 用决策矩阵代替标签

工程问题 从哪里获取启发 自己实现时要付出的成本
希望独立测试循环 Pi 的模型流注入 定义稳定协议与错误契约
希望从日志重建视图 DeepSeek 的 Session 与投影 事件版本、迁移与投影一致性
希望流式展示工具进度 Claude 的执行器状态 进度、最终结果与取消分离
希望执行边界可解释 Codex 的路由与编排器 权限、运行时与审批的关联

每一项也可能在其他项目找到相似设计。矩阵表达“哪里最适合从本书继续阅读”,不表达某个项目独占某项能力。

8.3 容易做出的三种错误结论

第一种是“存在钩子,所以有沙箱”。钩子只说明宿主有机会检查,是否能在操作系统层限制文件与网络,需要看执行提供方。第二种是“有会话日志,所以可以安全恢复任何工具”。日志只记录已知事实,无法自动消除外部副作用的不确定性。第三种是“支持并行,所以更快”。收益取决于独立工作比例、外部资源限额和结果提交成本。

对这三种说法,都可以提出一个反例:直接绕过钩子调用函数、写入完成后日志未落盘、两个写工具竞争同一文件。架构研究有价值的地方,就是找出设计在这些条件下给了什么保证。

8.4 用一份决策记录结束比较

假设团队只需一个单人、只读的仓库问答工具,模型接口可替换、明确的读取边界与可靠错误结果可能就足够。此时复制一个完整插件容器会增加学习与运维成本。

若团队需要远程执行、可恢复的长期任务和第三方扩展,生命周期、会话协议、能力提供方及执行隔离就变成核心需求。你需要更多结构,不是因为结构本身高级,而是因为故障和协作需求已经要求这些边界。

建议每次比较写一页记录:当前任务、约束、候选方案、采用理由、牺牲的能力以及以后重新决策的触发条件。这样源码研究才能转化为自己的工程选择,而不止是收藏一张漂亮架构图。

非官方学习读物 · 固定源码快照 · 原始代码保留各自许可。GitHub · 源码依据 · 实验代码