Claude 源码里面的Harness 约束流光八点半

Claude 源码里面的Harness 约束

19分钟 ·
播放数3
·
评论数0

欢迎收听本期播客,今天我们将深入探讨一份独特的技术文献——《Claude Code Book》。这本书的核心关切并非“模型会不会写代码”,而是当一个不稳定的模型被放进真实的终端、仓库和团队流程时,如何通过一套严密的工程秩序让它不把系统带偏

在本期节目中,我们将带你领略以下核心内容:

  • Harness Engineering(约束工程)的崛起: 源码告诉我们,一个代理(Agent)系统的体面,不在于它多会说话,而在于它出了岔子以后,谁能把残局接住。作者提出了一个极具冲击力的立场:系统优先,模型第二 (System First, Model Second)。因为模型本质上是不稳定的部件,系统必须围绕这个事实进行设计。
  • Prompt 不是人格,而是控制平面: 很多人把 Prompt 当成人设装修,但在这套系统中,Prompt 是分层拼装的行为协议和运行时“宪法”,。它规定了权力边界、责任关系以及例外情况的处理,甚至连接着长期记忆治理协议,决定了知识如何沉淀。
  • Query Loop:代理系统的心跳: 一个代理系统是否成熟,关键看它有没有循环。Query Loop(查询循环) 负责在调用模型前进行输入治理,将模型输出视为事件流进行流式消费,并确保在中断时补齐执行账本,维持因果闭环。
  • 工具治理:为什么模型不能直接碰世界: 工具不是意见,而是动作,动作会留下不可逆的后果。在源码中,工具被建模为受管执行接口,必须服从调度纪律和严格的权限判定(Allow/Deny/Ask)。特别是对于像 Bash 这样高风险的通用工具,必须配以最细、最高密度的规约约束。
  • 错误与恢复:将失败视为“主路径”: 工程世界没有“正常情况下”,只有“必然发生的失败”。无论是上下文超限还是输出截断,成熟的系统会通过分层恢复路径(如响应式压缩 Compact 或断点续写)来确保任务的连续性,而不是只会道歉。
  • 多代理与验证:不确定性的分区: 当任务变大,系统会通过 Forked Agent 隔离局部混乱,将研究、实现与验证职责分区。最关键的一点是:验证必须独立成阶段,严防“实现完成”冒充“问题解决”,绝不能让系统自己给自己打分。

《Claude Code Book》最终提炼出了十条工程原则,其精髓在于:Harness 决定它怎么做事,制度比聪明更重要。如果你正在尝试将不稳定的模型接入真实工作流,那么这套关于约束、循环、权限与验证的工程方法论,将是你从“做 Demo”走向“做系统”的必经之路。

Harness Engineering 十条原则:

1. 把模型当不稳定部件。

2. Prompt 是控制面的一部分。

3. Query loop 才是系统心跳。

4. 工具是受管执行接口。

5. 上下文是工作内存。

6. 错误路径就是主路径。

7. 恢复的目标是继续工作。

8. 多代理的意义是分区不确定性。

9. 验证必须独立。

10. 团队制度比个人技巧重要。