Claude Code 里的 Harness Engineering 思路
Claude Code 把 MCP、Skills、Hooks 和 Subagents 直接暴露给用户,展示了 Anthropic 如何把 Harness Engineering 做进产品。

Claude Code 的一个有趣之处,是它把“怎么让模型干活”这件事摆到了台面上。Anthropic 没把它做成一个黑盒聊天框,而是把 MCP、Skills、Hooks 和 Subagents 这些机制一起交给用户,等于直接展示了自己的 Harness 设计。
这件事值得认真看,因为它说明了一个很现实的判断:模型能力再强,如果外层执行系统设计得差,最后产出的代码、操作和决策还是会乱。Claude Code 的产品结构,正好给了我们一个观察 Harness Engineering 的窗口。
如果你只把它看成“另一个 AI 编程工具”,会错过重点。它真正有意思的地方,是 Anthropic 把模型、工具调用、权限控制、任务拆分和上下文管理,做成了一套可以配置、可以扩展、也可以审计的工作流。
Claude Code 为什么值得单独拿出来看
Get the latest AI news in your inbox
Weekly picks of model releases, tools, and deep dives — no spam, unsubscribe anytime.
No spam. Unsubscribe at any time.
Claude Code 不是单纯把 Claude 接到终端里,它更像是一个围绕模型搭起来的执行系统。模型负责理解和生成,外层 Harness 负责把任务拆开、把工具接上、把风险压住,再把结果送回去继续迭代。

这种设计和传统 IDE 插件很不一样。很多工具只是把自然语言提示塞进模型,再把输出贴回编辑器;Claude Code 则更接近“模型驱动的操作系统外壳”,它把上下文、工具、权限和子任务都纳入同一条链路里。
从产品角度看,这种结构有两个直接好处。第一,用户能更清楚地知道模型到底调用了什么。第二,团队能把最佳实践固化成默认行为,而不是指望每个人都写出同样好的提示词。
这也是为什么 Claude Code 的设计会被反复讨论。它不只是一个编程助手,更像 Anthropic 在公开演示自己如何理解 Harness Engineering。
- MCP 让 Claude Code 能接入外部工具和数据源,减少每次都手工拼接上下文的成本。
- Skills 让常见任务可以被打包成可复用能力,避免每个项目都从零开始写提示。
- Hooks 允许在关键节点插入自动检查或动作,适合做审计、权限确认和质量控制。
- Subagents 把复杂任务拆给不同角色处理,减少一个上下文里塞太多目标带来的混乱。
Harness Engineering 到底在解决什么问题
Anthropic 研究员 Mike Conover 在讨论系统设计时多次强调,真正难的不是让模型“会说”,而是让它在真实任务里稳定地“会做”。这类观点在 Anthropic 的公开材料里非常一致:模型能力只是起点,外层执行系统才决定它能不能进入生产环境。
这里可以顺手对比一下。一个纯提示词驱动的工作流,通常只有“输入问题、输出答案”这一步;一个更成熟的 Harness,会把工具调用、状态保存、错误恢复和权限边界都纳入流程。前者适合演示,后者才适合长期使用。
“The most important thing we can do is make AI systems that are helpful, harmless, and honest.” — Dario Amodei
这句来自 Anthropic CEO Dario Amodei 的公开表述,放在 Claude Code 里尤其贴切。因为所谓 helpful、harmless、honest,不是靠一句系统提示就能实现的,它需要工具层、任务层和权限层一起工作。
换句话说,Harness Engineering 关注的是“模型如何在受控环境里完成工作”。这和单纯追求更大模型参数不是一回事。一个好 Harness 可以让中等能力模型做得更稳,也能让强模型少犯低级错误。
Claude Code 把这个思路产品化了。它不是把复杂性藏起来,而是把复杂性拆成几个可管理的接口,用户可以按任务需要选择启用哪些能力。
MCP、Skills、Hooks、Subagents 的分工
如果把 Claude Code 的设计拆开看,这四个机制其实分工很明确。MCP 负责外部连接,Skills 负责能力封装,Hooks 负责流程控制,Subagents 负责任务分解。它们不是重复建设,而是在不同层次上处理同一个问题:让模型在真实工作流里更可靠。

