Claude code上下文工程
它解决的核心问题是:**如何让 AI 助手在不同会话之间保留有价值的上下文信息,同时避免信息污染**。1. **指令型记忆(Instruction Memory)**:CLAUDE.md 文件体系,存储用户/团队对 AI 行为的持久指令。2. **事实型记忆(Fact Memory)**:AutoMem/MEMORY.md 体系,AI 自动从对话中提炼并持久化的知识点。│├── 项目配置(pack
什么是上下文(Context)?
想象你在和一个新同事协作编程:
- 如果你不告诉他项目情况,他只能盲目修改代码
- 如果你告诉他:这是个Python项目、使用FastAPI框架、Git分支是main、当前在处理登录功能...他就能做得更好
上下文管理系统就是自动收集这些信息,然后告诉AI,让AI更聪明。
Claude Code 的上下文包含什么?
📦 完整上下文
├── 🖥️ 系统信息
│ ├── 操作系统(Linux/Mac/Windows)
│ ├── 当前工作目录
│ ├── Shell类型(bash/zsh)
│ └── 环境变量
│
├── 📁 项目信息
│ ├── Git状态(分支、改动)
│ ├── README.md内容
│ ├── 项目配置(package.json、requirements.txt)
│ └── 项目结构
│
├── 🔧 工具信息
│ ├── 可用的工具列表
│ └── 工具使用说明
│
└── 💬 对话历史
├── 之前的问题和回答
└── 已执行的操作
claude code怎么计算当前上下文大小?
- 先从消息列表末尾往前找
- 找到“最近一次带真实
usage的 assistant 响应” - 这条
usage代表“上一次 API 请求时,整个上下文有多大” - 如果这之后又新增了消息,就只对“新增部分”做粗略估算
- 最后结果是:
最近一次真实 usage token 总数 + 后续新增消息粗估 token
current_context_size = last_real_usage_tokens + estimated_tokens_of_new_messages
口径1:计算api调用的上下文:
input_tokens + cache_creation_input_tokens + cache_read_input_tokens + output_tokens
- 输入上下文
- cache 创建 token
- cache 命中 token
- 输出 token
口径2:服务端最终上下文窗口大小”口径
input_tokens + output_tokens
最重要的是最近一次真实 usage + 后续新增消息粗估
它才是用来做:
- autocompact
- session memory
- threshold comparison
这些判断的核心函数。
当前上下文大小
current_context_tokens =
last_api_usage_total_tokens
+ estimated_tokens_of_messages_added_after_that
autocompact 阈值
effective_window =
context_window - reserved_summary_output_tokens
autocompact_threshold =
effective_window - autocompact_buffer_tokens
在原版默认 200k 上下文、预留 20k summary 输出、buffer 13k 的情况下,大致就是:
effective_window = 200000 - 20000 = 180000
threshold = 180000 - 13000 = 167000
Memory机制
Claude Code 的 Memory 系统是一个多层次、多类型的持久化知识管理体系。它解决的核心问题是:**如何让 AI 助手在不同会话之间保留有价值的上下文信息,同时避免信息污染**。
系统分为两大层:
1. **指令型记忆(Instruction Memory)**:CLAUDE.md 文件体系,存储用户/团队对 AI 行为的持久指令
2. **事实型记忆(Fact Memory)**:AutoMem/MEMORY.md 体系,AI 自动从对话中提炼并持久化的知识点
更多推荐



所有评论(0)