Context Engineering 与记忆系统

这个主题讨论如何为模型组装有效上下文。模型输出质量不只取决于 prompt,也取决于你给它哪些信息、不给它哪些信息。

很多 AI 应用的问题并不是模型“不够聪明”,而是上下文给错了:该给的信息没有给,不该给的敏感信息给了,历史消息太长挤掉了关键约束,检索结果和用户权限不匹配。这个阶段会把上下文当作一条工程流水线来设计,而不是简单把所有内容拼进 prompt。

学习目标

完成这个主题后,你应该能够:

  • 识别一次请求中可能进入上下文的所有信息来源。
  • 根据优先级、token budget 和任务目标组装上下文。
  • 设计 short-term、long-term、user、session、task、semantic memory 的使用边界。
  • 实现对话摘要、用户偏好记忆和检索内容注入。
  • 为上下文系统增加权限过滤、敏感信息过滤和冲突处理。

关键概念

Context Engineering 是对模型输入信息的工程化管理。它关注的不只是“放什么”,还包括顺序、优先级、压缩、权限、冲突和预算。

Token Budget 是上下文组装的硬约束。系统指令、用户输入、历史消息、检索结果和工具结果都在竞争有限窗口。

Memory 不是模型真的记住用户,而是应用把长期信息保存下来,并在合适的时候重新注入上下文。

Context Compression 是把低优先级或过长信息压缩成更短表示,例如滚动摘要、关键信息提取或结构化事实。

Conflict Resolution 用来处理上下文之间互相矛盾的问题。例如用户本轮指令和长期偏好冲突,检索文档和工具结果冲突,系统约束和外部内容冲突。

Context Assembly 流程

这张图强调上下文不是一次字符串拼接,而是一个可测试、可观测、可调优的流水线。每一步都可能影响最终回答质量,也可能引入安全风险。

核心主题

  • Context Engineering:组装有效上下文、控制输入信息、管理任务和用户相关数据。
  • Context 来源:system prompt、user input、conversation history、user profile、business data、tool result、retrieved documents、runtime state。
  • Context Assembly:优先级、token budget、context compression、conflict resolution。
  • Memory:不是模型真的记住,而是应用层保存和注入信息。
  • Memory 类型:short-term、long-term、user、session、task、semantic memory。
  • Summary Memory:对话摘要、滚动摘要、关键信息提取。
  • User Profile Memory:用户偏好、身份、长期信息和隐私边界。
  • Context 安全:敏感信息过滤、权限控制、数据隔离、注入风险。

阶段实践拆解

  1. 定义上下文来源:system、user input、history、summary、profile、retrieval、tool result。
  2. 实现上下文组装器:给每类上下文设置优先级、预算和插入位置。
  3. 增加 token 预算控制:超过窗口时先裁剪低优先级内容,再摘要历史内容。
  4. 实现对话摘要记忆:定期把长历史压缩成 summary memory,并保留关键事实。
  5. 实现用户偏好注入:只在任务相关时注入长期偏好,避免每次请求都污染上下文。
  6. 增加安全边界:过滤敏感字段,按用户权限筛选业务数据和检索结果。

阶段实践

  • 实现一个上下文组装器。
  • 实现对话摘要记忆。
  • 实现用户偏好记忆注入。

计划文章

  • Context Engineering 到底是什么
  • AI Memory 不是模型记忆,而是应用层记忆
  • 如何设计一个可控的上下文系统