深度

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 Week 29 更新全景:Artifacts 实时数据、屏幕阅读器模式、命令拆分一次看懂汇总 Claude Code 2026 年 7 月 Week 29(v2.1.207-212)全部更新:Artifacts MCP 实时数据、屏幕阅读器模式、/fork 与 /subtask 命令拆分、Auto Mode 云平台松绑等。2026/8/10深度Claude Code 沙箱凭据保护体系再升级:v2.1.224 拒绝规则绕过漏洞与实践检查清单Claude Code v2.1.224 修复沙箱文件系统拒绝规则(denyRead 带结尾斜杠)在 Linux/macOS 上可被静默绕过的问题,提供实用的沙箱配置自检清单。2026/8/10深度Claude Code 沙箱凭据保护完全指南:从明文拒绝到 JWT 感知脱敏的演进之路梳理 Claude Code 沙箱凭据保护体系的四种模式——结构化脱敏、JWT 感知脱敏、AWS SigV4 重签名、文件级哨兵替换,帮你选择适合的安全策略。2026/8/7深度Claude Code v2.1.222 深度解读:Worktree 隔离修复危险漏洞,ultraplan 功能移除Claude Code v2.1.222 修复 Git Worktree 隔离缺口——隔离会话曾能对主检出执行破坏性操作,并修复 PreToolUse Hook 绕过后台任务限制等问题。2026/8/7深度Claude Code 7 月更新全景回顾:从 Sonnet 5 到 Opus 5,一个月内两次模型飞跃梳理 2026 年 7 月 Claude Code 从 v2.1.202 到 v2.1.220 的完整更新脉络,串联 Sonnet 5、Opus 5 两次模型发布及多条产品主线。2026/8/6