上下文工程

资料核验日期:2026-07-21。上下文窗口、计费、缓存、会话继承与 compaction 能力会随供应商、API 和模型变化;实际限制以调用时官方文档、计数接口及响应中的 usage 信息为准。

知识库简介

上下文工程(context engineering)是为一次模型决策选择、组织、压缩和追踪完整工作状态的工程。它关注的不只是用户提示,还包括稳定指令、工具定义、MCP/工具结果、检索证据、消息历史、结构化状态和记忆。提示词主要回答“做什么”,上下文还要回答“依据什么、现在处于什么状态、哪些信息可信且允许使用”。把整个数据库或全部聊天历史塞进窗口并不等于理解更好;无关、冲突、过期和不可追溯的信息会降低可靠性并增加成本。

在总路线中的位置

本库位于提示词工程之后、LLM API 集成之前,是 RAG、Agent 记忆、工具结果处理和长对话管理的共同基础。先完成 提示词工程,再把这里形成的 context pack 交给 LLM API集成 调用。

学习目标

  • 理解 token、上下文窗口和预算的区别,不把字符估算冒充真实 token 计数。
  • 依据相关性、可信度、时效性和权限选择证据,并保留来源。
  • 设计清晰的上下文分区与顺序,避免指令、数据和状态混杂。
  • 区分对话记录、结构化状态、长期记忆和检索材料。
  • 使用即时加载、裁剪、摘要、供应商 compaction 与缓存,同时验证信息是否丢失。
  • 为长上下文建立位置、冲突、遗漏和注入测试。

前置知识

  • 能阅读 JSON 和简单 Python。
  • 理解提示词中的任务、输入与输出契约。
  • 若已了解 Embedding 或 RAG 会更容易,但不是开始本库的必要条件。

推荐学习顺序

  1. Context Engineering,一篇就够了:按 What—Why—How 主线建立全景认知,理解“写、选、压、隔”四类实践。
  2. Token、上下文窗口与预算:认识容量、用量与保留余量。
  3. 选择、相关性与来源:决定哪些信息值得进入窗口。
  4. 组织、顺序与信任分区:让模型看清指令、证据和状态的边界。
  5. 对话历史、状态与记忆:管理多轮任务,而不是无限回放聊天。
  6. 裁剪、摘要、压缩与缓存:降低冗余并保留关键约束。
  7. 长上下文失效模式与评测:测试位置、冲突、遗漏和污染。
  8. Context Pack 项目与自测:实现确定性的预算选择器。

动手实践与项目入口

完成 Context Pack 项目。项目由 确定性选择器、版本化案例、输出 schema 与 单元测试 组成。它依次执行权限、信任、日期、去重和预算门禁,并明确记录每个排除原因。

掌握标准

  • 能为一个 Agent 请求画出上下文来源与信任边界。
  • 能给输入、输出和安全余量分配预算,并用供应商真实 token/usage 数据校准估算。
  • 能说明为什么相关性最高的片段不一定最可信或最新。
  • 能把对话历史提炼成可验证的任务状态,并保留关键承诺与未决事项。
  • 能设计“证据在开头/中间/结尾”“来源冲突”“摘要遗漏”回归测试。
  • 能运行本库 18 项离线测试,并证明必选上下文无法通过权限或预算门禁时会失败关闭,去重也不能跨越 section、权限或信任边界。

与其他知识库的关系

  • 提示词工程定义任务和输出契约;上下文工程提供证据与状态。
  • LLM API集成负责把分区后的内容映射为消息或内容块,并收集用量与缓存信息。
  • RAG与 Reranking决定候选证据如何召回和排序;Agent 核心决定状态如何推进。
  • 隐私计算与 AI 安全决定哪些内容根本不应进入模型上下文,以及工具失败时的影响边界。

主要参考资料