思维花园

上下文工程101

CONTEXT ENGINEERING 101

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

记忆版:大→压,脏→选,撞→隔,久→写。