The art and science of filling the context window with just the right information.
作者:@saboo_shubham
1. Context Engineering vs Prompt Engineering
- Prompt Engineering:为 LLM 写对的指令。
- Context Engineering:为 LLM 准备对的「上下文集合」(指令、知识、工具、状态),让它在正确的信息边界里推理。
2. Context Types(上下文类型)
2.1 Instructions(指令类)
- System prompts
- Few-shot examples
- Tool descriptions
2.2 Knowledge(知识类)
- Retrieved documents (RAG)
- Semantic memories
- Historical facts
2.3 Tools(工具/调用结果)
- Tool call results
- API responses
- Function outputs
3. 4 Core Strategies(四大核心策略)
3.1 WRITE CONTEXT
目标:把需要长期保存/以后复用的信息写在上下文窗口外面。
Techniques:
- Scratchpads(Agent 笔记)
- Long-term memory(跨会话持久化)
- State persistence(外部存 Agent 状态)
3.2 SELECT CONTEXT
目标:只把当前任务需要的上下文拉进来。
Techniques:
- RAG for tools:只选相关工具(图中标注「3x accuracy improvement」)
- Memory retrieval:向量 + 知识图谱
- Dynamic loading:按任务动态加载
3.3 COMPRESS CONTEXT
目标:只保留完成任务所需的 token。
Techniques:
- Summarization:对召回内容做摘要
- Token trimming:删除不相关字段/段落
- Context ordering:按相关性/新鲜度排序
3.4 ISOLATE CONTEXT
目标:让不同任务/不同 Agent 互不干扰,避免上下文污染。
Techniques:
- Multi-agent:不同 Agent 用不同上下文
- Environment sandboxing:执行环境隔离
- State partitioning:按 schema 分区状态
4. Context Failure Modes(上下文常见失败模式)
4.1 Context Poisoning
- What:错误/幻觉信息被写进上下文里长期存在
- Impact:错误会在后续多轮中被不断放大、复用
4.2 Context Distraction
- What:上下文太多,反而把模型「训练」偏了
- Impact:模型会重复过去的动作/回答
4.3 Context Confusion
- What:无关的信息影响了输出
- Impact:用错工具/文档
4.4 Context Clash
- What:上下文中存在互相矛盾的内容
- Impact:推理出现自相矛盾的结果
5. Practical Implementation Tips(实践/落地建议)
5.1 Planning & Design
- 编码前先画上下文流
- 标注清楚哪些信息要持久化
- 提前设计状态的 schema
5.2 Performance & Scale
- 持续监控 token 使用
- 设置上下文大小阈值
- 实施 progressive summarization(渐进式摘要)
5.3 Reliability & Safety
- 插入前先校验上下文
- 做上下文隔离/隔离区(context quarantine)
- 长任务加 checkpoints
6. Context Engineering Decision Tree(决策树)
问题:有「上下文问题」吗?
- 太大了 → COMPRESS
- 不相关 → SELECT
- 有冲突 → ISOLATE
- 需要持久化 → WRITE
记忆版:大→压,脏→选,撞→隔,久→写。