07-上下文管理策略

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

Claude Code 高级篇(一):上下文管理策略


修订记录

编号版本修订人修订内容日期
0011.0lixh创建全文2026-01-21

1. 概述

上下文管理是高效使用 Claude Code 的核心技能。理解上下文窗口的工作原理,并掌握优化策略,可以显著提升 AI 辅助编程的效果。

1.1 什么是上下文

在这里插入图片描述

1.2 为什么上下文管理重要

问题影响
上下文溢出早期信息丢失,Claude 忘记之前的讨论
上下文污染无关信息干扰,降低响应质量
上下文碎片化信息不连贯,理解困难

2. 上下文窗口原理

2.1 Token 限制

模型上下文窗口说明
Claude Opus 4.5200K tokens约 15-20 万中文字符
Claude Sonnet200K tokens默认模型
Claude Haiku200K tokens轻量模型

2.2 Token 消耗估算

内容类型估算规则
英文文本1 token ≈ 4 字符
中文文本1 token ≈ 1-2 字符
代码变化较大,取决于代码风格

2.3 上下文组成

总上下文 = 系统提示 + 对话历史 + 工具结果 + 当前输入

典型分布:
├── 系统提示: 5-15%  (CLAUDE.md, 工具定义)
├── 对话历史: 40-60% (之前的对话)
├── 工具结果: 20-30% (文件内容, 命令输出)
└── 当前输入: 5-10%  (本次请求)

3. 上下文优化策略

3.1 策略一:精简系统提示

优化前(CLAUDE.md 过于冗长):

## 详细规则
1. 规则一的非常详细的描述...
2. 规则二的非常详细的描述...
... (几千字)

优化后

## 核心规则
- 读取文件后再修改
- 函数 < 20行,嵌套 ≤ 3层
- 先理解再动手

3.2 策略二:按需加载文件

不推荐:一次读取大量文件

> 帮我读取 src 目录下所有文件

(可能消耗大量上下文)

推荐:按需逐步读取

> 先告诉我 src 目录有哪些文件

> 读取 src/auth.js

> 再看看 src/utils.js

3.3 策略三:及时清理上下文

使用 /compact 命令

> /compact

上下文已压缩,保留核心信息:
- 项目结构
- 当前任务目标
- 关键代码片段

使用 /clear 命令

> /clear

开始新会话,之前的对话已清除。

3.4 策略四:分阶段处理

将大任务拆分为多个独立会话:

会话 1: 分析现有代码结构
    ↓
   记录结论
    ↓
会话 2: 设计新功能方案
    ↓
   记录方案
    ↓
会话 3: 实现具体代码

4. 记忆系统

4.1 记忆层级

在这里插入图片描述

4.2 claude-mem(自动记忆)

特点

  • 全自动捕获对话内容
  • 使用向量数据库存储
  • 新会话自动注入相关上下文

配置位置~/.claude-mem/

使用方式

# 查看记忆状态
> /claude-mem status

# 保存当前上下文
> /save

# 查找相关记忆
> /remember 用户认证

4.3 Memory MCP(知识图谱)

特点

  • 存储实体和关系
  • 永久保存重要知识
  • 适合项目级知识管理

使用示例

> 记住:项目使用 PostgreSQL 数据库,主库地址是 db.example.com

(保存到 Memory MCP)

> 这个项目用什么数据库?

(从 Memory MCP 检索)

4.4 HANDOFF.md(任务交接)

用途:紧急任务交接,保存当前工作状态

典型内容

# 任务交接

## 当前状态
正在实现用户认证功能

## 已完成
- 数据库模型设计
- API 接口定义

## 待完成
- JWT 生成逻辑
- 刷新 Token 机制

## 关键文件
- src/auth/model.js
- src/auth/controller.js

5. 上下文注入技巧

5.1 使用项目指令

在 CLAUDE.md 中定义项目关键信息:

## 项目概述

- 技术栈:Node.js + Express + PostgreSQL
- 架构:RESTful API
- 认证:JWT Token

## 目录结构

src/
├── controllers/ # 控制器
├── models/ # 数据模型
├── routes/ # 路由定义
└── utils/ # 工具函数

5.2 利用触发词

配置关键词自动加载上下文:

## Auto-Trigger Rules

| Keywords | Action |
|----------|--------|
| 继续、接上次 | 自动加载相关记忆 |
| 这个项目 | 注入项目基本信息 |

5.3 分层上下文

Layer 1: 始终加载
├── 项目类型和技术栈
└── 核心规则

Layer 2: 按需加载
├── 具体模块信息
└── 历史决策

Layer 3: 临时加载
├── 当前任务相关文件
└── 调试信息

6. 实战技巧

6.1 大文件处理

问题:读取大文件消耗大量上下文

解决

> 只读取 src/main.js 的前 50 行

> 读取 config.js 中的数据库配置部分

> 搜索 auth.js 中包含 "login" 的行

6.2 多文件协作

问题:需要同时了解多个相关文件

解决

> 总结 src/auth 目录下各文件的主要功能

(Claude 返回摘要而非完整内容)

> 详细看一下 auth/jwt.js

6.3 长会话管理

检查点机制

> 我们目前完成了什么?接下来要做什么?

(Claude 总结进度)

> /save
保存当前进度...

> 继续下一步

7. 上下文监控

7.1 查看使用情况

> /cost

上下文使用情况:
- 当前 tokens: 45,000 / 200,000
- 历史消息: 23 条
- 工具调用: 15 次

7.2 预警信号

信号含义建议操作
响应变慢上下文接近上限使用 /compact
遗忘之前内容早期信息被裁剪重新提供关键信息
重复询问上下文碎片化整理并重述需求

7.3 优化时机

场景建议操作
切换任务/clear 开始新会话
任务过半/compact 压缩上下文
调试完成清除调试相关信息

8. 最佳实践清单

8.1 会话开始

  • 明确本次任务目标
  • 检查 CLAUDE.md 配置
  • 确认相关记忆已加载

8.2 会话进行中

  • 按需读取文件
  • 及时确认理解
  • 定期保存进度

8.3 会话结束

  • 总结完成的工作
  • 保存重要决策
  • 记录待办事项

9. 常见问题

9.1 Claude 忘记了之前说的内容

原因:上下文裁剪

解决

  • 重新提供关键信息
  • 使用记忆系统保存重要内容
  • 缩短单次会话长度

9.2 响应质量下降

原因:上下文过长或混乱

解决

  • 使用 /compact 压缩
  • 清理无关信息
  • 重新组织问题

9.3 记忆检索不准确

原因:记忆内容不够具体

解决

  • 使用具体的关键词保存
  • 添加分类标签
  • 定期清理过期记忆

10. 下一步

掌握上下文管理后,继续学习:


参考资料

AI 时代程序员必备技能

Codex、Claude Code、Cursor、Hermes Agent、OpenClaw等工程化实战专栏 ,讲透 AI 如何接管脏活累活

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值