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 安全:敏感信息过滤、权限控制、数据隔离、注入风险。
阶段实践拆解
- 定义上下文来源:system、user input、history、summary、profile、retrieval、tool result。
- 实现上下文组装器:给每类上下文设置优先级、预算和插入位置。
- 增加 token 预算控制:超过窗口时先裁剪低优先级内容,再摘要历史内容。
- 实现对话摘要记忆:定期把长历史压缩成 summary memory,并保留关键事实。
- 实现用户偏好注入:只在任务相关时注入长期偏好,避免每次请求都污染上下文。
- 增加安全边界:过滤敏感字段,按用户权限筛选业务数据和检索结果。
阶段实践
- 实现一个上下文组装器。
- 实现对话摘要记忆。
- 实现用户偏好记忆注入。
计划文章
- Context Engineering 到底是什么
- AI Memory 不是模型记忆,而是应用层记忆
- 如何设计一个可控的上下文系统