深度

Claude Code 工作原理深度解析:代理循环、工具系统与上下文管理

Claude Code 工作原理深度解析:三阶段代理循环(收集上下文/执行动作/验证结果)、五类工具系统、上下文窗口管理策略、可访问资源范围、权限模式与检查点、多模型切换,以及 Skills/MCP/Hooks/Sub-Agents 扩展体系。

2026/3/125分钟 阅读ClaudeEagle

Claude Code 不是一个聊天机器人,它是一个代理编程系统。理解它的工作原理,能让你更有效地使用它——知道什么时候该期待什么,什么时候需要干预。

核心架构:代理循环(Agentic Loop)

当你给 Claude Code 一个任务,它进入一个三阶段循环:

你的指令 ↓ [收集上下文] → 读文件、搜索、理解代码 ↓ [执行动作] → 修改文件、运行命令、调用工具 ↓ [验证结果] → 运行测试、检查输出、对比预期 ↓ 如果未完成 → 循环回第一步 ↓ 任务完成 / 请求你介入

这个循环会自主链式执行数十个动作。修复一个 Bug,Claude 可能会:

  1. 运行测试套件,查看失败信息
  2. 搜索相关源文件
  3. 读取多个文件理解上下文
  4. 修改文件实现修复
  5. 再次运行测试验证
  6. 提交代码

每一步工具调用的结果都会反馈到下一步。你随时可以中断,重新引导方向。

工具系统:代理能力的来源

没有工具,Claude 只能输出文字。有了工具,它能真正执行动作:

类别能力
文件操作读取文件、编辑代码、创建新文件、重命名和重组
搜索按模式搜索文件、正则搜索内容、探索代码库结构
执行运行 Shell 命令、启动服务器、执行测试、使用 Git
Web搜索网络、获取文档、查找错误信息
代码智能查看类型错误、跳转定义、查找引用(需插件)
子代理派发任务给其他 Claude 实例并行处理

关键点:工具不是预设步骤,而是 Claude 根据任务自主决定调用哪个。你说"修复测试失败",它自己决定先 run tests → read error → search files → edit → run tests again。

上下文窗口:最重要的资源

Claude Code 最核心的约束是上下文窗口。

上下文窗口存储:

  • 完整的对话历史
  • Claude 读取的每个文件内容
  • 每次命令的输出结果
  • CLAUDE.md 和 Auto Memory

上下文满了会怎样?性能下降,Claude 开始"忘记"早期的指令,错误率上升。

上下文管理策略

bash
/status   # 查看当前上下文使用量
/clear    # 清空上下文,开始新会话
/compact  # 压缩历史(保留关键信息)

什么时候清空:

  • 完成一个独立任务后
  • 上下文超过 50-60% 时
  • 发现 Claude 开始遗忘之前的指令时

用子代理管理上下文:对大型任务,把工作拆分给子代理,每个子代理有自己独立的上下文窗口,互不干扰。

Claude 能访问什么?

运行 claude 时,Claude Code 默认可以访问:

  • 你的项目:当前目录及子目录的所有文件
  • 终端:你能运行的一切命令(构建工具、Git、包管理器)
  • Git 状态:当前分支、未提交的改动、最近 commit 历史
  • CLAUDE.md:你写的项目规范(每次会话加载)
  • Auto Memory:Claude 自动记录的学习内容(前 200 行)
  • 你配置的扩展:MCP Server、Skills、子代理、Chrome 插件

Claude 看到整个项目,这是它与只看当前文件的内联补全工具的本质区别。

多模型支持

Claude Code 支持切换底层模型,适应不同任务:

bash
/model   # 查看和切换当前使用的模型

或启动时指定:

bash
claude --model claude-opus-4-5

Sonnet:大多数编程任务的最佳选择,速度与质量平衡。
Opus:复杂架构决策、深度推理任务时使用。

权限和安全

权限模式

模式行为快捷键
Normal大多数操作询问确认默认
Auto-Accept自动接受文件编辑Shift+Tab
Plan Mode只读分析,不修改任何文件Shift+Tab×2

