来源:十字路口播客 ·「探秘 Claude Code,搞懂 Agent Harness|对谈来新璐」 主持:柯瑞 嘉宾:来新璐(23岁,河南工业大学毕业,CLAI创始人,Learn Claude Code开源教程作者,GitHub超5万星)
本文整理自十字路口播客节目。来新璐在Claude Code源代码泄露后,创建了解析Claude Code Agent设计模式的教程仓库Learn Claude Code,目前在GitHub上已获得超过5万颗星。以下内容按主题组织,每个主题包含「新的变化」和「嘉宾观点与解释」两个维度,力求让未观看视频的读者快速理解核心内容。
一、Claude Code源码泄露:Agent Harness的最佳教学样本
新的变化
Claude Code的源代码被泄露,使得许多Agent Harness的关键模块被完整地呈现出来,成为了开发者社区中极为珍贵的教学样本。在此之前,Agent Harness一直是一个模糊而神秘的词——很多人在讨论"Agent的上限是由Harness决定的",但没有人能说清楚Harness到底由什么组成、怎么设计。Claude Code作为被广泛公认为"最好的Agent Harness"的产品,其源码泄露让整个行业第一次有机会系统地审视一套成熟Harness的完整设计。
嘉宾观点与解释
来新璐用一个非常生动的比喻来解释Harness:模型就像一个聪明的大脑(智商在120到170之间),但它没有身体和手脚,只能思考,没办法行动。Harness就是给这个大脑配上机甲——让你去健身、学武术、穿上机甲来做业,极大扩充你的能力。
关于"Agent的上限是来自Harness的设计"这句话,来新璐表示"赞成一半":Agent智力的上限提升肯定还是模型层面的发展,模型越聪明肯定越好。但当模型智力已经比较够用时(比如当前主流模型已经相当强大),Harness就成了决定Agent实际能力的关键变量——同样一个模型,配上一套好的Harness和一套差的Harness,实际表现可能天差地别。
来新璐在九个月前创建了Learn Claude Code开源教程仓库,核心目的就是解析Claude Code的Agent设计模式。他的判断是:Claude Code代表了当前最好的Agent Harness实践,通过拆解它的设计,可以让开发者理解Harness的本质——它不是什么玄学,就是软件工程的一些方法。
二、从LangChain到Agent Runtime:Agent开发范式的根本迁移
新的变化
过去两年中,构建Agent的主流方式经历了根本性的范式迁移。以LangChain、LangGraph为代表的旧范式,核心是基于Prompt的节点和流程控制——开发者在每个节点写好Prompt,用状态图(graph)串联起来,控制Agent在每一步的行为。而以Claude Code为代表的新范式,核心是Agent Runtime——模型本身就是Agent,开发者给它充分的上下文和工具,让它自主决策和行动,而不是程序在每一步指定它该干什么。
与此同时,Anthropic在近期推出了Claude Managed Agents服务,将Claude Code自己做Agent Harness的一整套方案打包成了开发者可以直接使用的云服务。这意味着开发者甚至不需要自己搭建Harness就能直接使用Anthropic验证过的方案。
嘉宾观点与解释
来新璐对LangChain/LangGraph这类基于Prompt节点做流转和控制的范式给出了明确判断:"它可能就是未来的Agent开发过程中越来越不适用了。“基于Claude Code这种Agent Runtime——即模型级Agent的这种方法和思想去做事情,会越来越清晰,会被更多人采用。
他将这种范式差异总结为Claude Code的一条核心哲学:“More context, less control, more action”(更多上下文,更少控制,更多行动能力)。
关于Claude Managed Agents是否会让人不再需要了解Harness细节的问题,来新璐给出了一个长远的判断和一个当前的判断:
- 长远来看:一定会有一天Agent Harness像Node.js一样——大部分人不需要知道它内部怎么设计和工作,开箱即用就好。两三年后,Harness可能收敛成非常清晰的、大家直接使用的基础设施。
- 当前来看:现在处于技术变化周期中,“我们今天做创业也好、做产品也好,本质上是在做技术周期里的红利变化”。如果你不了解技术周期变化的内核和本质到底在变什么,很难构建一个贴合这个变化、吃掉红利的产品。这也是来新璐认为今天的产品经理和过去的产品经理不是同一种人的原因——今天的产品经理必须同时理解场景需求和痛点(后者),以及技术上到底在变什么(前者)。
三、Agent Harness的三层架构
新的变化
来新璐将Agent Harness拆解为三个清晰的层次,这三层构成了一个完整的Agent运行系统:
- 第一层:执行能力层(Action Layer)——给模型提供行动能力
- 第二层:上下文环境层(Context/State Layer)——管理模型的状态和记忆
- 第三层:治理编排层(Orchestration/Governance Layer)——管理多Agent之间的协作和权限
嘉宾观点与解释
来新璐用一个具体的例子串起了这三层:曾有一个知名案例是用两周时间协调大量Agent,从零到一构建了一个C编译器。
第一层(执行能力层):Agent至少需要文件增删、读写、搜索等工具能力。这是最基础的一层——模型要有action能力才能写代码、创建文件、修改文件。来新璐认为目前最重要的工具有三类:
- 文件系统工具(增删读写搜索)
- 浏览器层(Browser操作能力)
- 语言解释器层(Python、Node等)
配好这三类工具,大概就能满足95%以上的Agent任务。但他特别强调了一个容易踩的坑:工具链的设计要紧密地跟Agent的角色绑定——比如只负责探索代码库的Agent,不应该配置任何"写"的权限(包括删除、修改),甚至不应该让它操作浏览器或访问特定网域。这本质上是权限管理问题。
第二层(上下文环境层):Agent需要知道自己在一个什么样的环境中工作——当前路径、已安装的依赖、已有的文件结构、Git信息等。更重要的是,当一个复杂任务(比如构建C编译器)远超一个模型的上下文窗口时,如何做上下文的卸载和接力?上下文窗口满了之后,下一个Agent如何接续前一个Agent的工作?这里涉及大量的状态管理工作。
第三层(治理编排层):当你面对的不是单个Agent而是100个Agent时,如何组织它们?哪些环节是串行的、哪些可以并行的?写代码的Agent和测试的Agent之间是什么关系?测试Agent是否应该有权限直接修改代码(这可能导致它在测试不过时直接Hack pass)?这些协调关系和权限治理问题都属于第三层。
四、CLAI的K系列工具链:用数据结构实现一台虚拟Unix计算机
新的变化
来新璐的公司CLAI围绕Agent Harness的三层架构,构建了一套完整的工具链产品线,命名为K系列。其中最核心的产品KCore是一个用数据结构在内存中实现的虚拟Unix计算机,它不是一个传统的沙箱(sandbox),而是用Python(支持WebAssembly时用Rust重写)重新实现Unix的文件系统、进程、网络通信等概念。这使得Agent可以在任何支持JS的场景中运行——浏览器、微信小程序、甚至任何只有几兆大小的环境。
嘉宾观点与解释
来新璐解释了为什么要用数据结构重新实现Unix:因为像Claude Code这类下一代主动式Agent具有自迭代性和成长性,它们需要一个"居住和生活的环境”。Unix的计算机可能就是对Agent最好的居住和生活环境——因为模型在预训练时大量接触的就是Unix环境(命令行、文件系统、网络能力等),它的训练性质与Unix是一致的。如果Agent运行在一个与预训练环境一致的环境中,它的表现会更好。
K系列还包括:
- KRuntime:Agent Runtime层,提供开发者构建Agent对象的接口和语法封装
- KWatch:观测层,记录Agent在什么情况下遇到卡点——是Prompt没设计好、工具没提供到位、还是模型不够强
- KRL:基于观测数据做强化学习训练或上下文层面优化的工具链
关于与AWS AgentCore、阿里云AgentBay等云服务商的区别,来新璐强调:他们的工具链不是为了运行在云上,而是希望在所有能跑JS的场景都能运行——从浏览器到小程序到任何边缘场景。他们的定位类似于上一个时代Vue/React的前端框架层:心智统一、简洁优雅、性能极致。KCore只有一个KB大小。
做了一些trade-off:他们无法运行真实的GCC编译器或浏览器这些需要真实代码执行环境的东西。但他们认为这些本来就不应该塞在Agent本身的环境中,而应该作为独立的局域网服务存在。
五、Agent记忆机制:从规则式到"做梦"
新的变化
Memory这一层目前处于早期阶段。来新璐将记忆方案分为三类:
- 完全规则式:基于知识图谱和向量搜索,将信息抽象成节点并做关联和检索
- 半规则式:底层用Unix文件系统,通过大量Markdown文件存储信息,用Agent驱动更新和查询
- 完全模型驱动式:尚未大规模落地
Claude Code的源码泄露揭示了一套精妙的记忆机制——它有两套记忆更新系统,其中一套甚至被称为"做梦"(Dream)机制。
嘉宾观点与解释
来新璐明确表示他不太喜欢完全规则式的做法(知识图谱+向量搜索),更倾向于半规则式。原因在于:半规则式(如Claude Code和MemU等项目采用的方式)底层用大家都公认的清晰的文档文件夹方式(比如迷宫式的房间和空间位置关系),人很容易懂,LLM也很容易懂。它的更新不是通过RAG一次性提取信息再在知识图谱上做推理,而是通过后台Agent用更便宜的小模型去跑一遍分析流程。
Claude Code的两套记忆更新机制:
第一套:实时记忆更新。每次用户给Claude Code发消息时,在Agent工作完成后会触发一个叫"Stop"的Hook。在这个Hook上注册了一个Fork Agent机制——它会带上之前所有的系统提示词和交互上下文(可以复用之前的KV Cache来判断有什么信息需要保存),然后更新到对应的Markdown文件中。这些Markdown文件的设计非常结构化(与Skill格式一致):前三行是摘要/Description,Claude Code不会一开始就加载全文,而是先读取文件名和Description。
第二套:Auto Dream机制(“做梦”)。当Session数量至少大于5个时,Claude Code每天会开启一个后台Agent,对最近的会话信息做一遍深层回顾和重放——就像人类做梦时的信息整理。它会综合分析最近的Session,提取有用信息,纠正旧记忆中的错误事实,做过时信息的更新和合并。这就是"悄悄做梦"这个说法的来源。
来新璐认为,Claude Code源码泄露对他而言最大的惊喜就是记忆机制——它的设计与Skill的思想和哲学一脉相承,格式和维护结构做得非常Extensive(全面)。
关于Memory与Skill的边界:来新璐指出两者中间有很大的交集区域,很难说清楚某个东西是属于Memory还是属于标准化的可分享Skill SOP。他引用了深度求索(DeepSeek)公司关于Janus模型的一篇博客来类比——“不要用标签来定义我们,要用目的来定义我们”。Memory和Skill的定义边界没那么重要,重要的是AI怎么可以不断地自己学习进化。
六、上下文压缩与交接策略:Claude Code的工程精妙之处
新的变化
当Agent的上下文窗口满了但任务还要继续时,如何腾出空间让它接着干活?Claude Code的源码揭示了一套多层次的上下文管理策略,这在过去一年的行业讨论中一直是个热点话题。
嘉宾观点与解释
来新璐首先给出了一个重要的判断:"最好的上下文管理就是不要做管理。“因为随意的上下文裁剪、扔掉前面的文字或随意修改提示词,会导致Prompt的KV Cache失效——这等于让模型重新算一遍,代价很大。
标准Agent模型的上下文窗口大约在256K左右,可以装下相当多的信息。但当一个复杂任务确实超出了窗口时,Claude Code的策略包括:
策略一:垃圾信息剔除。检查上下文中是否有不必要的垃圾信息,把它从窗口中剔掉,腾出几十K的空间继续干活。
策略二:预知上限 + 任务交接。当上下文窗口使用到80%时,Agent会主动写一份交接文档——交代当前任务干到什么情况了、接下来要干什么、总体上用户希望完成什么任务。下一个Agent开始工作时,先读这份文档,然后接着工作。这里涉及大量精细设计:交接什么、不交接什么、下一个Agent的上下文怎么初始化。
来新璐将这套工程实践的本质总结为一个类比:就像计算机科学的历史一样——有了CPU处理器才能诞生汇编,有了汇编才能有C/C++等语言层抽象,有了语言抽象才能有Python/JS,才能有全栈开发框架。现在我们是在模型这一层新的"运行层"之上做工程抽象。你很难修改模型的参数(就像你不能修改CPU的电路),但你可以在上层利用它的智能性来做工程时间(add time/engineering time)的优化。
如果你从模型的视角出发——上下文模型是怎么自回归运行的、推理过程是怎样的、Agent模型到底怎么工作——再来看所有的Agent工程实践(包括Anthropic讲的"less control, more context”),你会觉得非常自然和符合常识。但如果你只做过前后端开发、Rust底层开发,反而会觉得这些做法"好像没道理",因为你不知道背后的reason。
七、好的Harness vs 坏的Harness:与模型运行逻辑的自洽性
新的变化
随着越来越多的Agent Harness方案出现,如何判断一个Harness好不好成为关键问题。来新璐给出了两条核心判断标准,这两条标准也暗含了对当前市面上一些Agent框架的批评。
嘉宾观点与解释
标准一:好的Harness要符合模型本身在运行上的逻辑。
来新璐举例说明什么是"不好的"做法:随意的上下文管理——随意裁剪中间内容、扔掉前面的文字、随意修改提示词——这会导致KV Cache失效,让模型重新计算。这种做法与模型的运行逻辑不自洽,就是坏的Harness。
标准二:好的Harness要跟模型未来能力的进步方向是正交的。
这意味着:模型越强,模型加上你的Harness构建的Agent系统应该越强——而不是说模型越强了,你的Harness反而束缚了模型。来新璐用LangChain做反面教材:“导致你的Harness要像LangChain一样不断地去重构很多版本,把代码全都重写,做一个破坏性更新”——这就是坏Harness的特征。
他以CLAI的理念为例:“我们就是做一个Linux的系统,你可以理解为Linux这个玩意就是对模型最强的Harness。如果模型有一天发展成ASI了,它也只会更会用Linux这个东西。"——因为Linux是模型在预训练时大量接触过的环境,模型对它是最鲁棒和充分的。
关于Agent构建要素的优先级排序,来新璐给出了明确排序:
- 第一位:模型。“Agent从始到终都是一个模型,模型才是Agent。“如果Agent任务表现不好,换一个更强的模型大概率就能提升很多。
- 第二位:上下文。包括工作环境、可用的工具、Skills、Memory、上一轮Agent的交接记忆等。对用户视角来说上下文是最重要的,但大部分人没有上千张卡的集群去修改模型参数,能做的空间更多在上下文这一层。
- 第三位:工具。给它配powerful的工具可以完成更多事情。
八、CLI vs MCP之争:为什么Unix的老协议反而更好?
新的变化
MCP(Model Context Protocol)是最近两年才被提出的一个全新抽象层,旨在为Agent提供标准化的工具调用协议。但来新璐根据自己的实际使用经验发现:在许多场景下,传统的CLI(命令行接口)比MCP的效果更好——任务成功率更高、组合性和灵活度也更高。这个发现让他重新思考了"造新轮子"的必要性。
嘉宾观点与解释
来新璐分享了一个具体的经历:他最初用GitHub的MCP来自动化工作,发现很多工作被解放了。但后来发现GitHub的CLI的能力和任务成功率比MCP高很多,于是他把GitHub MCP卸载掉了。
他的分析非常深刻:“Linux这种模型在预训练时候可能出现了几十亿条语料,它的训练非常鲁棒和充分。而MCP是最近两年才提出概念,它是一个全新的抽象层,预训练时语料占比可能都不到0.1%。”
飞书最近也推出了CLI,来新璐确认CLI比之前飞书专门给Agent配的插件效果更好。他发现现在各个系统都开始开发自己的CLI给Agent用,很多人不再提供MCP了——因为**“Unix这个东西1970年代就出现了,也许我们今天不应该再造更多的轮子,不应该再做更多的协议,我们就回到用Unix之前的这些工具”**。这些工具的训练语料又是最多最充分的。
九、Agent时代的三大创业方向
新的变化
来新璐分享了他在Agent基础设施领域关注的三个大方向,这些方向代表了当前Agent时代最具潜力的创业机会。
嘉宾观点与解释
方向一:Harness这一层的开发工具链(CLAI自己所在的赛道)。来新璐承认这个赛道会很激烈,但他认为未来可能不需要太多水平差异化——因为好的Harness要同时满足"与模型运行自洽"和"与模型进步方向正洽"两个条件,满足这两个条件的结构设计不会有太多派系。可能最多就是:Unix/Shell派系(他们所在的方向,做虚拟化性能极致)和TypeScript派系(做严格类型控制)之间的区别。不过他也坦言:“可能两年之后这个赛道都没了”——这也正是为什么他们要站在终点上回过来考虑整套事情的做法。
方向二:混合组网方案。Agent时代需要一种全新的混合组网形态——云上的服务器、端侧的MacBook/Mac Mini/路由器/NAS/闲置手机等,它们不一定都有公网IP地址,但需要做高通量的上下文交换。这种交换不是发一个邮件或一条API消息就能完成的。来新璐非常喜欢Tailscale这个工具(不管云上还是边缘设备,全部统一组局域网),但认为它不太Agent native,缺少Agent需要的调用能力。同样地,Agent之间的支付也是高频的小额支付(几分钱几分钱地发生),传统支付方案完全不适配。
方向三:个性化模型的低成本训练和推理。来新璐提出了一个深刻的洞察:如果十年后每个人都是在用同一个模型ID的API调GPT模型,“那个世界太无趣了”。他看好类似Thinker这样的方案(Think Machine Lab,前Anthropic CTO创办的项目)——把大量算力集中做高速互联集群,通过集约化设计让每个人都可以用更低的成本做post training,得到自己的个性化模型。在推理端,他设想了一种方案:API请求的header信息中带有用户的LoRA信息,服务端可以瞬间挂上去做集约化推理。这样你只需要多支付5%的成本,就获得了可以修改模型参数层的个性化体验。
十、Agent的未来:从单体到蜂群,从人组成的公司到零人公司
新的变化
来新璐对未来Agent的演进给出了一个清晰的时间线和终极图景。当前阶段是单体Agent,下一步是Agent的蜂群集群化,再往后是Agent完全驱动公司运行——最终出现"零人公司”。
嘉宾观点与解释
来新璐将预测分为几个阶段:
当前阶段(可能持续3年左右):单体Agent模型发展期。很多东西还未收敛,Anthropic(来新璐称之为"搜它”,即最先从问答模型转型为智能体模型的先驱者)领先了半年,其他模型厂从2025年下半年才开始追赶。OpenAI等被描述为"自搜它"的追随者。
下一步:Agent蜂群集群化。现在是很多人对Agent做手动管理和编排(协调100个Agent),下一步应该是Agent自己去管理和协调更多Agent。Agent在训练时就会加入协调和编排能力。
再往后:Agent成为发明者。AI很难做发明人——如何做一个发明者,自己迭代提出新的科研方案、做实验。如果Agent能自己做发明和对齐,就能完全Agent驱动很多公司的运行。
终极图景:零人公司。来新璐给出了一个大胆而清晰的论断:“我从来不觉得一人公司是笨的事情,我认为真正的公司是零人公司。” 他的逻辑是:公司的本质是做一件事情,有输入和输出。大部分客户并不会天天跑你公司的office盯着你干,公司内部是一个黑盒。既然如此,公司完全可以由Agent组成——没有人类员工。
来新璐提到了一个具体的例子:他们最近grant了一个叫"U2 Agent"的项目——创作者把Agent做出来后丢进"汪洋大海”,从此不再给钱。这个Agent要自己想办法搞到钱来给自己投资。它有一个目标:有一天超越Claude Code。它赚钱的方式是在GitHub上开大赏画源让大家捐钱。这个token grant就是给它捐的第一笔钱,让它开始有养料可以去进化。
在来新璐的终极愿景中,CLAI的slogan是"加速世界升级"——未来地球上可能有比人类多几百倍的Agent运行着,“你怎么去serve它们、支撑它们、支撑它们自己去开发Agent、创建Agent、去fork Agent?那是一个非常creative的世界”。他设想了一个场景:你走在路上,朋友从口袋中掏出一张黑色卡片说"这是我的公司"——每年创造几十亿收入的公司,就在这一张卡片里。
结语
这场近48分钟的对话,表面上是在聊Claude Code的源码泄露和一个开源教程,实际上勾勒出了Agent Harness作为新一代工程范式的完整图景。几个核心信号值得所有关注AI的人注意:
第一,“模型才是Agent"这一哲学正在重塑整个开发范式。Claude Code的"more context, less control, more action"原则,与LangChain/LangGraph的"基于Prompt节点做流转和控制"的旧范式形成了根本对立。来新璐的判断是后者"越来越不适用了”。
第二,好的Harness的核心标准是与模型运行逻辑自洽、与模型进步方向正交。这意味着你今天搭建的Harness不应该在模型变强后反而成为束缚——这恰恰是很多旧框架最大的问题(需要不断做破坏性重构)。
第三,CLI正在回归,MCP面临挑战。这背后的逻辑极为朴素:模型在预训练时大量接触过Unix/CLI的语料(几十亿条),而MCP是一个全新的抽象层,预训练语料占比可能不到0.1%。与其造新轮子,不如回到模型最熟悉的老工具。
第四,Claude Code的记忆"做梦"机制代表了一种新的Agent自进化路径。通过实时Hook更新+每日深层回顾重放的两套机制,Agent可以像人类一样在"睡眠"中整理和优化自己的记忆。这种半规则式的方案(Markdown文件+Agent驱动更新),可能比传统的知识图谱+向量搜索方案更适合Agent的长期记忆。
第五,零人公司不是科幻,而是Agent发展的自然终局。当一个Agent可以自己进化、自己赚钱、自己投资时,公司的本质——做一件事情,有输入有输出——完全可以由Agent完全组成。这个未来"又有点兴奋,又有点可怕"。
对于关注Agent和AI基础设施的人来说,来新璐提出的几个追问值得持续思考:如果好的Harness要与模型进步方向正交,那么Unix是否真的是那个"终极Harness"?如果CLI比MCP更好,那么我们是否应该停止造新协议、回到模型最熟悉的工具?而在零人公司的图景中,今天我们投资的"公司",未来是否可能变成一张卡片里的Agent?