跳到正文

核心工作循环

用时:45 分钟 | 难度:⭐ 入门

目标

理解 Claude Code 的实际工作原理——决策循环、上下文机制,以及如何有效地构建请求。


你将学到

  • 完整交互循环(提示词 → 分析 → 决策 → 行动)
  • Claude 如何读取并理解你的项目
  • 上下文的运作机制及其重要性
  • 模式:普通模式、计划模式和思考模式
  • 如何构建高效的请求

完整循环(深度解析)

与 Claude Code 的每次交互都遵循以下序列:

Plain
┌──────────────────────────────────────────────────────────────┐
│ 1. 你提问                                                    │
│    "Fix the bug in auth.js on line 45"                      │
└────────────────────┬─────────────────────────────────────────┘


┌──────────────────────────────────────────────────────────────┐
│ 2. Claude 读取                                               │
│    - 读取 auth.js(完整文件)                               │
│    - 读取相关文件(auth-test.js、config.js 等)             │
│    - 理解错误上下文                                         │
│    - 分析 auth.js 的调用位置                                │
└────────────────────┬─────────────────────────────────────────┘


┌──────────────────────────────────────────────────────────────┐
│ 3. Claude 分析                                               │
│    - 定位根本原因                                           │
│    - 评估副作用                                             │
│    - 规划最小变更                                           │
│    - 检查测试用例                                           │
└────────────────────┬─────────────────────────────────────────┘


┌──────────────────────────────────────────────────────────────┐
│ 4. Claude 决策                                               │
│    变更是否需要测试?→ 建议更新测试                         │
│    变更是否安全?→ 继续或请求确认                           │
│    是否涉及多个文件?→ 展示完整影响范围                     │
└────────────────────┬─────────────────────────────────────────┘


┌──────────────────────────────────────────────────────────────┐
│ 5. Claude 提案                                               │
│    向你展示:                                               │
│    - 变更说明                                               │
│    - 差异对比(diff)视图(显示变更内容)                   │
│    - 推理过程                                               │
└────────────────────┬─────────────────────────────────────────┘


┌──────────────────────────────────────────────────────────────┐
│ 6. 你审阅                                                    │
│    - 仔细阅读差异对比(diff)                               │
│    - 如有疑问可提问                                         │
│    - 接受或拒绝变更                                         │
└────────────────────┬─────────────────────────────────────────┘


┌──────────────────────────────────────────────────────────────┐
│ 7. 变更应用                                                  │
│    - 文件已更新到磁盘                                       │
│    - 你现在可以测试/运行代码                                │
│    - 下一轮迭代开始                                         │
└──────────────────────────────────────────────────────────────┘

Claude 如何读取你的项目

Claude 不会读取所有内容,它在范围判断上很智能

示例:你问"修复登录 bug"

Claude 会:

  1. 在代码库中搜索"login"
  2. 找到 auth.js、login.js、auth-controller.js
  3. 优先读取这些文件(完整内容)
  4. 找调用方(哪些文件调用了这些文件?)
  5. 读测试文件(如果存在)
  6. 找相关配置(环境变量、常量)

Claude 不会读取:

  • node_modules(自动排除)
  • .git 历史(数据量太大)
  • 项目中的每个文件(太慢)
  • 与问题无关的整个代码库

专业技巧

明确指定范围:

  • ❌ "Fix the bugs" → Claude 必须猜测读哪些文件
  • ✅ "Fix the login bug in auth.js on line 45" → Claude 精准读取相关内容

上下文:核心概念

上下文是 Claude 能记住的对话量,是有限的(约 200K Token(词元))。

什么会消耗上下文?

Plain
你的提示词:       50 个 Token(词元)
Claude 的回复:    500 个 Token(词元)
文件读取:         每个文件 2000 个 Token(词元)
历史消息:         累积的 Token(词元)

上下文计量表

Bash
/status

显示:

Plain
Context: 67%

含义:

  • 0-50%:剩余空间充足,自由工作
  • 50-70%:已用一半,注意节省
  • 70-90%:快满了,使用 /compact
  • 90%+:临界状态,必须清理

/compact —— 你的安全阀

当上下文达到 70%+ 时,使用:

Bash
/compact

