乐于分享
好东西不私藏

别学歪了,从泄漏的 CC 源码看 Harness 才是硬道理

别学歪了,从泄漏的 CC 源码看 Harness 才是硬道理

最近看了很多 Agent 和 Harness 相关的资料,因为墨问最近要做这方面的研发探索,上周分享了自己在看的学习网站和两个 pdf,没想转发 2000+,近期最高:可能是最好的免费在线实战课程:Learn…

看了不少相关的文档,包括通过 Claude Code 源代码分析学习 Harness 到底是啥……最终我发现,从 Agent 流行开始,LLM + Agent + Harness 就一直相伴而行。Agent 去年大火,钱都赚了上百亿美金了,为啥 harness 现在才冒出来?这方面我也糊涂着呢,2026 年刚开始用 CC 和龙虾做东西,新概念又来了。那就搂草打兔子,一起学和用呗。

harness 是什么呢?是一个概念,也一套技术框架,它是套在模型外面的一整套“驾驶系统”

举例来说,模型就是发动机,最重要,但光有发动机,不管你是车还是飞机,都跑不起来。Agent 也是一样,harness 是方向盘、刹车、仪表盘、导航、自动纠错、维修手册,外加一个副驾。当你为一个 Agent 付费的时候,这些就像大佬卖电动车一样,附送的。方向盘附送、刹车、仪表盘、导航附送……其实就是 harness 附送。

事实上,没有这些约束和规则,模型再聪明,也很难稳定地把一件复杂的长任务做完。

比如一个 Coding Agent(CC,TRAE,Codex 等) 要改代码,harness 会管这些事:做计划、写代码、测试、失败了要不要重试、上下文太长了怎么压缩、多 agent 怎么分工、哪些操作需要批准、怎么把中间结果存到文件系统里等等。Anthropic、OpenAI、Cursor 等厂商 2026 年都开始普及 harness 了,我的猜测是:模型能力的进步没那么快了,得卷工程,也就是运行时能力。

上个月 Claude Code 源代码不是泄漏了吗?很多人根据源代码让 AI 提取了很多相关内容学习,其中最全面的可能是这本开源书:

https://zhanghandong.github.io/harness-engineering-from-cc-to-ai-coding/

作者认为,Claude Code 源码最佳的“食用”方式应该是转化为一本书,供自己系统学习。显然,看书学习比直接看源码更舒服,也更容易形成完整的认知框架。

这本开源书就是作者从 Claude Code 泄漏出来的 TypeScript 源码里提取出来的内容,内容涉及 Claude Code 的每一个子系统——工具注册、Agent Loop、系统提示词、上下文压缩、提示词缓存、权限安全、技能系统。这些分析揭示了大量的实现细节,并且提炼出了 6 条 harness 工程核心原则。每条原则都有明确的源码回溯、适用场景和反模式警示。这些原则的共同主题是:在 AI Agent 系统中,控制行为的最佳方式就是设计更好的约束。

即便换了不同的大模型,我们依然会觉得 Claude Code 很好用,就是因为 A 厂这套外骨骼做得很好。

同一个模型,给它不同的 harness,表现可能差很多。并且,不同模型对同一提示的反应方式不同,有的偏爱 shell,有的需要被明确提醒去跑 linter,所以现在很多工具,比如 Claude Code、Cursor 等都会给不同的模型调用不同的 instructions 和 tools。

harness 的设计会显著影响长任务 agent 的效果。

2025 年大家都知道 Agent 能干活了,但为什么这货有时候特别能干,有时候又会失忆一样发生死循环、代码库搞的乱七八糟等等,这时候 harness 就从幕后走到台前了。大概是这么个逻辑。当然了,这和善于制定概念的 A 厂不无关系,MCP、Skill 都是他们搞出来的。

最近 Anthropic 连续发表了 context engineering、long-running harness、long-running app harness、managed agents 等文章,就是在系统化讨论这个层面的问题。

Harness 的四个典型作用:

第一,让 Agent 能连续工作

Agent 能持续工作就是循环,Agent 之所以从“会说”变成“会做”,是因为模型输出能走到工具,工具结果又能回到下一轮模型输入。

大概是这样:messages -> model -> tool_result -> next turn

第二,让 Agent 稳定运行

比如跑完代码自动 typecheck,测试失败自动回滚或继续修改,发现上下文太长就压缩,切新会话时把关键信息留到文件里。Cursor 的 plan、rules、skills、hooks,本质都在干这件事。

第三,让 Agent 能用更多的工具和外部系统

比如浏览器、终端、文件系统、MCP、Slack、数据库。没有 harness,这些工具只是散落的接口;有了 harness,它们才会变成一条完整工作流,核心就是让 agent 更高效地处理大规模工具集。

第四,让多 Agent 协作变得可控

用过 Claude Code 的 agent team 模式的一定会震惊这种工作方式,其中 Harness 功不可没。谁分配任务,谁执行,谁汇总,状态怎么传递,出错了谁来兜底,这些可不是模型天然就会的,而是 harness 设计出来的。

“harness”并不是新词,最常见的就是 test harness,意思是围绕被测程序的一套支撑代码和工具环境,上个世界七八十年代软件工程兴起的时候就这么用了。

“agent harness”作为 AI 圈里的显性概念,是 2025 下半年到 2026 年才真正成形和出圈的。其实主要也是海外 AI 几个大厂在制造概念,一贯如此。

2024 年 Anthropic 讲的是“building effective agents”;

2025 年 OpenAI 发布 Responses API 和 Agents SDK,Anthropic 开始系统讲 Claude Code、multi-agent、context engineering、long-running harness;

到 2026 年,Cursor、Anthropic、LangChain、Martin Fowler 都开始直接使用 “agent harness / harness engineering” 这套说法。

如果你想设计自己的 Agent,理解 Agent 的运行机制,这本书也值得同时阅读,墨问的新产品特性,也会与此有关,敬请期待。