Article Share

对谈来新璐:Claude Code 源码泄露之后,真正值得学的是什么

一个写了五万星教程的工程师,把 Harness 从概念拆回工程现场

发布于 8 分钟阅读
目录
阅读模式

问这篇文章

只基于本文回答

一句话总结:来新璐用「执行 / 上下文 / 编排」三层切开 Harness,给出两条判断好坏的硬尺子——与模型当下运行自洽、与模型未来进步正交;同时还原了 Claude Code 源码里真正值钱的细节:双 hook 记忆、压缩交接、CLI 压过 MCP 的语料密度。


开场

Claude Code 的源代码被泄露之后,朋友圈一夜冒出几十篇拆解文。Anthropic 紧接着又发了 Managed Agents,把自家这套 Harness 直接打包给开发者。两件事撞到一起,问题就变得尖锐:开发者还要不要自己搭 Harness?产品经理还要不要懂这层底层细节?

这一期十字路口的对谈嘉宾是来新璐,C2AI 的创始人。九个月前他把 Claude Code 的设计拆成一份开源教程 Learn Claude Code,到对谈这一刻已经攒下五万颗星。他自己又在做名字叫 1KB Computer 的工具链——给 Agent 配一台跑在内存里的虚拟 UNIX。

聊 Harness 的人很多,但能同时站在「教程作者 / Infra 创业者 / Anthropic 源码阅读者」三个视角的人不多。所以他的拆法值得听。

那么 Claude Code 这次泄露真正值钱的是什么?开发者该用什么尺子判断一个 Harness 的好坏?答案是一句话:Harness 不是工具集,是模型的延伸;判断它好不好,看的不是层数多少,而是它是否与模型自洽、是否随模型变强而变强。下面分三层展开。

金字塔总览


一、三层切分:来新璐版的 Harness 解剖

来新璐对 Harness 的拆法很直接:模型以外都是 Harness。如果把模型比作聪明但没手脚的大脑,Harness 就是让它能动起来的机甲。

在这副机甲里,他切了三层。

1.1 执行能力层:给模型配 Action

最底层,就是工具——文件增删读写、Bash 命令、浏览器操作、语言解释器。绝大多数 Agent 任务,无论是 coding 还是 deep research,靠这三组工具就能覆盖 95% 的场景。

但这一层有个反直觉的坑:工具的设计必须紧贴 Agent 的角色,而不是配得越多越好。他举的例子是测试 Agent——绝不能给它写代码的权限,否则它会一边测一边偷偷改代码,最后所有测试都「奇迹般」通过了。

1.2 上下文环境层:模型的工作空间

第二层是上下文——系统提示词、Skills、Memory、当前工作目录、依赖信息、git 状态。这层有个常被忽略的细节:模型的上下文窗口不是无限的,长任务必然会装满。

装满之后呢?需要把当前进度写成文档,让下一个 Agent 接力。「你以为还是那个 Agent 在工作,其实已经是一个新的模型窗口,再装上一些初始化上下文,让它继续上一个窗口里在进行的工作。」每一次窗口切换,本质上都是一次接力赛跑。

1.3 编排治理层:Agent 之间的组织架构

第三层处理的是多 Agent 协作。一旦你面对的不是一个 Agent,而是一百个,问题就从「怎么用工具」变成了「怎么管员工」——按什么组织架构协作、按什么顺序传递、每个角色给什么权限。

来新璐用「两周 100 个 Agent 从零造一个 C 编译器」当例子串这三层:底层得有文件增删读写让模型能写代码;中间层得让每个 Agent 知道环境、能在窗口爆满时把状态委托给下一个;顶层得管住测试 Agent 不去改代码、并行 Agent 之间不打架。

金句:你以为还是那个 Agent 在工作,其实是一场新的接力赛——上一棒交什么、不交什么,下一棒读什么、按需查什么,里面全是 trade-off。


二、两把硬尺子:怎么判断一个 Harness 好不好

这是来新璐这次给出的最锋利的两句判断。短,但很刀子。

2.1 第一把尺子:与模型当下的运行自洽

最典型的反例是「为了优化上下文而瞎管理」——你以为自己在做精细化,其实在破坏 KV cache。

「过去一到两年,我发现很多开发者非常关心上下文的管理,其实最好的管理就是不要做管理。」他这句话杀伤力很强:你随手扔掉前面几轮、随意改写系统提示词,就直接让模型 prompt caching 失效,下一次推理整个上下文要从头重算。

自洽,意味着你的 Harness 要顺着模型的工作机理,而不是逆着它走。

2.2 第二把尺子:与模型未来的进步正交

很多 Harness 设计当年是合理的——比如 LangGraph 那种「一个 node 一个 node 串 prompt」的状态图。原因是当时模型能力弱,只能做几轮简单工具调用就停下来,必须靠人在外面写 if/else 给它兜底。

但模型变强之后,这种结构就变成枷锁。模型越强,你的 Harness 反而越束缚模型——这就是不正交。

正交的 Harness 应该是这样:模型变强,Agent 整体能力跟着变强,而不是需要你不断推倒重来。

金句:好的 Harness 有两条命脉——一条往下扎到模型当下怎么跑,一条往上对齐模型未来怎么变。两条都断的,叫”过时的 Harness”。

2.3 用这两把尺子重新看派系之争

带着这两把尺子回头看,「Bash is all you need」凭什么压过 MCP就变得清楚了。

