想真正用好 Claude Code,先要理解它是怎么工作的。本文深入讲解 Claude Code 的核心架构——代理循环、内置工具体系,以及最关键的上下文窗口管理。
从"聊天机器人"到"代理"的本质差异
普通 AI 助手:收到问题 → 生成回答 → 等待下一个问题
Claude Code(代理模式):收到任务 → 规划步骤 → 执行工具 → 验证结果 → 循环直到完成
这就是为什么 Claude Code 能真正"干活"而不只是"说话"。
代理循环(Agentic Loop)
Claude Code 处理任务的三个阶段循环进行:
你的任务输入
↓
[收集上下文] → 读文件、搜索代码、看 Git 状态
↓
[执行动作] → 编辑文件、运行命令、调用工具
↓
[验证结果] → 运行测试、检查输出、确认无误
↓
任务完成 或 继续循环
这个循环会把数十个工具调用串联起来,自我纠正,直到任务完成。你随时可以打断,提供新方向或追加信息。
一个真实的循环示例
你说:"修复 auth 模块里的 session 超时 Bug"
Claude Code 会自动执行:
- 搜索
auth相关文件 - 读取
src/auth/session.ts - 运行测试,看看失败在哪里
- 定位根本原因(不只看症状)
- 修改相关文件
- 再次运行测试验证
- 如果还有失败,继续第 4 步
每一步的结果都会喂回循环,指导下一步决策。
内置工具体系
工具是代理能力的基础。Claude Code 内置五类工具:
1. 文件操作
读文件 / 编辑代码 / 创建新文件 / 重命名和重组织
不只是"查看文件"——它可以跨多个文件做协调一致的修改。
2. 搜索
按模式查找文件 / 用正则搜索内容 / 探索代码库结构
能快速在大型代码库中定位相关代码,不需要你告诉它去哪里找。
3. 命令执行
运行 Shell 命令 / 启动开发服务器 / 跑测试 / 使用 Git
这是最强大的能力之一:能运行任何你能在终端跑的命令。
# Claude 可以直接运行这些
npm test
git log --oneline -10
docker build -t myapp .
python manage.py migrate4. Web 访问
搜索网络 / 抓取文档 / 查错误信息
遇到不懂的错误,它会主动去查文档,不需要你去复制粘贴。
5. 代码智能(需插件)
查看类型错误和警告 / 跳转到定义 / 查找引用
安装语言插件后获得 IDE 级别的代码理解。
上下文窗口:最重要的资源
这是所有最佳实践的根本原因。理解上下文窗口,才能理解为什么要那样用 Claude Code。
什么是上下文窗口?
Claude Code 的"工作记忆"。每个会话包含:
- 你发的所有消息
- Claude 的所有回复
- 每次工具调用读取的文件内容
- 每次命令执行的输出
一旦超过上限,Claude 就开始"遗忘"早期内容。
为什么这很关键?
| 上下文使用率 | 效果 |
|---|---|
| 0–50% | 最佳性能,完全记得所有指令 |
| 50–80% | 轻微下降,偶尔需要提醒 |
| 80–100% | 明显下降,可能忘记 CLAUDE.md 里的规则 |
| 超限 | 触发自动压缩(Compaction),清理历史 |
什么最消耗上下文?
- 大文件读取:一个 1000 行的文件就消耗大量 Token
- 命令输出:测试套件的完整输出可能很长
- 来回对话:长时间的调试对话积累
- 重复探索:Claude 多次读取同一文件
实时监控上下文
/status # 查看当前上下文使用量
主动管理策略
/clear # 清空历史,保留 CLAUDE.md 指令
任务完成后立即 /clear,开始下一个任务时是干净的状态。
复杂大任务拆分:不要在一个会话里做所有事情,按功能模块分会话。
Claude Code 能访问什么?
在项目目录运行 claude 后,它获得访问权:
| 资源 | 说明 |
|---|---|
| 项目文件 | 当前目录及子目录所有文件 |
| 终端 | 任何你能跑的命令 |
| Git 状态 | 当前分支、未提交改动、提交历史 |
| CLAUDE.md | 你写的项目规范和约定 |
| Auto Memory | Claude 自动积累的学习记录(前 200 行) |
| 扩展工具 | MCP 服务器、Skills、子代理 |
它看到的是整个项目,而不是单个文件。这是它与内联补全工具的核心差异。
权限控制:Claude 只做你允许的事
Claude Code 修改文件前总是会问你。三种权限模式:
| 模式 | 行为 | 启用方式 |
|---|---|---|
| 正常模式 | 每次改动前询问 | 默认 |
| 自动接受 | 自动批准改动 | Shift+Tab 切换 |
| Plan Mode | 只读分析,不执行 | --permission-mode plan |
检查点(Checkpoint):Claude 在修改前自动保存状态,出错可以撤回。
打断和引导
Claude 工作中你随时可以干预:
- Ctrl+C:立即停止当前操作
- 追加信息:直接输入补充说明
- 调整方向:说"等等,先不做那个,改成..."
不要担心打断它——这是设计如此,让你保持控制。
与聊天工具的核心差异
| 对比项 | Claude.ai 聊天 | Claude Code |
|---|---|---|
| 能修改文件 | ❌ | ✅ |
| 能运行命令 | ❌ | ✅ |
| 看到整个代码库 | ❌ | ✅ |
| 操作 Git | ❌ | ✅ |
| 连接外部工具 | ❌ | ✅(MCP) |
| 多代理并行 | ❌ | ✅ |
来源:How Claude Code Works | Anthropic 官方文档