Claude Code 如何工作
简单来说:Claude Code 就像一个超级聪明的编程搭档,它能在你的电脑上自动帮你写代码、改 bug、运行命令、搜索文件……几乎所有你在终端里能做的事,它都能干!
本节带你彻底搞懂它的底层原理(代理循环、模型、工具等),看完你就知道它为什么这么强大,以及怎么用得更顺手。
Claude 的工作流程
当你给 Claude 一个任务时,它会像人类一样循环思考三个步骤:
- 收集上下文(看你的代码、文件、错误信息)
- 采取行动(编辑文件、运行命令、搜索等)
- 验证结果(检查是否成功,哪里还需要调整)
这三个步骤会不断循环,直到任务完成,当然我们也可以随时可以打断它、给新指示,或者说"换个方法试试"。
Claude 虽然能自主工作,但永远听你的指挥!
Prompt → 获取上下文 → 执行动作 → 验证结果 →(循环)→ 完成

整个循环靠两样东西驱动:
- 模型(负责思考和推理)
- 工具(负责真正动手做事)
模型(Claude 的大脑)
Claude Code 使用 Anthropic 的 Claude 模型来理解代码和规划任务,它能看懂几乎所有编程语言,知道你的项目结构,还能把复杂任务拆成小步骤一步步执行。
常用模型推荐:
- Sonnet:最适合日常编码任务(速度快、性价比高)
- Opus:适合特别复杂的架构设计和深度推理
不过我们国内使用官方的模型不太友好,我们可以切换到其他国内模型。
切换模型:
- 在提示框输入
/model - 或启动时用
claude --model sonnet

工具(Claude 能真正动手的原因)
没有工具,Claude 只能聊天,有了工具,它就能真正改你的代码!
Claude 内置了五大类工具:
- 文件操作:读文件、改代码、新建文件、重命名
- 搜索:按文件名或正则表达式快速找代码
- 执行命令:运行 npm、git、测试、启动服务器等
- 网络搜索:查文档、查错误信息
- 代码智能:查看类型错误、跳转定义、找引用(需安装对应语言插件)
真实案例(修复失败测试时):
- 运行测试看哪里挂了
- 阅读错误日志
- 搜索相关源文件
- 阅读文件理解逻辑
- 修改代码
- 再次运行测试验证
这就是代理循环的实际样子!
进阶扩展:你还可以用 skills(技能)、MCP(外部服务)、hooks(自动化)、subagents(子助手)让它更强大。
Claude 可以访问什么
Claude Code 能看到你的整个项目(不像普通 AI 只能看当前打开的文件):
- 你的项目文件夹及所有子文件
- 终端能执行的任何命令(npm、git、构建工具等)
- 当前 Git 状态(分支、未提交修改、提交历史)
- CLAUDE.md 文件(你可以在这里写项目专属规则,让 Claude 每次都记住)
- 自动记忆(它会记住你的项目习惯,保存在 MEMORY.md 前 200 行)
- 你配置的扩展(MCP、skills 等)
正因如此,它能跨多个文件协调修改、自动跑测试、甚至帮你提交代码。
执行环境与界面
Claude Code 可以在三种环境里运行:
- 本地(默认):完全在你电脑上,权限最高
- 云端(Anthropic 虚拟机):适合处理大项目或你本地没有的环境
- 远程控制:从浏览器操作,但代码仍在你本地
界面支持:终端、VS Code 扩展、JetBrains、claude.ai/code、Slack、CI/CD 等。底层工作原理完全一样!
跨分支工作(Git 分支切换也能无缝使用)
Claude Code 的每个对话都和当前文件夹绑定(而不是和 Git 分支绑定)。这带来了非常实用的特性:
- 当你切换 Git 分支时(
git checkout或git switch),Claude 会自动看到新分支的文件,但你的聊天记录保持不变。 - Claude 依然记得之前讨论过的所有内容和决定,即使跨分支也不会丢失上下文。
- 当你恢复旧对话时,只会显示当前文件夹里的会话记录(不同分支如果在同一文件夹,就共用历史)。
并行多分支开发神器:
推荐使用 git worktrees 为每个分支创建一个独立目录,这样你就可以同时打开多个 Claude Code 会话,每个分支都有自己完全独立、干净的对话记录,不会互相干扰。
恢复或分叉会话(继续聊 / 新开一条线)
Claude Code 支持三种灵活的会话操作,让你随时接上之前的进度或尝试不同方案:
1、直接恢复会话(最常用)
命令:
claude --continue # 或者 claude --resume
效果:
- 使用相同的会话 ID,从上次中断的地方继续
- 完整聊天历史全部恢复
- 注意:会话范围的权限不会自动恢复,需要你重新批准一次
2、分叉会话(推荐!尝试新方案不影响原对话)
命令:
claude --continue --fork-session
效果:
- 创建一个全新的会话 ID
- 保留到目前为止的所有聊天历史
- 原会话完全不受影响
- 同样需要重新批准权限
适用场景:想试试"另一种实现方式"又不想把原对话搞乱时,就用这个!
3、 多个终端同时使用同一个会话(小心使用)
- 如果你在多个终端窗口都用
claude --continue恢复同一个会话:- 所有消息会交错混在一起(就像两个人同时在同一个笔记本上写字)
- 对话会变得混乱
- 每个终端当时只能看到自己输入的消息,但后续恢复时会看到全部交错内容
正确做法:想并行工作时,务必使用 --fork-session,给每个终端一个干净独立的新会话。
上下文窗口(Claude 的记忆容量)
Claude 有上下文容量限制。当快满时:
- 它会自动压缩旧内容
- 你可以输入
/compact手动压缩 - 输入
/context查看当前占用情况
省空间秘诀:
- 重要规则写进 CLAUDE.md
- 用 skills 和 subagents 减少不必要的上下文占用
安全机制(检查点 + 权限控制)
1、检查点(随时后悔)Claude 修改文件前会自动备份。只要按两次 Esc,或说"撤销刚才的修改",就能回到之前状态。
2、权限模式(按 Shift + Tab 快速切换):
- 默认:每次改文件或跑命令都问你
- 自动接受编辑:只改文件不问,但命令仍会问
- 计划模式:只分析、不动手,先给你完整计划
你还可以在 .claude/settings.json 里白名单信任命令(比如 npm test 永远不用问)。
有效使用 Claude Code 的 6 个实用 Tips
-
直接问它怎么用自己
输入:"我怎么设置 hooks?" 或 "/init" 它就会手把手教你。 -
这是对话,不是一次性命令
先说大概需求 → 它试试 → 你再纠正:"这不对,问题是会话处理"
不用每次都重写提示! -
随时打断它
它走偏了?直接输入新指示按回车,它立刻停下来调整。 -
提示越具体越好
坏例子: "修复登录错误"
好例子: "持卡人过期的用户结账流程坏了,检查 src/payments/,尤其是令牌刷新。先写个失败测试再修复。" -
让它自己验证
加上测试用例或预期结果,它会跑测试确认。 -
先探索再实现
先用计划模式(Shift+Tab 两次)让它分析代码库、给出计划 → 你审核后再让它动手。