父级:AI 上下文导读 · 支柱页面:从 AI 入门到 AI Context Workspace

先给出答案

对于一次模型调用,上下文是模型在生成时实际接收到的信息。它可能包括应用设定的指令、你的问题、部分历史对话、文档片段和工具返回结果。它既不是模型训练时学到的知识,也不是你本机保存的全部文件。

提示词是表达任务和要求的重要方式,但并不等于全部上下文。应用保存的记忆和知识库,也只有在相关内容被取出并提供给模型后,才能影响这次回答。所以“我上传过”“上次聊过”都不能直接说明“这次它一定知道”。

关键要点

  • 上下文是模型在本次生成时实际接收到的信息,范围限定在一次调用之内。
  • 提示词是表达任务的重要方式,但不等于全部上下文。
  • 应用记忆和知识库属于保存侧,只有被取出并提供给模型,才会影响本次回答。
  • 保存不等于加载:上传了文件,不代表模型完整读取。
  • 模型可处理的上下文规模有限,应用可能截取、摘要或检索部分内容。

四个概念如何区分?

概念 主要解决的问题 不应作出的假设
提示词 告诉模型做什么、遵守什么要求 写得详细就一定执行正确
当前上下文 为本次生成提供实际信息 所有历史与附件都完整保留
应用记忆 跨会话保存并复用部分信息 与人的记忆相同,永不丢失或过期
知识库 存放并检索较多参考资料 放进去就会在每次回答中全部读取

这里的“应用记忆”指产品层面保存的信息,不等于模型参数中学到的知识。不同应用对记忆的选择、更新和删除方式也可能不同。

几个概念的关系可以这样理解:提示词是你主动写进去的要求;当前上下文是本次调用真正送给模型的内容;应用记忆和知识库属于保存侧,是否进入当前上下文取决于检索与加载。把保存侧的资料总量当成上下文容量,是很多误解的来源。

对比:有效上下文与全量输入

既然上下文有限,那么“一口气把所有资料都交出去”就不是稳妥做法。全量输入看起来不会遗漏,实际上会把无关内容和旧版本一起送进去。

做法 期望 风险
全量输入 不漏掉任何一条信息 无关内容与旧版本混入,关键要求被削弱
有效上下文 只提供相关、可信、不冲突的信息 需要先判断相关性并维护唯一权威版本

更实际的做法是先按用途分层保存,再按当前任务选择要加载的部分。这与 如何整理有效上下文:筛选、分层与更新 讨论的是同一件事。

为什么聊过还会忘?

模型可处理的上下文规模有限,通常用 token 计量。Token 是模型处理信息的单位,并不严格等于一个汉字或一个单词。

为了控制长度和成本,应用可能只保留最近对话、使用摘要,或检索部分历史。新会话也可能完全不带入上一轮的信息。因此,重要决定应保存成可核查的项目记录,而不是只依赖“之前说过”。记录的价值在于:它不随某一次对话的结束而消失,下一个会话或另一个工具仍然可以重新加载。

为什么上传了文件仍然答错?

文件可能解析失败,也可能只检索到了部分片段;即使拿到正确片段,模型仍可能误读。可以要求它列出依据的文件名、章节和相关原文,再由人对照检查。它声称读过文件,本身并不能证明读取完整。

以文章写作为例,读者定位可能在旧文件中,最新定位却在新文件中。如果没有注明哪个生效,AI 可能混用。这个问题需要管理资料版本,而不是单纯增加输入长度。版本管理的具体做法,见 如何整理有效上下文:筛选、分层与更新

术语:上下文、提示词、记忆、知识库

  • 上下文:模型在本次生成时实际接收到的信息,可能包括指令、历史对话、文档片段和工具结果。
  • 提示词:表达任务和要求的重要方式,但不等于全部上下文。
  • 应用记忆:产品层面跨会话保存并复用的信息,不等于模型参数中的知识,也不等于人的记忆。
  • 知识库:存放并检索较多参考资料的方式,放进去的资料不会在每次回答中全部读取。

区分这些术语的意义,是判断一次错误到底出在哪一步:要求没写清、资料没被加载、加载的片段不完整,还是模型理解有偏差。把问题定位到步骤,才知道下一步该改什么。

与 ACW 有什么关系?

ACW 是本系列用于组织长期工作资料的方法;当前上下文则是其中被选出、实际提供给模型的部分。两者不能画等号。

ACW 是领域无关的上位概念,用于组织背景、约定、任务过程、工作产物、检查证据和归档状态;Harness 是它在软件研发与交付场景中的领域实践。概念之间的边界和从属关系,见 ACW 本体论

下一步见 如何整理有效上下文:筛选、分层与更新

常见误区

  • 把“上传成功”当成“已经读到”。 上传只完成了保存,是否进入本次上下文,还要看检索与加载这一步。
  • 把应用记忆当成模型的知识。 记忆是产品层面保存的信息,可以被更新或删除,也可能过期。
  • 把上下文问题当成模型能力问题。 要求没写清、资料没加载、版本冲突,都会表现为答错,但修法各不相同。

常见问题

上下文和提示词是一回事吗?

不是。提示词是你用来表达任务和要求的方式,属于上下文的一部分;但上下文还可能包含应用设定的指令、历史对话、文档片段和工具返回结果。提示词写得详细,不代表模型就拿到了完成任务所需的全部信息。

把资料放进知识库,模型每次都会读吗?

不会。知识库负责保存和检索,只有相关片段被取出并提供给模型,才会影响本次回答。放进去的资料不会在每次调用中全部读取,这与它是否被保存成功无关。

“应用记忆”和模型学到的知识一样吗?

不一样。应用记忆是产品层面保存并复用的信息,模型参数中的知识来自训练。应用记忆可以被更新或删除,也可能过期,不能假设它像人的记忆一样稳定。

怎么判断模型是不是真的读到了资料?

可以要求它列出依据的文件名、章节和相关原文,再由人对照原始材料核查。它声称读过,不能替代对来源的检查;如果找不到对应原文,就当它没有可靠依据。

参考资料