Skip to content

序言:两套 Harness,不必假装是同一匹马的附件 ​

出处

来源:原网页 · 状态:已读 · PDF:book2-comparing.pdf p.6–7

一句话 ​

工具栏名词相同,不代表骨头相同。 两边都写技能、沙箱、子代理,不能说明它们按同一条河修桥。共同点不是都会调工具,而是都不肯把模型当可以放任自流的部件。

核心概念 ​

比较两套 AI coding harness,最容易犯的错误是拿功能对照表当思想史。左边有技能,右边也有技能;左边有沙箱,右边也有沙箱。这样写省事,几乎什么也没说。书要比较的是骨头,而不只是名字。

Claude Code 和 Codex 都属于已经不满足于「让模型多说两句」的系统。它们把模型放进终端、文件系统、权限、工具调用、团队规范、长会话和恢复路径。到这一步,成败往往不再取决于模型,而取决于外面那套约束装置——harness。

前作是对 Claude Code 的单体解剖。这本书补上对照:和另一个同样认真、长法不同的系统并置后,许多看似自然的设计才会露出不过是某条工程路径的选择。

Codex 值得对照,正因为不是复制品。从 core/src/lib.rs 就能感到明确意志:把 thread、rollout、state bridge、instructions、skills、hooks、sandboxing、exec policy、tools 拆成模块,让控制层变成可组合、可导入、可序列化、可策略化的器官,而不是埋在一团运行时直觉里。

Claude Code 更像在主循环压力下被塑出来。看 src/query.ts 及其 compact、工具编排、权限、中断与恢复,精华多半落在本轮如何接到下一轮:harness 先得连续运转,再谈把规则拆漂亮。

两者都承认模型不可靠。因此不能把它当天然可信的执行体,不能让它在无边界条件下操作 shell、文件和网络,也不能指望一时聪明维持长会话秩序。承认这一点后,系统迟早会补上 prompt 分层、状态持久化、权限控制、上下文治理、失败恢复、验证机制和本地制度;只是器官位置不必相同。

边界:不提供源码副本,也不大段转录实现。讨论的是系统怎样思考自己。

关键洞察 ​

Claude Code 从运行时纪律出发:担心会话怎么断、工具怎么串、compact 怎么救、用户怎么插话、子代理怎么收尾。带着做过脏活的现实感,把本该靠「聪明」解决的问题提前交给控制流和恢复流。

Codex 从结构化控制层出发:把 instruction fragment、thread、approval policy、tool schema、hook event、exec policy 尽量明说,做成强命名、强边界、强配置的装置。它不相信默契,宁可多定义几个类型。

两条路都合理,合理处不同。这不是谁输谁赢。工程上真正有价值的比较,是识别路径依赖:用什么结构去承认模型不可靠,就会长出什么样的 harness;控制权放在哪一层,系统以后就围着哪一层长肉。与其问有没有最佳实践(问得像买厨具),不如问:主要不确定性在哪,准备把秩序安放在哪。

文末日期 2026.04.01,作者加了一句「Claude Code 源码泄漏的愚人节」——当玩笑读,不影响论点。

个人思考 ​

Book 1 序言已经把立场钉成「Prompt 决定怎么说话,Harness 决定怎么做事」。这篇把同一句话拆成两条演化路径:先把现场救活,还是先把制度写清楚。后面七章都是在展开「秩序住在哪一层」这件事,而不是给两套产品打分。

相关 ​

Copyright © 2026 openalon. All rights reserved.