深度

Claude Code 上下文窗口管理完全指南:100 万 Token 的高效利用策略

Claude Code 超长上下文(100万 Token)完整使用指南:上下文窗口的构成(系统提示/工具定义/对话历史/当前请求)、会话压缩(Compaction)的触发机制与配置、--continue 跨会话续接上下文、如何避免上下文溢出、超大代码库的分批处理技巧、Prompt Caching 配合长上下文降低成本,以及 Token 计数工具的使用方法。

2026/3/184分钟 阅读ClaudeEagle

Claude Opus 4.6 和 Sonnet 4.6 拥有 100 万 tokens 的超大上下文窗口, 约等于 75 万汉字或 2 万行代码。合理管理上下文,能大幅提升工作效率。

上下文窗口的构成

每次请求中,上下文窗口被以下内容占用:

┌─────────────────────────────────────────┐ │ 系统提示(CLAUDE.md + 工具定义) │ ~5,000 tokens ├─────────────────────────────────────────┤ │ 对话历史(当前会话的所有消息) │ 可变,随对话增长 ├─────────────────────────────────────────┤ │ 当前请求(你的提问 + 相关文件内容) │ 可变 ├─────────────────────────────────────────┤ │ 保留给输出的空间 │ ~64,000 tokens └─────────────────────────────────────────┘ 总计:≤ 1,000,000 tokens

查看当前 Token 使用量

bash
# 在 Claude Code 交互模式中
/status   # 显示当前会话的 Token 使用情况

# 命令行查看上次会话统计
claude -p "hello" --output-format json | python3 -c "
import json, sys
d = json.load(sys.stdin)
print(f'本次消耗: {d.get("cost_usd", 0):.4f} USD')
"

会话压缩(Compaction)

当对话历史很长时,Claude Code 会自动压缩历史对话,保留关键信息:

自动压缩触发

json
// .claude/settings.json 配置
{
  "compaction": {
    "enabled": true,
    "threshold": 0.8  // 上下文使用率超过 80% 时触发
  }
}

手动触发压缩

bash
# 在交互会话中
/compact   # 立即压缩当前对话历史

# 指定保留最近 N 轮
/compact 10  # 保留最近 10 轮对话,其余压缩为摘要

压缩原理

压缩不是删除,而是将老旧对话转为结构化摘要

原始对话(50轮,约 80K tokens) ↓ 压缩 摘要(约 5K tokens)+ 最近 10 轮完整对话(约 15K tokens) = 20K tokens(节省 75%)

--continue:跨会话续接上下文

bash
# 继续最近一次会话
claude --continue
claude -c  # 简写

# 继续时执行特定任务
claude -c -p "继续刚才的重构,处理 services/ 目录"

# 通过会话 ID 恢复特定会话
claude -r "session_abc123" "继续处理支付模块"

# 为会话命名(方便后续引用)
claude -r "payment-refactor" "开始支付模块重构"

超大代码库处理策略

策略一:--add-dir 扩展工作目录

bash
# 让 Claude 同时访问多个目录
claude --add-dir ../shared-lib --add-dir ../api-sdk

# 适合 monorepo:可以跨包分析依赖关系

策略二:分批读取,用摘要传递上下文

bash
# 第一阶段:分析架构
claude "请分析 src/ 目录的整体架构,输出架构摘要"

# 保存摘要
claude -p "分析架构" > architecture-summary.md

# 第二阶段:基于摘要深入某个模块
cat architecture-summary.md | claude -p "基于以上架构,详细分析 src/payment/ 模块的问题"

策略三:.claudeignore 精准控制读取范围

# 只让 Claude 看核心源码,排除非必要文件 node_modules/ dist/ *.test.ts # 先排除测试,专注主逻辑 docs/ # 排除文档,节省 Token

Prompt Caching 配合长上下文

长系统提示(CLAUDE.md)每次都会重复发送,使用 Prompt Caching 只付一次费:

python
# 通过 API 使用时,标记长系统提示为可缓存
response = client.messages.create(
    model="claude-sonnet-4-6",
    system=[
        {
            "type": "text",
            "text": open("CLAUDE.md").read(),  # 可能有几千 tokens
            "cache_control": {"type": "ephemeral"}
        }
    ],
    messages=[{"role": "user", "content": user_input}]
)
# 缓存命中时,这部分 Token 费用降低 90%

Token 成本估算

以 Sonnet 4.6 为例($3/M 输入,$15/M 输出):

场景输入 Tokens成本
普通对话(10 轮)~10K$0.03
中型项目分析(50 轮)~200K$0.60
大型代码库全量读取~500K$1.50
100 万 Token 满窗口~1M$3.00

实际使用中,大多数任务 10-50K tokens 就够了。 配合会话压缩和 .claudeignore,日常成本通常 $0.1-0.5/天。


来源:Claude Code 官方文档 - docs.anthropic.com/en/docs/claude-code

相关文章推荐

深度Claude Code 底层原理详解:代理循环、工具系统与上下文窗口管理Claude Code 底层原理深度解析:代理循环(收集上下文/执行动作/验证结果)、五类内置工具体系(文件/搜索/命令/Web/代码智能)、上下文窗口管理(监控/清理策略)、权限控制模式,以及与普通聊天工具的本质差异。2026/3/13深度Claude Code 最佳实践 2026:资深用户总结的 20 个效率提升技巧Claude Code 资深用户总结的 20 个实用最佳实践:上下文管理技巧(精准投喂 vs 全量读取)、CLAUDE.md 高价值写法、自定义命令的场景化设计、权限配置的最小化原则、子代理并行的触发时机、会话压缩与续接的使用策略、与 Git 工作流的结合方式、代码审查的标准提示词、让 Claude 解释而不只是修改代码的技巧、以及避免 Claude「过度自信」的提示词防护模式。2026/3/21深度Claude Code 重构策略完全指南:大型项目安全重构的 AI 辅助方法论Claude Code 辅助代码重构的完整方法论:重构前的安全网搭建(特征测试/快照测试)、渐进式重构策略(不要一次大改)、让 Claude 识别并命名坏味道(Long Method/God Class/Shotgun Surgery)、提取函数/类/模块的标准流程、依赖注入重构(方便测试)、数据库层重构(Repository 模式迁移)、重构进度追踪与 CLAUDE.md 配置,以及大型单体应用向微服务迁移的 AI 辅助路径。2026/3/21深度Claude 200K 超长上下文实战:处理大型代码库、长文档和海量数据的完整技巧Claude 200K token 超长上下文完整使用指南:有效利用长上下文 vs 分块处理的选择策略、大型代码库整体分析技巧、长 PDF 文档精准问答、多文件对比分析、上下文窗口优先级管理,以及 Prompt Caching 结合长上下文的成本优化方案。2026/3/16深度Claude Code 微服务架构实战:设计、拆分与服务间通信完整指南Claude Code 辅助微服务架构开发完整指南:单体到微服务拆分策略、服务边界识别、API Gateway 设计、服务间 gRPC/REST 通信、分布式事务(Saga 模式)、服务发现与健康检查、Docker Compose 本地开发环境,以及微服务监控和链路追踪配置。2026/3/16深度Claude Code 环境变量与密钥管理:安全配置 API Key 和敏感信息的完整指南Claude Code 开发中安全处理环境变量和 API 密钥的完整指南:.env 文件规范、dotenv 与系统环境变量的区别、密钥轮换策略、防止密钥泄露到 Git、secrets 加密存储、生产环境的 Vault/AWS Secrets Manager 集成,以及 CLAUDE.md 安全规范配置。2026/3/16