logo
33

Claude Code 技术原理:上下文与记忆管理

⏱️ 45分钟

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 管理可以拆为三层:

  1. 固定层:长期稳定规则(如 CLAUDE.md、系统约束)
  2. 任务层:本次任务目标、验收标准、关键事实
  3. 动态层:搜索结果、工具输出、执行记录

核心原则是:固定层和任务层保持轻量稳定,动态层按需加载并随任务进度被压缩。

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

  1. 加载规则:CLAUDE.md + AGENTS.md
  2. 定位目标文件rg --files -g "*.md" src/content/learn/ai-engineer
  3. 只读必要内容:先查看同类文件结构
  4. 生成内容并写入
  5. 回看 Context:是否有冗余输出

Anti-Patterns

  • 一次性加载整个文档库
  • 用超长 tool output 覆盖 Context
  • 长任务不 compact,累积到不可控
  • 重复读取相同内容却不总结

Checklist

  • 是否明确 Context budget?
  • 是否有 progressive disclosure?
  • 是否限制 tool outputs?
  • 是否设置 compaction trigger?
  • 是否把规则集中到 CLAUDE.md/AGENTS.md?

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