乐于分享
好东西不私藏

AI训练营——Day32:Claude Code 上下文技巧

AI训练营——Day32:Claude Code 上下文技巧

Day 4|上下文技巧:如何在有限的 Token 中塞入更多信息

🎯 目标:掌握上下文管理技巧,让 AI 在有限窗口内输出更精准的结果


一、理论部分

为什么上下文是 AI 编程的核心瓶颈?

Claude Code 的上下文窗口(Context Window)是有限的。每次对话,AI 只能”看见”窗口内的内容。当项目变大、对话变长,有效的上下文管理就变得至关重要。

常见问题:

  • • 项目文件太多,AI 读不过来
  • • 对话历史太长,前面的重要信息被”遗忘”
  • • 想要引用特定代码,却不知道怎么做

什么是上下文?理解 AI 的”视野”

上下文(Context)就是 AI 当前能看到的全部信息:

┌─────────────────────────────────────────────┐│              AI 的上下文窗口                  │├─────────────────────────────────────────────┤│  系统提示 (System Prompt)                     ││  ─────────────────────────────────────────  ││  当前项目文件内容                             ││  ─────────────────────────────────────────  ││  对话历史 (Chat History)                     ││  ─────────────────────────────────────────  ││  用户当前输入 (Your Message)                  │└─────────────────────────────────────────────┘

当窗口填满时,最早的内容会被”挤出去”。所以,上下文管理的本质是:确保 AI 始终看到最重要的信息。

三大上下文技巧

技巧 1:精准引用,而非复制粘贴

❌ 错误做法:把整个文件复制到对话里

这是我的整个组件,请帮我修改:[粘贴 500 行代码]

✅ 正确做法:使用文件路径 + 关键函数名

帮我修改 src/components/UserList.tsx 中的 handleSearch 函数,让它支持分页搜索。

技巧 2:巧用 @ 符号引用文件

Claude Code 支持 @ 符号直接引用项目文件:

@src/api/user.ts  ← 引用特定文件@src/components   ← 引用整个目录

这样 AI 会自动读取文件内容,比手动复制更准确、更省 Token。

技巧 3:分步骤操作,而非一步到位

❌ 错误做法

帮我重构整个项目,包括:1. 重写所有组件为 TypeScript2. 添加错误边界3. 优化性能

✅ 正确做法:拆分成多个请求

第一步:帮我找出所有需要重构的 JavaScript 组件第二步:帮我把 UserList.jsx 转换为 TypeScript第三步:...

二、实操部分

场景:接手一个 500+ 文件的遗留项目,需要快速修改

你刚接手一个大型遗留项目,里面有 500+ 个文件,如何高效地让 AI 帮你工作?


Step 1:使用 @ 符号精准引用

# 启动 Claude Codeclaude# 精准引用单个文件@src/components/Button.tsx 这个按钮组件可以更简洁吗?# 引用多个相关文件@src/components/Button.tsx @src/components/Modal.tsx 帮我对比这两个组件,找出可以复用的部分# 引用整个目录@src/hooks/ 帮我审查这些 Hooks,看有没有性能问题

Step 2:使用文件路径 + 函数名定位

# 指定具体函数,而非整个文件帮我优化 src/utils/dataProcessor.ts 中的 parseUserData 函数# 指定行号范围(如果有需要)帮我修改 src/components/Form.tsx 的 45-80 行,提取出表单验证逻辑# 指定修改目标在 src/api/client.ts 的 fetchData 函数中添加缓存逻辑

Step 3:利用 Claude Code 的自动读取能力

Claude Code 会自动读取项目中的关键文件,但你可以优化它读取的内容:

在 CLAUDE.md 中指定”必须读取”的文件:

## 重要文件路径### 必读文件- src/config/constants.ts  # 项目常量定义- src/types/index.ts      # 全局类型定义- .eslintrc.js           # ESLint 配置### 参考文件- docs/API.md             # API 文档- docs/ARCHITECTURE.md    # 架构说明

Step 4:分步骤操作大型任务

案例:重构整个表单模块

# 第一步:了解现状@src/components/Form/  帮我分析这个表单模块的结构# 第二步:制定计划基于上面的分析,帮我制定重构计划,分 3 步走# 第三步:执行第一步按计划执行第一步:提取公共验证逻辑# 第四步:执行第二步执行第二步:组件拆分# 第五步:执行第三步执行第三步:添加 TypeScript 类型

三、高级技巧

技巧 A:使用 /read 命令快速查看文件

/read src/components/Modal.tsx

这会直接读取文件内容到上下文中,比复制粘贴更高效。

技巧 B:结合搜索定位问题

# 先搜索问题所在帮我找 src/ 中所有使用 .innerHTML 的地方,这些可能有 XSS 风险# 然后精准修改帮我修复 src/utils/dom.ts 中的 XSS 问题

技巧 C:利用 Tree-of-Thought 思考复杂问题

对于复杂重构,先让 AI 分析再执行:

# 先分析@src/hooks/ 分析这个目录下所有 Hook 的依赖关系,输出一份依赖图和潜在问题的报告# 再执行根据上面的分析,帮我重构 useAuth 和 useUser 两个 Hook,消除它们的循环依赖问题

四、Token 节省指南

操作
Token 消耗
节省技巧
复制整个文件
用 @path 引用代替
粘贴错误日志
只贴关键几行 + 错误类型
粘贴完整代码
改为 “在 X 文件的 Y 函数中”
复制终端输出
总结关键信息,而非全量复制
引用多个文件
批量引用:@src/components/

📤 学员带走

**@ 引用语法** — 精准引用单个文件或目录,比复制粘贴更高效  **分步骤操作** — 大型任务拆分为多个小步骤,保持上下文清晰  **Token 节省清单** — 记住每个操作的 Token 消耗,养成高效习惯


💬 公众号内容要点

痛点引入

“为什么 AI 越用越慢?”

刚用 Claude Code 时,它反应飞快、回答精准。但用着用着,AI 开始”变笨”了——回答变得笼统、开始胡编代码、遗漏关键需求。

原因很可能是:你的上下文管理出了问题。

核心对比

做法
效果
复制粘贴整个文件
Token 爆炸,AI 可能忽略关键部分
@ 引用文件
AI 按需读取,精准又高效
一次提 N 个需求
上下文混乱,AI 顾此失彼
分步骤操作
每步专注,输出质量更高

黄金法则

让 AI 始终看到它需要的信息,不多不少。


📚 相关资源

  • • Claude Code 上下文管理:https://docs.anthropic.com/en/docs/build/claude-code
  • • Token 计算器:https://anthropic-tokenizer.netlify.app/
  • • claude-howto 项目:https://github.com/anthropics/claude-code-howto