Claude Code 的 1902 个源文件意外泄露,我花了几个小时研究后发现:它好用,60% 靠模型,40% 靠围绕模型搭建的工程系统(harness)。本文解析 5 个关键 harness 设计,看看有哪些可以直接借鉴。


1. System Prompt 的动态边界:省 tokens 的聪明一刀

当你在 Claude Code 输入一条指令,AI 收到的远不止你那句话。

它收到的是:身份定义 + 安全准则 + 做事原则 + 工具规则 + 你的 CLAUDE.md 配置 + 当前目录状态 + Git 信息 + 记忆文件……

源码里有个关键常量 SYSTEM_PROMPT_DYNAMIC_BOUNDARY,把 system prompt 一刀切成两段:

静态部分:所有用户共享,可缓存,省钱省时间
动态部分:每个用户独立加载,保证个性化

这个边界切得是否合理,决定了缓存效率和个性化之间的平衡。

可借鉴的设计:如果你在做一个 AI 应用,可以在 system prompt 里区分「可缓存的通用规则」和「用户特定的上下文」,前者集中处理,后者按需加载。


2. 权限分类器:全自动模式不是直接放行

你以为 Auto 模式是操作直接放行?源码揭露了真相:背后跑了两个 AI

主 AI 每次想执行操作,都会经过一个独立的权限分类器。这个分类器有自己的 system prompt,分三档判断:

  • Allow:直接放行
  • Soft Deny:需要用户确认
  • Hard Deny:直接拦截

实际是四层流水线:

第一层:查已有规则,命中就放行
第二层:低风险操作直接跳过
第三层:白名单放行只读工具
第四层:才调用独立 Claude Sonnet 做安全分类

分类器温度设为 0,确保确定性输出。还有熔断机制:连续 3 次被拒或累计 20 次被拒后,自动降级为手动确认模式。

可借鉴的设计:给 AI 的操作权限分层处理,而不是一刀切全放行或全禁止。越危险的操作用越重的验证手段。


3. 记忆系统:为什么它不记代码

Claude Code 的记忆功能会记住你的偏好(喜欢 TypeScript、用「」引号、不喜欢 AI 味文字),但有个设计决策很关键:它不记代码

为什么?

代码会变,但记忆不会自动更新。如果记忆说「函数 X 在第 Y 行」,下次对话时代码可能已经重构了,这条记忆就成了误导。

所以 Claude Code 的原则是:记忆只存人的偏好和判断,代码事实永远去源码里实时读取。

记忆提取也不是每条消息都触发,而是有限流机制,由独立的 fork agent 完成。这个子 agent 继承了主对话上下文,但只能读文件和写入记忆目录,连 Bash 命令都不能跑。

可借鉴的设计:如果你做需要记忆的 AI 应用,明确区分「会过时的事实」和「不会过时的偏好」,前者实时读取,后者才存入记忆。


4. 上下文压缩:9 段式结构化提取

对话变长时 Claude Code 会自动压缩之前的内容,但它的压缩不是简单总结,而是一个结构化的 9 段式提取

  1. 核心请求
  2. 关键概念
  3. 文件和代码
  4. 错误和修复
  5. 解决过程
  6. 所有用户消息(必须完整保留)
  7. 待办任务
  8. 当前工作
  9. 下一步行动

关键是:所有用户消息必须完整保留。用户在第 3 轮纠正了一个做法,如果压缩时丢掉那条纠正,后续就会重蹈覆辙。

用户的每一句话都可能包含隐含的偏好和纠正,丢了就找不回来。

可借鉴的设计:对话压缩要有明确的结构化格式,而不是自由总结。并且明确哪些信息必须保留(用户纠正、关键偏好)vs 可以丢弃(中间推导过程)。


5. 搜索:为什么用 grep 而不是向量数据库

Claude Code 搜索代码用的不是什么向量数据库 + Embedding + RAG。

用的是 grep 和 ripgrep

最朴素的文本搜索。

这背后的逻辑是:当你有一个足够聪明的大脑(LLM)理解搜索结果时,不需要一个很聪明的搜索引擎。grep 给精确匹配,LLM 来理解结果之间的关系。

与其让每个环节都变复杂,不如让一个环节足够强,其他环节保持简单。

可借鉴的设计:在 AI 应用里,不是每个环节都需要 AI。某些简单重复的工作(搜索、排序、过滤)用传统方法反而更高效,让 AI 做它真正擅长的事。


结论

Claude Code 的源码泄露,对行业来说是一次难得的学习机会。

它证明了一件事:AI 应用好不好用,不只取决于模型多强,更取决于你围绕模型搭建的 harness 有多好。

同样的底层模型,套上不同的 harness,就是完全不同的产品。安全流水线、记忆系统、上下文管理、权限分层……每一个设计决策都在影响最终体验。

这些 harness 设计,不需要等 AI 更强,用现在的模型就能实现。


源码下载:

https://github.com/beilingcc/claude-code

👉 关注公众号"北灵聊AI",获取最新更新

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