上下文
什么是上下文包?
上下文包是指你有意识地附加到对话中的、可以反复使用的一组材料组合,如指令或参考文本。这篇文章说明它和记忆、和 RAG 有什么区别,以及在什么情况下一份精心整理的包会更胜一筹。
全部文章 · 最近核实:
它填补的空白
记忆是自动的:系统决定保留什么、何时重新引入,这很方便但不够精确。一次性附件精确但一次性使用:下周你还得再收集一遍同样的五份文档。
包是中间地带:一次性、有意识地组装好,在你选择的时候应用。你的编码规范、你产品的术语、某项工作必须遵守的约束。
应该放什么进去
稳定的材料,你不然每次都得重新解释:风格规范、领域词汇、永久性约束、你始终想要的输出格式。
不该放进去的是任何随每个问题变化的东西。一个你每次使用都要编辑的包,就是一个多了几个步骤的提示词。
成本与自律
包会在它附加到的每条消息上产生输入 token,所以一个应用到所有场合的大包,是上下文窗口成本问题的另一种表现形式。几个小而具体的包,胜过一个大而通用的包。
因为包是明确的,它也就可以审查:你能确切读到发送了什么,这一点自行拼凑的记忆做不到。
常见问题
- 这和系统提示词有什么不同?
- 系统提示词通常是一次性设置的一整块指令。包是一个有名字的组合,你按对话附加和取消附加,除了指令,它还能携带文件和引用。
- 我能同时用好几个吗?
- 能,组合小包正是它的意义所在——一个语言包加一个风格规范包,而不是每个项目一大块。
- 包会取代 RAG 吗?
- 不会。包是手工整理、始终包含的;检索是按问题从大语料库中挑选的。包适合稳定的材料;检索适合大到无法附加的材料。
与其阅读,不如亲自试试
ClawAI 的上下文包是你按对话附加的可重复使用组合:模型收到的是你组装出来的东西,而不是关于你的某种推测。