MCP 是 2024 年才提出的新协议,预训练语料里占比可能不到 0.01%。Bash / UNIX 命令出现于 1971 年,预训练里有几十亿条样本。来新璐自己换过——一开始装 GitHub MCP 干活,后来发现换成 gh CLI,任务成功率高出一大截。

「我们不应该再造更多的轮子,不应该做更多的协议。」回到 UNIX,回到 LLM 训得最熟的那套自洽哲学——这两把尺子同时支持这个选择。


三、源码泄露真正值钱的细节

聊到 Claude Code 源码这一段,来新璐讲了几个外面拆解文里很少展开的工程细节。

3.1 双 hook 的记忆机制:实时 + 做梦

Claude Code 里 Memory 是靠两套机制更新的,不是一套。

第一套是实时:每次 Agent 完成一轮回复,会触发一个叫 stop 的 hook,hook 上挂了一个 fork agent——它会复用之前的 KV cache 来判断”这一轮里有什么信息值得保存”,写进对应的 Markdown。

第二套是做梦:每隔大约一天、积累到至少 5 个 session 时触发一次。后台 Agent 把最近这些 session 重放一遍,做更深一层的整理——提取信息、纠正过时事实、合并冗余记忆。

「就像我们做梦一样,做重放,做信息整理。」这套设计很有趣的一点是:所有 Markdown 文件本身都是结构化的——前三行 YAML frontmatter、写好 description,加载时只先读文件名和描述,按需展开正文。和 Skills 走的是同一套哲学。

3.2 压缩交接:装满之后怎么传棒

256K 的上下文其实能装很多东西。真正的难题不是窗口够不够大,是装满之后,下一棒怎么接

Claude Code 的做法是分级的:

  • 阈值压缩:到 0.8 时就主动留 20% 空间,写交接文档——目前进度、用户的整体目标、下一步要做什么。
  • 垃圾清理:识别哪些工具 output 已经不需要、可以剔除,腾出几十 K 空间继续干。
  • 按需查看:哪些信息全文带过去、哪些只留索引让下一个 Agent 自己去查。

每一条都是 trade-off。这是 Anthropic 在工程兜底上花最多功夫的地方,也是后入场的同行最容易抄漏的部分。

3.3 模型才是 Agent

读完源码,来新璐反复强调一个直觉:Claude Code 的所有设计,都是「给模型更多 context、更多 action,几乎不做 control」

「在 0 control,最多就是限制你调工具的时候,有些工具不能调。」之前那些把 Agent 拆成几十个 prompt node 的做法——本质是程序员替模型在每一步做决策。Claude Code 完全反过来:把决策权全部还给模型,自己只负责把环境、工具、上下文备齐。

这跟 Manus 一年多前就在讲的「less control, more context」对得上。之前没想通为什么的人,换到模型的视角就清楚了:模型是自回归的,你每多一层 control,就多一道写死的栅栏挡在它前面。

金句:所有”奇怪的最佳实践”,只要你换到模型的视角,就立刻 make sense——它原本就是从模型怎么跑反推出来的。


一页速览

章节关键观点一句话核心
一、三层切分执行 / 上下文 / 编排Harness 是机甲,模型是大脑——三层都为模型服务
1.1 执行层工具配多不如配准工具权限要紧贴 Agent 角色,别给测试 Agent 写代码权限
1.2 上下文层窗口满了就接力256K 不是无限——满了写交接、下一棒读文档
1.3 编排层100 个 Agent 等于 100 个员工组织架构 + 权限治理才能让多 Agent 不打架
二、两把尺子自洽 + 正交好 Harness 要顺着模型当下跑,也要跟得上模型未来变
2.1 自洽别瞎管理上下文最好的上下文管理是不管理——别动 KV cache
2.2 正交模型越强 Harness 越好用LangGraph 那种状态图正在变成枷锁
2.3 派系之争Bash > MCP几十亿条 UNIX 语料 vs 不到 0.01% 的 MCP 语料
三、源码细节真正值钱的不是结构双 hook 记忆 + 压缩交接 + 模型才是 Agent
3.1 记忆stop hook + auto dream实时写一次、定期做梦再整理一次
3.2 压缩阈值 + 清理 + 按需装满前 20% 就该写交接,不是装爆才补救
3.3 哲学more context, zero control决策权交还给模型,自己只负责备齐环境

一句话收束

Harness 设计不需要你比模型聪明——它只需要你比模型更耐心地准备好它需要的一切,然后让开。

引用卡片

带走这篇文章的核心观点

可引用观点

《对谈来新璐:Claude Code 源码泄露之后,真正值得学的是什么》

核心结论:来新璐是 GitHub 五万星教程 Learn Claude Code 的作者。他用「执行 / 上下文 / 编排」三层重新切开 Harness,并给出两条判断好坏的硬尺子——是否与模型当下的运行自洽、是否与模型未来的进步正交。源码泄露带出的真正惊喜不是结构,而是 Claude Code 的双 hook 记忆与压缩交接策略。

  1. 1 一、三层切分:来新璐版的 Harness 解剖
  2. 2 二、两把硬尺子:怎么判断一个 Harness 好不好
  3. 3 三、源码泄露真正值钱的细节

适合转发到飞书、微信、即刻或笔记工具;引用时建议保留作者 kele 与原文链接。

分享这篇
对谈来新璐:Claude Code 源码泄露之后,真正值得学的是什么 分享卡片

微信暂不支持网页直接分享——复制链接后到对话里粘贴即可。链接在微信中预览会带上面的卡片缩略图。

同源精读 · Koji杨远骋at十字路口 全部内容源 →

我精读过这位作者的其他 2 篇——同口味、相邻知识脉络。

相关文章