这会:

  1. 对之前的对话进行摘要
  2. 丢弃旧消息
  3. 释放约 40% 的上下文空间
  4. 让你继续在同一会话中工作

一次会话中可以多次压缩。


模式:普通 vs 计划 vs 思考

Claude Code 有三种交互模式。

普通模式(默认)

Claude 分析后立即进行变更。适用于:

  • 简单 bug 修复
  • 小功能添加
  • 小范围重构

流程:提问 → 分析(1-2 秒)→ 提案 → 应用

计划模式(/plan

Claude 先思考,提出计划,等你批准后再进行变更。适用于:

  • 复杂功能
  • 高风险变更
  • 全系统重构
  • 不确定方向时

流程:提问 → 思考 → 提出计划 → 你批准 → 分析 → 应用

示例

Bash
/plan
Refactor the authentication system to use JWT instead of sessions

Claude 会给出分步计划供你审阅。

思考模式(/think

Claude 展示扩展推理过程,逐步思考问题。适用于:

  • 理解复杂 bug
  • 架构决策
  • 安全分析
  • 性能优化

流程:提问 → 扩展推理 → 分析 → 提案


构建高效请求

框架:WHAT、WHERE、HOW、VERIFY

好的请求遵循以下模式:

部分用途示例
WHAT目标"修复空指针 bug"
WHERE范围"在 src/auth/login.js 第 45 行"
HOW约束条件"不改变 API 签名"
VERIFY预期结果"所有现有测试应通过"

好请求示例

Plain
Fix the bug where login fails for emails with + symbols
WHERE: src/controllers/auth.js, line 78 (email validation regex)
HOW: Update the regex to allow + in emails, but keep existing validation otherwise
VERIFY: Existing tests in tests/auth.test.js should pass

差请求示例

Plain
Fix the bugs

Claude 必须先追问才能解决问题。


会话上下文

会话是你当前与 Claude 的对话。

会话基本事实

  • 运行 claude 时开始
  • 退出或运行 /clear 时结束
  • 默认不保存
  • 限定在单个项目范围内
  • 可用 /rewind(回退 N 步)管理

会话检查点

要保存会话(可选):

Bash
/checkpoint save "fixed login, added tests"

之后恢复:

Bash
/checkpoint load "fixed login, added tests"

练习:完整循环

任务:创建一个简单的工具函数

  1. 使用 WHAT/WHERE/HOW/VERIFY 提问:
Plain
Create a utility function to validate email addresses
WHERE: in src/utils/validators.js
HOW: export as validateEmail(email), return boolean, handle edge cases
VERIFY: Write tests in tests/validators.test.js
  1. Claude 分析:

    • 找到 src/utils/
    • 读取已有的验证器
    • 检查测试目录结构
    • 提出解决方案
  2. 审阅差异对比(diff):

    • 检查函数签名
    • 检查验证逻辑
    • 审查测试用例
  3. 接受或迭代:

  4. Claude 更新,你再次审阅

  5. 完成: 你有了一个经过测试的可用函数


关键要点

✓ 每次请求都遵循:读取 → 分析 → 决策 → 提案 → 应用

✓ 具体描述(WHAT/WHERE/HOW/VERIFY)可获得更快的结果

✓ 上下文是有限的——关注使用百分比,70%+ 时使用 /compact

✓ 高风险变更用计划模式,安全变更用普通模式

✓ 会话是临时的——用 /checkpoint 保存重要工作


验证:以下都满足说明你已准备好

✓ 能向别人解释 7 步循环✓ 理解"上下文"的含义及其重要性✓ 知道计划模式和普通模式的区别✓ 已用 /plan 处理过复杂任务✓ 能查看 /status 并理解输出内容


下一步

模块 03:记忆与配置涵盖:

  • 创建你的第一个 CLAUDE.md
  • Claude 如何记住你的偏好
  • 项目级 vs 全局级设置
  • 自定义配置

这将教你如何让 Claude Code 记住你的风格和偏好。


完成模块 02? → 进入 模块 03:记忆与配置


来源:飞书 · AI Spark 知识库 | 原文(最新版):https://lcnniolukk80.feishu.cn/wiki/QY7KwziIviZQn8kpveScH0Gjnox | 归档:2026-06-04