上下文工程

一句话定义:系统化设计送给 LLM 的上下文——选材、检索、压缩、记忆,让模型在正确信息下推理。

1. 与提示工程区别

  • Prompt Engineering 关注"怎么说"。
  • Context Engineering 关注"给模型看什么"。
  • 是 Prompt Engineering 的升级与超集,在 Agent/长任务场景尤为关键。

2. 核心实践

信息选材

  • 决定哪些文件/文档/报错/历史进入上下文。
  • 无关信息会淹没关键内容。

检索注入

  • 用 RAG/代码库检索动态拉取相关片段。
  • 而非全量塞入。

压缩与摘要

  • 长对话/长日志做摘要去冗余。
  • 保留关键决策与硬约束。

分层组织

  • 系统提示(角色/安全约束)。
  • 长期记忆(项目规范)。
  • 短期会话(本次进展)。
  • 当前任务。

工具结果治理

  • 命令日志只留关键行。
  • 搜索结果只留 top-k。

3. 关键原则

  • 先清单后检索:明确"这次推理需要什么"。
  • 分区标签:用 XML/Markdown 标签分隔信息来源。
  • 保留硬约束:摘要时别丢"不许做什么"。
  • 防污染:错误信息一旦进入上下文会被当真。

4. 在 Agent 中的重要性

  • 长任务上下文易膨胀、易丢失目标。
  • 上下文工程是 Agent 可靠性的基石之一。
  • 与 Loop Engineering 配合管理长循环。

5. 学习要点

  • 上下文工程决定模型"看到什么",直接影响输出质量。
  • 长任务/Agent 场景必须做上下文工程。
  • 与提示工程是叠加而非替代。

6. 参考资料

  • Anthropic / OpenAI 关于长上下文与 Agent 记忆的最佳实践
  • "Lost in the Middle"