33
Claude Code 技术原理:上下文与记忆管理
Claude Code Context Management
本章解释 Claude Code 如何在长任务里管理 Context,并把这些做法转成可复用的工程模式。目标是让你在构建 agent 或调试长任务时,能够稳定控制 Context 的结构、成本与信号密度。
- Context 不是“越多越好”,而是“最小高信号集合”。
- Claude Code 倾向于 just-in-time 读取,而不是一次性加载。
- Compact 不是丢信息,而是重新组织信息。
- 文件系统是低成本外部记忆。
- tool outputs 是最大 token 成本来源,需要节流。
你将学到什么
- Claude Code 的 Context 管理原则与操作手法
- 如何设置 Context budget 与 compaction trigger
- 如何用文件系统实现 progressive disclosure
- 如何控制 tool outputs 的 token 成本
Core Model
Claude Code 的 Context 管理可以拆为三层:
- 固定层:长期稳定规则(如 CLAUDE.md、系统约束)
- 任务层:本次任务目标、验收标准、关键事实
- 动态层:搜索结果、工具输出、执行记录
核心原则是:固定层和任务层保持轻量稳定,动态层按需加载并随任务进度被压缩。
Key Practices
1) Context Budgeting
- 先设定预算,再开始任务
- 把任务拆为小阶段,每阶段限定 token 成本
- 当 Context 超过阈值(如 70-80%)触发 compact
2) Progressive Disclosure
不要一次性加载大段内容。先拿到 file path 或标题,再按需读取。
- 用
rg找相关文件 - 用
head/tail或分段读取 - 只保留当前决策需要的信息
3) Tool Output Throttling
大多数 Context 成本来自工具输出。控制策略包括:
- 对输出做摘要而非全文
- 分页/筛选/截断
- 输出优先结构化(表格/JSON/列表)
4) Compaction Strategy
Compaction 的目标是“保留关键信息 + 移除冗余”。建议结构:
- Files touched
- Decisions made
- Open questions
- Next actions
Example Workflow
- 加载规则:CLAUDE.md + AGENTS.md
- 定位目标文件:
rg --files -g "*.md" src/content/learn/ai-engineer - 只读必要内容:先查看同类文件结构
- 生成内容并写入
- 回看 Context:是否有冗余输出
Anti-Patterns
- 一次性加载整个文档库
- 用超长 tool output 覆盖 Context
- 长任务不 compact,累积到不可控
- 重复读取相同内容却不总结
Checklist
- 是否明确 Context budget?
- 是否有 progressive disclosure?
- 是否限制 tool outputs?
- 是否设置 compaction trigger?
- 是否把规则集中到 CLAUDE.md/AGENTS.md?
Related Pages
- Context Engineering Fundamentals
- Context Compression Strategies
- Claude Code Examples
- Tool Design for Agents
Practice Task
- 用本章的三层模型梳理一个真实项目的 Context
- 设定 80% 触发 compact 的阈值,并设计 summary 模板
- 选一个 tool 输出场景,做一次分页或摘要改造
Skill Metadata
Created: 2025-12-26 Last Updated: 2025-12-26 Author: JR Academy Version: 1.0.0