乐于分享
好东西不私藏

Claude Code 源码泄露,来学学 AI 编程助手的底层逻辑

Claude Code 源码泄露,来学学 AI 编程助手的底层逻辑

Claude Code 源码泄露,来学学 AI 编程助手的底层逻辑

近期,AI 圈发生了一件引发广泛关注的事件——Anthropic 旗下备受好评的 AI 编程助手 Claude Code 的核心系统提示词(长达数万 Token)以及 CLI 源码被社区完整逆向并曝光。

作为目前体验十分惊艳的 Coding Agent 之一,Claude Code 能够直接在终端中读取代码库、执行命令、甚至自主完成复杂的开发任务。许多程序员在使用后都惊呼其效果远超预期。随着源码和底层 Prompt 的大白于天下,Anthropic 构建一流 Agent 的“秘籍”也随之公开。

令人意外的是,它的源码中并没有堆砌当下流行的复杂概念,反而处处透着务实与克制。对于想要开发 AI 应用或 Agent 的研发人员来说,这份泄露的源码简直是一份价值连城的“大师课”。以下是 Claude Code 源码中十分值得我们学习的五个核心设计理念。

一、化繁为简:放弃复杂多智能体,回归主循环与 Todo List

在当前的 Agent 开发圈子里,大家非常热衷于设计复杂的“多智能体(Multi-Agent)”架构,给不同的 AI 分配角色,让它们相互对话、辩论和协作。然而,Claude Code 的源码却给这种趋势泼了一盆冷水。

Claude Code 并没有采用复杂的多智能体系统,它的核心控制回路(Control Loop)异常简洁:主要依赖一个单主线程(Main Agent Workflow)。

它之所以能处理复杂的工程任务,秘诀在于非常出色的 Todo 列表管理机制。面对复杂需求,Claude Code 会将大目标拆解为一个个具体的小任务,排好优先级,并记录在案。主 Agent 就像一个按部就班的资深工程师,严格按照 Todo 列表一步步推进,完成一项划掉一项。这种“One loop & Bash is all you need”的设计思路,不仅让 AI 的执行路径格外清晰,也让整个系统的稳定性和可调试性得到了质的飞跃。

二、反直觉的检索设计:抛弃向量 RAG,回归原生搜索

过去一年里,RAG(检索增强生成)几乎成了 AI 应用的标配,许多代码助手都会使用基于 Embedding 向量的索引来搜索代码。但 Claude Code 的源码揭示了一个令人反直觉的事实:它根本没有使用基于向量的 RAG 技术。

Anthropic 的工程师认为,对于逻辑严密、符号化特别强的代码工程来说,模糊的向量相似度匹配往往并不好用。Claude Code 采取的方式是:直接给大模型配备底层的文件搜索工具。

它内置了类似于 Linux 系统中的 grepfindglob 等原生搜索命令。当需要查找某个函数或变量时,Claude 就像一个真实的人类程序员一样,利用正则表达式和关键字在代码库中进行准确搜索。事实证明,大模型非常擅长编写复杂的正则查询语句,这种“模仿人类行为”的搜索方式,在代码场景下比 RAG 更加灵活、准确且迅速。

三、四两拨千斤的上下文管理:.claude.md

如果你使用过 Claude Code,会发现它对项目背景的理解异常敏锐。源码中揭示了这个奇妙体验的来源——对 .claude.md(或类似配置文件)的充分利用。

在执行重要的请求时,Claude Code 的工作流会强制读取项目根目录下的这个 Markdown 文件。这个文件就像是 Agent 的“记忆挂载盘”,技术人员可以在里面写入项目的技术栈、编译命令、代码规范,甚至是“永远用中文回复”等强制性偏好。

这个看似简单的设计解决了 Agent 开发中的一大痛点:上下文冗余与幻觉。AI 不需要每次都通过盲目搜索来猜测项目的运行方式,也不需要在多轮对话中反复确认用户偏好。用到什么知识,就临时加载什么知识,这种轻量级的本地上下文管理,显著地提升了交互的准确率和用户体验。

四、教科书级的 Prompt 工程:用严厉的规则“驯服”猛兽

本次泄露的重头戏是长达数万字的 System Prompt。这份提示词向我们展示了 Anthropic 是如何通过纯文本指令来构建一个高度可靠的安全与行为边界的。

首先是 XML 标签的广泛应用。Claude Code 的提示词中大量使用了 <thinking><tools> 等 XML 标签。这种高度结构化的指令不仅帮助大模型更好地理解复杂的逻辑层级,也让输出结果更容易被外层的代码解析和拦截。

其次是非常严厉的语气与风控边界。因为大模型的输出具有概率分布的不可控性,Anthropic 在提示词中使用了大量诸如 “CRITICAL”(致命/关键)、”IMPORTANT”(重要)、”NEVER”(严禁)等大写词汇。例如,提示词中多次强调“仅协助防御性安全任务”,并严格规定了在遇到破坏性指令时的升级路径。这种在控制层面对行为边界的死磕,是保证 Agent 在拥有核心系统权限时依然安全的根本。

五、代码即脚手架:Agent Harness 工程的胜利

在开源社区对源码的分析中,有一个观点被反复提及:“The model is the agent, the code is the harness”(模型就是智能体,代码就是脚手架)。Claude Code 之所以强大,不仅仅是因为 Claude 3.5 Sonnet 模型本身聪明,更在于外围那一套十分健壮的工程代码。

源码中展示了许多精妙的脚手架设计。例如后台任务(Background Tasks)机制:当需要执行耗时的编译或测试命令时,代码框架会将这些慢操作丢到后台异步执行,并让 Agent 继续思考下一步,而不是傻傻等待;再比如沙盒与权限隔离:CLI 实现了细粒度的文件系统权限控制,通过白名单和黑名单机制准确管理文件的读写权限,在执行 Bash 命令时还有安全检查机制,防止越权操作。

Claude Code 的泄露不仅没有损害其神级工具的地位,反而为全行业的 AI 从业者提供了一份出色的参考架构。它告诉我们,构建一个好用的 Agent,不需要盲目追逐前沿、高度复杂的学术概念。用非常清晰的主循环控制流程、高度贴近人类直觉的工具链、完全结构化的提示词,再加上扎实的工程脚手架,就足以打造出令人惊叹的智能体验。这些务实的设计哲学,值得每一位 AI 探索者在自己的项目中实践与深思。