1.2 Claude Code 的核心架构:Agentic Loop

当你说"帮我修好这个 bug",它在做什么?
你输入一句话,然后看着终端里开始滚动内容——它在读文件,运行命令,改代码,跑测试……
这背后有一套相对固定的运作机制,叫做 Agentic Loop(代理循环)。
理解这个循环,你就理解了 Claude Code 的全部逻辑。
Agentic Loop:三个阶段,不断循环
你的任务
↓
┌─────────────────────────────────────┐
│ 1. 收集上下文(Gather Context) │
│ 读文件、搜索代码、了解情况 │
│ ↓ │
│ 2. 执行操作(Take Action) │
│ 修改文件、运行命令、调用工具 │
│ ↓ │
│ 3. 验证结果(Verify Results) │
│ 跑测试、检查输出、判断是否完成 │
│ ↓ │
│ 完成了?→ 结束。没完成?→ 回到① │
└─────────────────────────────────────┘这三个阶段不是严格按顺序走的,而是根据需要随时切换。有时候一个小任务只需要"收集+执行"两步就结束了;一个复杂的重构可能要循环十几次。
关键是:每一步的结果都会影响下一步的决策。Claude Code 不是盲目执行,它在不断学习任务的状态。
举个真实的例子
你说:修复用户登录后跳转到空白页的 bug
它实际上做的事情可能是这样的:
- 搜索:找到
auth/目录,读取登录相关文件 - 读取:打开
login.ts、router.ts、session.ts - 分析:发现登录成功后的 redirect 路径有问题
- 修改:编辑
router.ts中的 redirect 逻辑 - 验证:运行
npm test,检查登录相关测试是否通过 - 再检查:测试通过,扫一眼有没有其他地方用了同样的写法
- 报告:告诉你改了什么,为什么这样改
这整个过程,你只说了一句话。
它有哪些工具可以用?
Claude Code 内置了五类工具,覆盖了日常开发的大部分操作:
| 工具类别 | 具体能做什么 |
|---|---|
| 📁 文件操作 | 读取、编辑、创建、重命名文件 |
| 🔍 搜索 | 按文件名查找、用正则搜索代码内容 |
| ⚡ 执行 | 运行任意终端命令、启动服务器、执行测试、操作 git |
| 🌐 网络 | 搜索网页、获取文档、查询错误信息 |
| 🧠 代码智能 | 查看类型错误、跳转到定义、查找引用(需要安装插件) |
注意"执行"这一类:任何你能在终端里敲的命令,Claude Code 都能运行。这是它最强大的地方,也是为什么使用时要注意权限设置(后面章节会详细讲)。
它能"看到"什么?
Claude Code 启动时,会获得以下访问权限:
- 你的项目文件:当前目录及子目录下的所有内容
- 终端:可以运行命令,就像你在终端里手动敲一样
- Git 状态:当前分支、未提交的改动、最近的提交历史
- CLAUDE.md:你写给它的"项目说明书"(后面专门讲这个)
- 自动记忆:它在工作中自己积累的一些偏好和发现
这就是为什么 Claude Code 能做"跨文件"的工作——它从一开始就能看到整个项目,而不只是你当前打开的那一个文件。
你也是循环的一部分
有一点很重要:Agentic Loop 并不是完全自动的黑箱。
你随时可以打断它,纠正方向,补充信息。它在等待你输入的时候会暂停,需要你批准某个操作时也会先问你。
这个"人在回路"(human-in-the-loop)的设计是故意的——AI 再聪明,也会理解错需求,或者走弯路。你的介入是对任务质量的保障。
💡 实用提示
如果你发现它走错方向了,不用等它跑完再纠正。直接打断(Ctrl+C),重新说清楚你要什么。 早纠正比晚纠正省 token,也省时间。
下一节,我们来看 Claude Code 支持哪些运行环境——以及对新手来说,从哪个环境入手最合适。
