父级:AI 上下文导读 · 支柱页面:从 AI 入门到 AI Context Workspace。
先给出答案
对于一次模型调用,上下文是模型在生成时实际接收到的信息。它可能包括应用设定的指令、你的问题、部分历史对话、文档片段和工具返回结果。它既不是模型训练时学到的知识,也不是你本机保存的全部文件。
提示词是表达任务和要求的重要方式,但并不等于全部上下文。应用保存的记忆和知识库,也只有在相关内容被取出并提供给模型后,才能影响这次回答。所以“我上传过”“上次聊过”都不能直接说明“这次它一定知道”。
关键要点
- 上下文是模型在本次生成时实际接收到的信息,范围限定在一次调用之内。
- 提示词是表达任务的重要方式,但不等于全部上下文。
- 应用记忆和知识库属于保存侧,只有被取出并提供给模型,才会影响本次回答。
- 保存不等于加载:上传了文件,不代表模型完整读取。
- 模型可处理的上下文规模有限,应用可能截取、摘要或检索部分内容。
四个概念如何区分?
| 概念 | 主要解决的问题 | 不应作出的假设 |
|---|---|---|
| 提示词 | 告诉模型做什么、遵守什么要求 | 写得详细就一定执行正确 |
| 当前上下文 | 为本次生成提供实际信息 | 所有历史与附件都完整保留 |
| 应用记忆 | 跨会话保存并复用部分信息 | 与人的记忆相同,永不丢失或过期 |
| 知识库 | 存放并检索较多参考资料 | 放进去就会在每次回答中全部读取 |
这里的“应用记忆”指产品层面保存的信息,不等于模型参数中学到的知识。不同应用对记忆的选择、更新和删除方式也可能不同。
几个概念的关系可以这样理解:提示词是你主动写进去的要求;当前上下文是本次调用真正送给模型的内容;应用记忆和知识库属于保存侧,是否进入当前上下文取决于检索与加载。把保存侧的资料总量当成上下文容量,是很多误解的来源。
对比:有效上下文与全量输入
既然上下文有限,那么“一口气把所有资料都交出去”就不是稳妥做法。全量输入看起来不会遗漏,实际上会把无关内容和旧版本一起送进去。
| 做法 | 期望 | 风险 |
|---|---|---|
| 全量输入 | 不漏掉任何一条信息 | 无关内容与旧版本混入,关键要求被削弱 |
| 有效上下文 | 只提供相关、可信、不冲突的信息 | 需要先判断相关性并维护唯一权威版本 |
更实际的做法是先按用途分层保存,再按当前任务选择要加载的部分。这与 如何整理有效上下文:筛选、分层与更新 讨论的是同一件事。
为什么聊过还会忘?
模型可处理的上下文规模有限,通常用 token 计量。Token 是模型处理信息的单位,并不严格等于一个汉字或一个单词。
为了控制长度和成本,应用可能只保留最近对话、使用摘要,或检索部分历史。新会话也可能完全不带入上一轮的信息。因此,重要决定应保存成可核查的项目记录,而不是只依赖“之前说过”。记录的价值在于:它不随某一次对话的结束而消失,下一个会话或另一个工具仍然可以重新加载。
为什么上传了文件仍然答错?
文件可能解析失败,也可能只检索到了部分片段;即使拿到正确片段,模型仍可能误读。可以要求它列出依据的文件名、章节和相关原文,再由人对照检查。它声称读过文件,本身并不能证明读取完整。
以文章写作为例,读者定位可能在旧文件中,最新定位却在新文件中。如果没有注明哪个生效,AI 可能混用。这个问题需要管理资料版本,而不是单纯增加输入长度。版本管理的具体做法,见 如何整理有效上下文:筛选、分层与更新。
术语:上下文、提示词、记忆、知识库
- 上下文:模型在本次生成时实际接收到的信息,可能包括指令、历史对话、文档片段和工具结果。
- 提示词:表达任务和要求的重要方式,但不等于全部上下文。
- 应用记忆:产品层面跨会话保存并复用的信息,不等于模型参数中的知识,也不等于人的记忆。
- 知识库:存放并检索较多参考资料的方式,放进去的资料不会在每次回答中全部读取。
区分这些术语的意义,是判断一次错误到底出在哪一步:要求没写清、资料没被加载、加载的片段不完整,还是模型理解有偏差。把问题定位到步骤,才知道下一步该改什么。
与 ACW 有什么关系?
ACW 是本系列用于组织长期工作资料的方法;当前上下文则是其中被选出、实际提供给模型的部分。两者不能画等号。
ACW 是领域无关的上位概念,用于组织背景、约定、任务过程、工作产物、检查证据和归档状态;Harness 是它在软件研发与交付场景中的领域实践。概念之间的边界和从属关系,见 ACW 本体论。
下一步见 如何整理有效上下文:筛选、分层与更新。
常见误区
- 把“上传成功”当成“已经读到”。 上传只完成了保存,是否进入本次上下文,还要看检索与加载这一步。
- 把应用记忆当成模型的知识。 记忆是产品层面保存的信息,可以被更新或删除,也可能过期。
- 把上下文问题当成模型能力问题。 要求没写清、资料没加载、版本冲突,都会表现为答错,但修法各不相同。
常见问题
上下文和提示词是一回事吗?
不是。提示词是你用来表达任务和要求的方式,属于上下文的一部分;但上下文还可能包含应用设定的指令、历史对话、文档片段和工具返回结果。提示词写得详细,不代表模型就拿到了完成任务所需的全部信息。
把资料放进知识库,模型每次都会读吗?
不会。知识库负责保存和检索,只有相关片段被取出并提供给模型,才会影响本次回答。放进去的资料不会在每次调用中全部读取,这与它是否被保存成功无关。
“应用记忆”和模型学到的知识一样吗?
不一样。应用记忆是产品层面保存并复用的信息,模型参数中的知识来自训练。应用记忆可以被更新或删除,也可能过期,不能假设它像人的记忆一样稳定。
怎么判断模型是不是真的读到了资料?
可以要求它列出依据的文件名、章节和相关原文,再由人对照原始材料核查。它声称读过,不能替代对来源的检查;如果找不到对应原文,就当它没有可靠依据。
参考资料
- Anthropic:Effective context engineering for AI agents:上下文定义、有限性、按需检索和长期记录。