Claude Code 源码分析,附下载地址
本文解析 5 个关键 harness 设计,看看有哪些可以直接借鉴。
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 段式提取:
- 核心请求
- 关键概念
- 文件和代码
- 错误和修复
- 解决过程
- 所有用户消息(必须完整保留)
- 待办任务
- 当前工作
- 下一步行动
关键是:所有用户消息必须完整保留。用户在第 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",获取最新更新
更多推荐



所有评论(0)