首页 / / 第03篇

03 · 工作原理:代理循环与内置工具

一 · 03

代理循环、上下文窗口、内置工具和权限确认机制,解释它如何从理解任务走到修改文件与验证结果。

要真正用好 Claude Code,得先搞懂它「脑子里」在怎么转。这一篇讲它的工作原理——四个核心机制:代理循环、上下文窗口、内置工具、权限确认。后面所有的功能都建立在这四个机制上。

核心是「代理循环」。它是一个不断重复的闭环:理解你的任务 → 决定下一步做什么 → 调用工具执行 → 看结果 → 再决定下一步,直到任务完成或需要你介入。

flowchart LR
  A[你的任务] --> B[理解任务]
  B --> C{决定下一步}
  C -->|Read| D[调用工具]
  C -->|Bash| D
  C -->|Edit| D
  C -->|Grep| D
  D --> E[看结果]
  E --> C
  C -->|需要你拍板| F[停下等审批]
  E -->|完成| G[交付]
  style A fill:#5eead4,color:#050a0f
  style G fill:#5eead4,color:#050a0f
  style F fill:#a78bfa,color:#050a0f
  style C fill:#0f1a24,color:#e6f1f5
  style D fill:#0f1a24,color:#e6f1f5
  style E fill:#0f1a24,color:#e6f1f5
  style B fill:#0f1a24,color:#e6f1f5

举个具体的推进例子:你让 Claude Code「分析这个 Python 脚本的 bug」,它可能先 `Read` 文件读内容,再 `Bash` 跑一下看实际报错,再 `Grep` 找相关代码块定位 bug,最后 `Edit` 修改并 `Bash` 验证修复。这每一步都是基于上一步的结果推进。

代理循环有3 个关键特征值得记一下:一是「它自己决定下一步」,你不用一步一步指挥;二是「可以中途被打断」,你可以随时纠正方向;三是「可以停在需要你拍板的地方」,不可逆的动作它不会擅自动手。

「上下文窗口」是它「能同时看到的全部信息」。包括:你的任务描述、它读过的文件内容、跑过的命令输出、它的思考过程、以及你们的对话历史。窗口是有限的——装满了旧信息会被挤掉,这就是为什么后面会有「上下文管理」这个专门的技巧。

理解上下文窗口的关键一个比喻是「短期记忆」。它的短期记忆是有限的,所以它不会像你一样「记住三个月前项目的所有细节」——它只记得「现在这一刻需要知道的」。节省上下文的几种常见做法:清理无关文件引用、压缩旧对话、分任务而不是塞一起。

「内置工具」是它的「手脚」。Claude Code 自带一批内置工具,每个对应一种能力。常见的有:读文件(Read)、写文件(Write)、编辑文件(Edit)、搜索代码(Grep)、执行命令(Bash)、访问网络(WebFetch)等。每个工具都有「能做什么」「不能做什么」「需要什么前置条件」这些边界,而**这些边界正是安全机制起作用的地方**。

举几个具体工具的例子:Read 工具只能读项目内的文件,不能读系统文件;Bash 工具只能跑被沙箱允许的命令;Edit 工具只能改项目内文件。**这些边界是写死的**,你不能通过任务描述绕过——这是底线。

「权限确认机制」是它的刹车。当它要做一件有风险的事——删文件、执行某条命令、访问外网——系统会先停下来问你「要不要批准」。你可以全自动放行(适合低风险、反复操作)、可以每次手动确认(适合高风险、新场景)、可以按规则放行(适合批量同类型操作)。

权限确认的本质是「让人类保留否决权」。AI 再聪明也不能替你做不可逆的决定——删文件、改数据库、生产部署这些动作,它都应该停下来等你点头。这是人和 AI 的合理分工。

沙箱也是重要一环:默认情况下,写文件只能在项目目录内、跑命令不能碰系统目录、联网要么被禁止要么要审批。沙箱不是「关在笼子里」,而是「在一个可控范围内干活」。

Git 工作区是它的安全网,也是你的后悔药。Claude Code 做的改动通常都在 Git 的追踪之下:你可以随时用 `git diff` 看它改了什么、可以一键回退到改动前的状态、可以在觉得不对劲的时候整个丢弃这次尝试。**没有 Git 用 AI 干活,相当于不系安全带开车**——可能没事,但出事了就是大事。

Git 的几个关键习惯:开始前 `git status` 看一下干净状态、改完用 `git diff` 看具体改了什么、确认满意后再 `git commit`、不满意就 `git checkout` 扔掉。这四个动作加起来,比任何「AI 安全机制」都管用。

把这四个概念串起来,Claude Code 的完整工作方式就清楚了:在有限上下文窗口里,沿着代理循环,用内置工具执行动作,遇到风险动作就停下来等你确认,所有改动都有 Git 兜底。

一个自查清单:当你看到 Claude Code 的某个新功能时,问自己三个问题——它动了哪个工具?它怎么用上下文?它受权限和沙箱管吗?想清楚这三个,你就永远知道它能干什么、不能干什么、什么时候该按 Esc 停下来。

常见误区:很多新手会把这一篇讲的「基本规则」当成「教条」——什么都严格遵守。其实这些规则的核心是「降低风险、提高效率」,理解了动机,规则就自然内化了,不用死记硬背。

动手试一下:你可以花 5 分钟做一个最小验证——找一个真实的代码任务,让 Codex 跑一遍,看它的行为是不是和这一篇描述的一致。理论与实践对照,才知道「懂」和「会用」是两件事。

延伸阅读:学完这一篇,你可以看本组里的下一篇,把相邻的概念连起来读;也可以跳到更后面的组学 MCP、子代理、Skills 这些更深的能力。知识是网状的,多跳几篇会理解更深。

实用清单(速记版):① 适用场景:{场景}。 ② 关键动作:{动作}。 ③ 风险点:{风险}。 ④ 验证方法:{验证}。把这四点记住,能让你在大部分场景下做出正确决策。

本教程为原创内容,共 53 篇,覆盖 Claude Code 从入门到高级实战的完整路径。可随时从顶部导航返回目录,或用左侧目录跳转其他章节。