首页 教程 常见问题

Claude Code 工作原理

了解 Claude Code 的智能代理循环、内置工具,以及它如何与你的项目交互。

Claude Code 是什么

Claude Code 是一个运行在终端中的智能代理(Agentic Agent)。虽然它擅长编程,但它能帮你做任何命令行能做的事情:编写文档、运行构建、搜索文件、研究课题等。

智能代理循环(The Agentic Loop)

当你给 Claude 一个任务时,它会经历三个阶段:

  1. 收集上下文 — 读取文件、搜索代码、理解现状
  2. 采取行动 — 编辑文件、运行命令、创建新内容
  3. 验证结果 — 运行测试、检查输出、确认改动正确

这三个阶段是交织在一起的。Claude 在整个过程中持续使用工具——无论是搜索文件来理解代码,还是编辑文件来做修改,还是运行测试来验证工作。

代理循环会根据你的问题灵活调整:

Claude 根据上一步学到的信息决定下一步需要什么,将数十个操作串联在一起,并在过程中调整方向。

模型(Models)

Claude Code 使用 Claude 模型来理解代码和推理任务。Claude 能读懂任何编程语言的代码,理解组件之间的连接方式,并确定需要修改什么来实现你的目标。

在会话中用 /model 切换模型,或启动时用 claude --model <名称> 指定。

工具(Tools)

工具是 Claude Code 具备"代理能力"的关键。没有工具,Claude 只能输出文字;有了工具,Claude 可以行动:

工具类别Claude 能做什么
文件操作读取文件、编辑代码、创建新文件、重命名和重组
搜索按模式查找文件、正则搜索内容、探索代码库
命令执行运行 Shell 命令、启动服务、运行测试、操作 Git
Web 访问搜索网页、抓取文档、查找错误信息
代码智能查看类型错误和警告、跳转到定义、查找引用

Claude 根据你的提示和沿途学到的信息选择使用哪些工具。例如,当你说"修好失败的测试"时,Claude 可能会:

  1. 运行测试套件查看哪些失败了
  2. 读取错误输出
  3. 搜索相关源文件
  4. 读取文件以理解代码
  5. 编辑文件修复问题
  6. 再次运行测试验证

每次工具使用都给 Claude 带来新信息,这些信息又指导下一步行动。这就是智能代理循环的运行方式。

Claude 能访问什么

当你在目录中运行 claude 时,它可以访问:

因为 Claude 能看到整个项目,它可以跨文件工作。当你说"修好认证 Bug"时,它会搜索相关文件、读取多个文件理解上下文、跨多个文件协调修改、运行测试验证修复,并按你的要求提交更改。这与只能看到当前文件的行内代码助手不同。

会话(Sessions)

Claude Code 会将你的对话本地保存。每条消息、每次工具使用和结果都以纯文本 JSONL 格式存储在 ~/.claude/projects/ 目录下。

会话是独立的

每个新会话都从全新的上下文窗口开始,不包含之前会话的对话历史。Claude 可以通过自动记忆跨会话持久化经验,你也可以通过 CLAUDE.md 添加自己的持久化指令。

继续或分支会话

上下文窗口

Claude 的上下文窗口包含:对话历史、文件内容、命令输出、CLAUDE.md、自动记忆、加载的技能和系统指令。

当上下文满了

Claude Code 会在接近上限时自动管理上下文:

建议:将持久化规则放在 CLAUDE.md 中,而不是依赖对话历史。运行 /context 可以查看上下文使用情况。

用技能和子代理管理上下文

安全机制:检查点和权限

检查点(Checkpoints)

每次文件编辑都是可逆的。在 Claude 编辑任何文件之前,它会保存当前内容的快照。如果出了问题,按两次 Esc 回滚到之前的状态,或直接让 Claude 撤销。

检查点与会话本地绑定,与 Git 分开。它们只覆盖文件更改。影响远程系统的操作(数据库、API、部署)无法被检查点,这就是为什么 Claude 在运行有外部副作用的命令前会先询问你。

权限模式

Shift+Tab 切换权限模式:

模式行为
默认Claude 在编辑文件和运行 Shell 命令前会询问你
自动接受编辑Claude 可以不经询问编辑文件和运行常用命令(如 mkdirmv),其他命令仍需确认
计划模式Claude 只使用只读工具,创建计划等你批准后再执行
自动模式Claude 通过后台安全检查评估所有操作(研究预览版)

高效使用 Claude Code 的技巧

让 Claude Code 教你

Claude Code 可以教你如何使用它。问诸如"如何设置钩子?"或"组织 CLAUDE.md 的最佳方式是什么?",Claude 会解释。

这是一个对话过程

你不需要完美的提示词。从你想要什么开始,然后逐步完善:

修好登录 Bug

如果第一次尝试不完全正确,你不需要重新开始。直接指出问题,Claude 会调整方法。

随时中断和调整方向

你可以在任何时候打断 Claude。如果它走错了路,直接输入你的纠正并按回车。Claude 会停止当前操作并根据你的输入调整方向。

下一步