Lazy loaded image
Claude Code Context 管理策略
Words 2322Read Time 6 min
2025-12-29
Column 1
Column 2

问题背景

在处理大型代码库时,Claude Code 的 context window 容易被大文件占满,触发频繁 auto-compact,导致:
  • 丢失重要上下文
  • 重复读取相同文件
  • 推理效率下降

核心策略

1. 预防性 Context 管理

策略
操作
意图驱动定位
用自然语言描述意图,Claude 自动选择最优工具(grep/awk/find 等)
分块读取
使用 Read 时指定行范围,如 Read file.c:100-200
Subagent 委托
将代码审查、测试生成、安全扫描等任务委托给专业子代理
排除无关文件
.claude/settings.json 配置忽略规则

2. 意图驱动原则

Claude Code 会根据意图自动选择最优工具,无需手动指定命令。
关键命令:
  • /compact — 手动触发压缩,保留关键上下文
  • /clear — 清空当前会话,重新开始
  • /agents — 调用或创建专业子代理

3. Subagent 委托模式

使用场景:主会话保持高层控制,将 token 密集型任务(大文件扫描、全量测试)委托给子代理,结果摘要返回主会话。

4. Context 保护技巧

  • 分会话处理:不同模块使用独立会话
  • 增量编辑:优先使用 Edit 替换小段代码,而非重写整文件

典型场景处理

场景 A:分析 10000+ 行源文件

工作流:意图定位 → 精准读取 → 分段处理
Step 1:用自然语言描述意图,Claude 自动生成索引
Claude 会自动选择最优工具执行(如 grep/awk/ctags)。
Step 2:精准读取目标段

场景 B:10000+ 行源文件重构

工作流:结构索引 → 模块边界识别 → 分层拆解 → 逐模块重构
Step 1:用自然语言描述意图,生成完整结构索引
Step 2:识别模块边界与依赖
Step 3:委托 Subagent 审查拆分方案
Step 4:将拆分方案持久化到 CLAUDE.md
CLAUDE.md 示例结构:
Step 5:逐模块重构(分会话)
Step 6:验证重构完整性

场景 C:跨文件重构

工作流:意图扫描依赖 → Subagent 审查 → 逐文件修改
Step 1:用自然语言定位所有相关文件
Step 2:委托 Subagent 审查
Step 3:逐文件修改

场景 D:调试复杂 Bug

工作流:日志分析 → 意图追踪调用链 → 验证假设
Step 1:提供日志,生成假设
Step 2:追踪调用链
 
Step 3:精准读取验证

场景 E:新功能增量开发

工作流:设计先行 → Subagent 测试 → 分步实现
Step 1:生成设计方案
Step 2:委托 Subagent 生成测试
Step 3:分步实现

场景 F:代码审查与优化

工作流:委托 Subagent 审查 → 主会话接收摘要 → 精准修复
Step 1:委托专业 Subagent
Step 2:主会话接收结果并修复
Step 3:委托安全扫描(可选)

场景 G:遗留代码理解

工作流:意图生成调用图 → 逐层展开 → 建立心智模型
Step 1:生成调用关系
Step 2:逐层展开
Step 3:深入关键模块

配置建议

1. Context 配置

.claude/settings.json 中添加:

2. Subagent 配置示例

.claude/agents/ 目录下创建以下 Markdown 文件:
文件名
权限
YAML Frontmatter
只读
name: code-reviewer | tools: [Bash, Read] | permissions: {allow: [read]}
读写
name: test-writer | tools: [Bash, Read, Edit, Write] | permissions: {allow: [read, write]}
只读
name: security-auditor | tools: [Bash, Read] | permissions: {allow: [read]}
只读
name: perf-optimizer | tools: [Bash, Read] | permissions: {allow: [read]}
📄
完整示例:.claude/agents/code-reviewer.md
YAML Frontmatter(文件开头,用三个破折号包裹):
name: code-reviewer
description: 代码质量审查专家
tools: [Bash, Read]
permissions: { allow: [read] }
系统提示词(Frontmatter 下方):
# Code Reviewer
你是嵌入式 C/C++ 代码审查专家。
审查重点: 内存安全 | 中断安全 | 实时性 | MISRA-C 规范
输出格式: 致命 → 严重 → 警告 → 建议
🧪
test-writer.md | tools: [Bash, Read, Edit, Write] | permissions: { allow: [read, write] }
系统提示词要点:
覆盖边界条件 / 错误路径 / 竞态条件,使用 Unity Test Framework + CMock
🔒
security-auditor.md | tools: [Bash, Read] | permissions: { allow: [read] }
系统提示词要点:
扫描缓冲区溢出 / 整数溢出 / 硬编码凭证,输出 CWE 编号 + 风险等级
perf-optimizer.md | tools: [Bash, Read] | permissions: { allow: [read] }
系统提示词要点:
分析时间/空间复杂度 / WCET / 功耗,建议查找表 / DMA / 定点数

总结

阶段
行动
预防
配置忽略规则 + 分块读取
执行
摘要→定位→分段处理
恢复
/compact 保留核心 + CLAUDE.md 锚定
 
上一篇
Data Structure and Algorithm
下一篇
用面试拷问嵌入式技术栈

Comments
Loading...