Claude Code 是怎么工作的?一文看懂AI编程助手的大脑


你有没有想过,当你对着 Claude Code 说”帮我改一下登录逻辑”时,背后到底发生了什么?它没有直接打开你的代码文件瞎改一通,而是像一位经验丰富的程序员,先读懂需求、再翻看代码、最后才动手修改。这一切是怎么实现的?

一句话概括:它是一个无限循环的”思考-行动”过程

Claude Code 的核心逻辑简单得出奇——就是一个 while(tool_call) 循环。没错,整个系统的灵魂就这几行:

  1. 你把任务告诉它;
  2. 它”思考”后决定:是给出答案,还是调用工具(比如读文件、搜代码、运行命令);
  3. 如果需要工具,它发起调用,拿到结果后再次”思考”;
  4. 循环往复,直到任务完成。

没有复杂的任务调度器,没有固定的流水线路由,一切交给模型自己决定。这种极简设计反而让它非常灵活——毕竟 Claude 模型的推理能力,通常比手写规则更靠谱。

八大核心工具:它的”双手”

Claude Code 只有 8 个内置核心工具,但却能完成绝大多数编程任务:

  • Read:读取文件内容,带行号显示(这是后续编辑的基础);
  • Edit:精确替换文件中的某段代码,必须唯一匹配才执行;
  • Write:创建新文件;
  • Grep:在代码库里搜索内容(底层用的是 ripgrep,速度飞快);
  • Glob:按文件名模式找文件;
  • Bash:执行终端命令——可以说是”万能工具”;
  • Task:派生子代理去并行处理子任务;
  • TodoWrite:管理任务清单,保持工作有序。

这套工具哲学很有意思:与其造 100 个专用工具,不如把 Bash 做强——因为 Shell 几乎能做任何事情。工具少了,维护简单,模型也更容易选对。

子代理:分而治之的智慧

当你问一个复杂问题,比如”帮我分析这个项目的架构”,Claude Code 不会自己埋头苦干。它会派出多个子代理(sub-agent)并行工作——一个去搜路由层,一个去查数据库层,一个去看API定义。

每个子代理运行在独立的上下文窗口里,只把最终结果摘要回传给主代理。这样做的好处是主代理的”记忆”不会因为信息过载而崩溃。就像老板派几个员工分头调研,最后只听汇报,不用自己记所有细节。

不过有个硬性限制:子代理不能再派子代理(depth=1),防止无限递归把 API 账单拉爆。

长会话不失忆的秘密:四层压缩

用过 ChatGPT 的人都知道,对话长了之后模型会”忘记”前面的内容。Claude Code 怎么解决这个问题?它有一套四层递进压缩机制:

  1. Snip:按 token 阈值砍掉太久远的历史——零成本;
  2. Microcompact:合并重复的工具结果——零成本;
  3. ContextCollapse:把大段对话折叠成摘要——零成本;
  4. AutoCompact:真的压不住了,派一个专门的小模型来生成摘要替换历史——花 1 次 API 调用。

核心原则是:能靠规则解决的绝不浪费 LLM 调用。而且 Anthropic 的前缀缓存技术让系统提示和工具定义几乎每次都命中缓存,复用率高达 92%,成本因此下降了 81%。

权限系统:deny 永远压过 allow

安全是头等大事。Claude Code 的权限检查发生在每次工具调用前,规则按 deny → ask → allow 顺序匹配,第一个命中的生效。这意味着你完全可以写一条宽泛的 allow 规则放行日常操作,再用精准的 deny 规则拦住危险命令(比如 rm -rfgit push --force)。

系统还内置了多种权限模式:default(首次询问)、acceptEdits(自动接受编辑)、plan(只读分析)、auto(智能评估)、dontAsk(仅放行白名单)。企业甚至可以下发托管策略,员工无法绕过。

Skills 与 MCP:从 8 个工具到 40+ 的扩展之道

如果你觉得 8 个工具不够用,Claude Code 提供了两种扩展方式:

  • Skills:懒加载的能力包。平时只把 250 字的描述塞进上下文,需要时再读全文。比如一个 PDF 处理 Skill,只有当你要处理 PDF 时才会被激活;
  • MCP(Model Context Protocol):开放协议,让外部服务(如 GitHub、浏览器自动化、数据库)以工具形式接入。每接一个服务器,工具数就+N,这便是”40+工具”的来历。

这些扩展出来的能力走同样的七步流水线和权限检查,不会被区别对待。

一次完整任务的生命周期

以一个真实的 bug 修复任务为例,Claude Code 的典型轨迹是:

  1. 热身:快速浏览项目结构;
  2. 并行探索:派出 3 个 Explore 子代理同时调研不同模块;
  3. 规划:进入 Plan 模式,只读分析,输出修改方案;
  4. 用户确认:退出 Plan 模式,由用户批准方案;
  5. 执行+验证:编辑代码、运行测试、修复直到通过。

整个过程约 13 分钟,消耗约 200 万 token,调用约 92 次 LLM——其中大部分成本被前缀缓存吃掉,实际花费仅约 1.15 美元。

Summary

Claude Code 的强大,不在于它做了多少,而在于它克制地少做:没有多余的路由器、没有臃肿的工具库,只留下最核心的循环、最精简的工具集、最聪明的上下文管理和最安全的权限体系。复杂留给模型,控制权留给用户——这才是 AI 编程助手的正确打开方式。


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注