How Claude Code works
- 分组:一、官方文档
- 原始链接:https://code.claude.com/docs/en/how-claude-code-works
- 抓取来源:http://code.claude.com/docs/en/how-claude-code-works
- 原始文件:/Users/yuanruiqin/Desktop/知识库/ClaudeCode-系统化知识库/01-官方文档/03-how-claude-code-works.md
- 精读版生成时间:2026-04-05 13:50:44
中文精读版(去噪)
代理循环由两个组件提供支持:推理的模型和行动的工具。 Claude Code 充当 Claude 周围的代理工具:它提供工具、上下文管理和执行环境,将语言模型转变为有能力的编码代理。
模型
Claude Code 使用 Claude 模型来理解您的代码并推理任务。 Claude 可以阅读任何语言的代码,了解组件如何连接,并找出需要更改哪些内容才能实现您的目标。对于复杂的任务,它将工作分解为步骤,执行它们,并根据所学到的知识进行调整。多种模型可用于不同的权衡。 Sonnet 可以很好地处理大多数编码任务。 Opus 为复杂的架构决策提供了更强有力的推理。在会话期间使用 /model 进行切换,或者从 claude --model <name> 开始。当本指南说“Claude 选择”或“Claude 决定”时,模型会进行推理。
工具
| 类别 | 克劳德能做什么 |
|---|---|
| 文件操作 | 读取文件、编辑代码、创建新文件、重命名和重新组织 |
| 执行 | 运行 shell 命令、启动服务器、运行测试、使用 git |
| 代码智能 | 编辑后查看类型错误和警告,跳转到定义,查找引用(需要代码智能插件) |
这些是主要能力。 Claude 还拥有用于生成子代理、向您提问以及其他编排任务的工具。有关完整列表,请参阅Claude 可用的工具。Claude 根据您的提示以及一路上学到的内容选择要使用的工具。当你说“修复失败的测试”时,克劳德可能会:
- 运行测试套件以查看失败的原因 2.读取错误输出 4.阅读这些文件以理解代码
- 编辑文件以解决问题
- 再次运行测试以验证
每次使用工具都会为克劳德提供新的信息,为下一步提供信息。这是行动中的代理循环。**扩展基本功能:**内置工具是基础。您可以使用 skills 扩展 Claude 的知识,使用 MCP 连接到外部服务,使用 hooks 自动化工作流程,以及将任务卸载到 subagents。这些扩展在核心代理循环之上形成了一层。请参阅扩展 Claude Code,获取有关选择适合您需求的扩展的指南。
克劳德可以访问什么
本指南重点介绍终端。 Claude Code 还可以在 VS Code、JetBrains IDE 和其他环境中运行。当您在目录中运行 claude 时,Claude Code 可以访问:
您的项目。 您的目录和子目录中的文件,以及经您许可的其他位置的文件。 您的终端。 您可以运行的任何命令:构建工具、git、包管理器、系统实用程序、脚本。如果您可以从命令行执行此操作,那么 Claude 也可以。 您的 git 状态。 当前分支、未提交的更改和最近的提交历史记录。 您的 CLAUDE.md。 一个 Markdown 文件,您可以在其中存储 Claude 应该了解每个会话的项目特定说明、约定和上下文。 自动记忆. Claude 会在您工作时自动保存学习内容,例如项目模式和您的偏好。 MEMORY.md 的前 200 行或 25KB(以先到者为准)在每个会话开始时加载。 **您配置的扩展。**MCP 服务器 用于外部服务,技能 用于工作流程,子代理 用于委派工作,Claude in Chrome 用于浏览器互动。
环境和接口
上述代理循环、工具和功能在您使用 Claude Code 的任何地方都是相同的。改变的是代码的执行位置以及与之交互的方式。
执行环境
Claude Code 在三种环境中运行,每种环境对于代码的执行位置都有不同的权衡。
| 环境 | 代码在哪里运行 | 使用案例 |
|---|---|---|
| 本地 | 您的机器 | 默认。对您的文件、工具和环境的完全访问权限 |
| 云 | 人工管理的虚拟机 | 卸载任务,处理本地没有的存储库 |