检查点(Checkpoint)

Claude Code 在每次工具调用前自动创建 Git 检查点。出了问题:

/undo # 撤回到上一个检查点

即使没有运行 Git commit,也能安全回退。

会话管理

Claude Code 支持跨设备继续会话:

bash
claude --resume          # 恢复最近的会话
claude --resume <id>     # 恢复指定会话
/sessions                # 查看会话列表

会话可以分叉(fork):从某个历史点创建新的对话分支,尝试不同方案。

扩展 Claude Code 的能力

核心工具是基础,还可以按需扩展:

  • Skills:打包可重用的工作流(如 /review-pr、/deploy-staging)
  • MCP Server:连接外部服务(Jira、Google Drive、Slack、数据库)
  • Hooks:在工具调用前后自动运行 Shell 命令(格式化、Lint 检查)
  • Sub-Agents:把任务拆分给多个 Claude 实例并行处理

实际工作建议

委托,不要指令

  • ❌ 微管理每一步:"先读文件 A,然后修改第 42 行,然后……"
  • ✅ 描述目标:"修复认证 Bug,确保测试通过"

给 Claude 验证手段

  • 有测试:"写完后运行测试套件"
  • 有 UI:粘贴截图,让 Claude 对比实现效果

中途纠偏而不是等到结束 Claude 在工作过程中随时可以中断。如果发现方向不对,直接输入重新引导,比等它做完再全部返工高效得多。


来源:How Claude Code works - Claude Code Docs | Anthropic 官方文档

相关文章推荐

深度Claude Code 底层原理详解:代理循环、工具系统与上下文窗口管理Claude Code 底层原理深度解析:代理循环(收集上下文/执行动作/验证结果)、五类内置工具体系(文件/搜索/命令/Web/代码智能)、上下文窗口管理(监控/清理策略)、权限控制模式,以及与普通聊天工具的本质差异。2026/3/13深度Claude Code 工作原理深度解析:Agentic Loop 三阶段、五类内置工具与 Context 窗口管理Claude Code 工作原理深度解析:Agentic Loop 三阶段(收集上下文/采取行动/验证结果)、五类内置工具(文件操作/搜索/执行/Web/代码智能)、Claude Code 可访问的六类资源、三种执行环境(本地/云端/Remote Control)、会话管理(恢复/分叉/跨分支)、Context 窗口自动压缩机制,以及 Checkpoints 安全机制和三种权限模式详解。2026/3/5深度Codex vs Claude Code 2026 深度对比:便宜10倍的异步自动化 vs 输出质量更受青睐的深度重构Codex与Claude Code 2026深度基准测试对比:SWE-bench Verified/Pro跑分差异解读、单任务成本对比($15 vs $155)、盲测代码质量评审Claude Code 67%时间更受偏好、1M token上下文与异步沙箱执行模型差异、定价阶梯与决策框架完整梳理。2026/8/22深度Claude Code MCP OAuth 与自托管 Runner 连接性修复合集:从重定向 URI 到网关空闲超时汇总 Claude Code v2.1.229 中一组长连接与自托管部署相关的修复:MCP OAuth 重定向 URI 兼容性、SSE keepalive 防网关空闲超时、自托管 Runner 的 Git 凭据卡死、容器 CPU 限制误读等问题详解。2026/8/13深度OpenClaw Context Engine 完全指南:四个生命周期钩子如何决定模型看到什么详解 OpenClaw 可插拔上下文引擎架构:Ingest/Assemble/Compact/After turn 四个生命周期钩子的工作原理,systemPromptAddition 动态注入机制,以及如何安装和配置自定义 Context Engine 插件。2026/8/12深度Claude Code Week 32 更新全景:跨会话消息、自托管环境公测、Auto Mode 即将成为默认汇总 Claude Code 2026 年 8 月 Week 32(v2.1.220-224)全部更新:跨会话消息正式介绍、自托管环境公测开放、Auto Mode 8月14日成为默认权限模式等重大变化。2026/8/11