MCP 的意义尤其大。它把“接什么工具、读什么数据”从应用内部逻辑里抽出来,变成标准协议。对开发者来说,这意味着接入 Git、数据库、内部知识库或部署系统时,不必每次都重新发明一套接口。
Skills 更像可复用的任务模板。比如代码审查、文档整理、测试生成、迁移脚本,这些高频动作都可以被封装成明确的技能包。这样做的好处是输出风格更稳定,团队协作时也更容易统一标准。
Hooks 则是安全和治理的抓手。比如在执行高风险操作前弹出确认,或者在输出前做静态检查,这些都属于 Hook 能覆盖的范围。它让模型不只是“会做”,还要“按规则做”。
Subagents 解决的是长任务的上下文膨胀问题。一个代理同时负责规划、搜索、编辑、验证时,很容易把注意力分散掉。拆成多个子代理后,每个角色只盯一小块,整体稳定性通常会更高。
- MCP 解决工具接入标准化问题。
- Skills 解决任务复用问题。
- Hooks 解决流程控制和审计问题。
- Subagents 解决复杂任务拆分问题。
和其他 AI 编程工具相比,它强在哪
把 Claude Code 和一些常见 AI 编程工具放在一起看,差异会更明显。很多工具更像“增强版聊天窗口”,重点在生成速度和交互顺滑度;Claude Code 更像“可编排的执行层”,重点在任务治理和系统集成。
从实际能力看,这种差异会体现在几个地方。第一,Claude Code 更适合接入企业内部工具链。第二,它更容易把流程固定下来,减少不同成员之间的用法差异。第三,它更适合做可审计的自动化动作,而不是只做一次性问答。
如果只看表层体验,用户可能会觉得这些机制有点“工程化”,没有那么轻巧。但从长期维护角度看,工程化恰恰是优势。模型工具一旦进入团队协作和生产流程,最怕的就是不可预测。
可以把差异概括成下面几组:
- 普通聊天式工具:更像单次问答,适合探索和草稿。
- IDE 内插件:更像编辑器增强,适合局部补全和改写。
- Claude Code:更像任务执行框架,适合把模型放进真实工作流。
- 企业代理平台:更像统一编排层,适合跨系统自动化和权限管理。
这里还有一个很现实的判断:当模型能力趋于接近时,真正拉开差距的往往是 Harness。谁能更好地组织上下文、接入工具、控制风险,谁就更容易把模型能力变成可交付结果。
结语:Claude Code 透露了什么信号
Claude Code 让人看到的,不只是 Anthropic 的产品思路,还有一个更大的趋势:未来的 AI 工具竞争,可能越来越像“谁的执行系统更成熟”,而不是“谁的模型回答更会说话”。
如果你在做 AI 产品、企业自动化,或者内部开发工具,接下来最值得问的问题不是“模型还能多聪明”,而是“我有没有把工具接入、权限边界、任务拆分和审计机制设计好”。Claude Code 已经把答案写在产品里了。
我的判断很直接:接下来真正有价值的 AI 编程工具,会越来越像 Claude Code 这样,把 Harness 当成产品的一部分,而不是藏在后台的实现细节。你如果还在用“一个提示词解决所有问题”的思路做工具,迟早会遇到稳定性和治理上的天花板。
// Related Articles
- [TOOLS]
Why Gemini API pricing is cheaper than it looks
- [TOOLS]
Why VidHub 会员互通不是“买一次全设备通用”
- [TOOLS]
Why Bun’s Zig-to-Rust experiment is the right move
- [TOOLS]
Why OpenAI API pricing is a product strategy, not a footnote
- [TOOLS]
Why Claude Code’s prompt design beats IDE copilots
- [TOOLS]
Why Databricks Model Serving is the right default for production infe…