EP71:探究Anthropic的Claude Code源码-为什么它就是比别人好用?AI西经东译

EP71:探究Anthropic的Claude Code源码-为什么它就是比别人好用?

23分钟 ·
播放数128
·
评论数2

2026年3月31日,安全研究者发现 Anthropic 发布到 npm 的 Claude Code 包中由于未剥离 source map 文件,导致其完整的 TypeScript 源码(约 51.2 万行,1903 个文件)意外泄露。通过对源码的深度分析,本文《一文了解 Anthropic 的 Claude Code 源码:为什么它就是比别人好用?》 作者Yuker揭示了 Claude Code 与传统 AI 编程助手在设计哲学上的本质区别:它不仅是一个插件或工具,而是一个以大语言模型(LLM)为内核的、高度工程化的“操作系统”。其核心竞争力在于极其精密的 9 层安全审查系统、动态组装的提示词架构、分层压缩的上下文管理以及仿生学的记忆存储机制。

一、 设计哲学:从助手到“操作系统”

Claude Code 的开发规模与复杂度远超同类产品,其 51 万行代码构建了一套完整的信任与执行体系。

  • 环境集成方式:
Cursor 模式: 简单的“人机协作”,用户需逐条审核命令。
GitHub Copilot Agent 模式: 隔离的虚拟机环境,虽然安全但无法感知本地真实环境。
Claude Code 模式: 直接在用户本地环境运行,通过极度精密的“安检系统”控制权限。AI 可以直接使用用户的终端、配置和环境,实现真正的原生开发体验。
  • 系统级映射: 源码显示,Anthropic 将 Claude Code 视为操作系统进行构建:
42 个工具对应系统调用。
权限系统对应用户权限管理。
MCP 协议对应设备驱动。
Agent 蜂群对应进程管理。
上下文压缩对应内存管理。

二、 提示词工程:动态组装与缓存优化

Claude Code 的系统提示词并非静态文本,而是像编译器输出一样进行动态优化和“拼装”。

  • 1. 动态提示词架构

src/constants/prompts.ts 中,提示词通过 getSystemPrompt 函数组装,分为静态和动态两个部分,中间由 SYSTEM_PROMPT_DYNAMIC_BOUNDARY 分隔。

  • 2. 工具专用的“使用手册”

每个工具(如 BashTool)都附带一份专为 LLM 编写的 behavior 准则。例如,BashTool 的手册明确规定:

除非用户要求,否则禁止执行 git checkout .
严禁跳过钩子(--no-verify)。
强制要求创建新提交,严禁 amend

三、 工具系统与执行安全

Claude Code 注册了 42 个工具,但采用了延迟加载和防御性设计。

  • 按需注入: 并非所有工具都会初始加载。通过 ToolSearchTool,系统仅在 LLM 需要时才注入相关工具的使用说明,以节省 token 消耗。
  • Fail-closed(故障关闭)设计: 系统默认假设所有工具都是“不安全、可写入、具有破坏性”的。如果开发者未明确声明工具的安全属性,系统将采取最保守的权限控制。
  • “先读后改”铁律: FileEditTool 具备强制检查机制。若 LLM 未曾调用过 FileReadTool 读取文件,系统将直接报错,禁止其进行任何修改,防止 AI 凭空生成代码覆盖本地文件。

四、 记忆与仿生学进化

Claude Code 拥有一套完整的记忆系统,使其能够根据用户的职业背景(如“后端工程师”)和习惯进行个性化交互。

  • AI 检索记忆: 并非使用传统的关键词或向量搜索,而是调用另一个小模型(Claude Sonnet)来扫描记忆文件标题和描述,选出最多 5 个相关记忆注入上下文。其策略是“精确度优先于召回率”。
  • KAIROS 模式(“梦境”整理): 这是一种极其超前的设计。系统在低活跃期(夜间)运行 /dream 技能,将按日期记录的原始日志(Raw Logs)蒸馏、总结为结构化的主题文件(如用户偏好、项目背景)。

五、 多 Agent 蜂群协作(Multi-Agent Swarm)

在处理复杂任务时,Claude Code 会启动 Coordinator(协调器)模式,将自己转变为任务编排者。

  • 子 Agent 生成: 通过 AgentTool 生成工人进程。源码中包含严厉的“自我意识”注入,明确告知子 Agent:“你是工人而非经理,严禁递归生成更多子 Agent”。
  • 并行与串行策略:并行: 调研和代码搜索任务通过多个 Worker 并行执行,发挥并行优势。串行: 文件写入任务按文件分组串行执行,以避免编辑冲突。
  • Prompt Cache 极致优化: 所有子 Agent 的启动结果使用统一的占位符文本(如 Fork started — processing in background),确保多个并行 Agent 能够共用 API 缓存前缀,实现冷启动成本最小化。

六、 上下文管理:三层压缩机制

为解决 LLM 的上下文窗口限制,Claude Code 设计了精密的三层压缩逻辑:

  • 微压缩(Microcompact): 仅针对旧的工具调用结果进行清理。例如,将 10 分钟前读取的长文件内容替换为 [Old tool result content cleared],保留对话主线。
  • 自动压缩(Auto-compact): 当 Token 消耗达到上下文窗口的 87%(预留 13,000 token 缓冲)时自动触发。
  • 完全压缩(Full-compact): 强制 AI 对整段对话生成纯文本摘要,并替换所有历史消息。此时会注入 NO_TOOLS_PREAMBLE 指令,严禁 AI 在总结过程中调用工具,以防产生额外的 token 消耗。

七、 结论

通过对 51.2 万行源码的审视,可以得出结论:Claude Code 的卓越体验并非单纯源于模型性能,而是源于极其深厚的脚手架工程。

  • 工程量占比: 真正调用 LLM API 的代码不到 5%,其余 95% 均用于安全检查、权限管理、错误恢复、性能优化及 UI 交互。
  • 信任体系: Anthropic 的核心逻辑是:要让 AI 真正深入生产环境,必须为其建立一套完整的信任体系。即便是一个简单的 Bash 工具,也需要 18 个安全文件和 9 层审查来确保其行为可控。
  • 产品定位: Claude Code 是一个以 LLM 为内核的操作系统,它通过工程化手段解决了 AI Agent 在安全性、成本和上下文限制方面的瓶颈。

**📺播客说明**

本播客采用虚拟主持人进行播客翻译的音频制作,因此有可能会有一些地方听起来怪怪的。如想了解更多信息,请关注微信公众号"西经东译"获取AI最新资讯。如有后续想要听的其他外文播客,也欢迎联系微信:mayday2303。

展开Show Notes
这期即时,搞笑,好玩
03:56 这咋还出方言口音