上下文工程
资料核验日期:2026-07-21。上下文窗口、计费、缓存、会话继承与 compaction 能力会随供应商、API 和模型变化;实际限制以调用时官方文档、计数接口及响应中的 usage 信息为准。
知识库简介
上下文工程(context engineering)是为一次模型决策选择、组织、压缩和追踪完整工作状态的工程。它关注的不只是用户提示,还包括稳定指令、工具定义、MCP/工具结果、检索证据、消息历史、结构化状态和记忆。提示词主要回答“做什么”,上下文还要回答“依据什么、现在处于什么状态、哪些信息可信且允许使用”。把整个数据库或全部聊天历史塞进窗口并不等于理解更好;无关、冲突、过期和不可追溯的信息会降低可靠性并增加成本。
在总路线中的位置
本库位于提示词工程之后、LLM API 集成之前,是 RAG、Agent 记忆、工具结果处理和长对话管理的共同基础。先完成 提示词工程,再把这里形成的 context pack 交给 LLM API集成 调用。
学习目标
- 理解 token、上下文窗口和预算的区别,不把字符估算冒充真实 token 计数。
- 依据相关性、可信度、时效性和权限选择证据,并保留来源。
- 设计清晰的上下文分区与顺序,避免指令、数据和状态混杂。
- 区分对话记录、结构化状态、长期记忆和检索材料。
- 使用即时加载、裁剪、摘要、供应商 compaction 与缓存,同时验证信息是否丢失。
- 为长上下文建立位置、冲突、遗漏和注入测试。
前置知识
- 能阅读 JSON 和简单 Python。
- 理解提示词中的任务、输入与输出契约。
- 若已了解 Embedding 或 RAG 会更容易,但不是开始本库的必要条件。
推荐学习顺序
- Context Engineering,一篇就够了:按 What—Why—How 主线建立全景认知,理解“写、选、压、隔”四类实践。
- Token、上下文窗口与预算:认识容量、用量与保留余量。
- 选择、相关性与来源:决定哪些信息值得进入窗口。
- 组织、顺序与信任分区:让模型看清指令、证据和状态的边界。
- 对话历史、状态与记忆:管理多轮任务,而不是无限回放聊天。
- 裁剪、摘要、压缩与缓存:降低冗余并保留关键约束。
- 长上下文失效模式与评测:测试位置、冲突、遗漏和污染。
- Context Pack 项目与自测:实现确定性的预算选择器。
动手实践与项目入口
完成 Context Pack 项目。项目由 确定性选择器、版本化案例、输出 schema 与 单元测试 组成。它依次执行权限、信任、日期、去重和预算门禁,并明确记录每个排除原因。
掌握标准
- 能为一个 Agent 请求画出上下文来源与信任边界。
- 能给输入、输出和安全余量分配预算,并用供应商真实 token/usage 数据校准估算。
- 能说明为什么相关性最高的片段不一定最可信或最新。
- 能把对话历史提炼成可验证的任务状态,并保留关键承诺与未决事项。
- 能设计“证据在开头/中间/结尾”“来源冲突”“摘要遗漏”回归测试。
- 能运行本库 18 项离线测试,并证明必选上下文无法通过权限或预算门禁时会失败关闭,去重也不能跨越 section、权限或信任边界。
与其他知识库的关系
- 提示词工程定义任务和输出契约;上下文工程提供证据与状态。
- LLM API集成负责把分区后的内容映射为消息或内容块,并收集用量与缓存信息。
- RAG与 Reranking决定候选证据如何召回和排序;Agent 核心决定状态如何推进。
- 隐私计算与 AI 安全决定哪些内容根本不应进入模型上下文,以及工具失败时的影响边界。
主要参考资料
- Anthropic:Effective context engineering for AI agents(访问于 2026-07-21)
- OpenAI:Conversation state(访问于 2026-07-21)
- OpenAI:Compaction(访问于 2026-07-21)
- OpenAI:Prompt caching(访问于 2026-07-21)
- Anthropic:Context windows(访问于 2026-07-21)
- Google:Long context(访问于 2026-07-21)
- Google:Context caching(访问于 2026-07-21)
- Liu 等,Lost in the Middle: How Language Models Use Long Contexts(原始论文)