上下文窗口到底是什么
模型的上下文窗口是它在单次请求中能查看的文本总量,包括你的系统提示、对话历史、工具定义以及它正在书写的回答。把它理解为一次调用的工作记忆,而非模型的永久知识。
是 token,不是单词
上下文以 token 计量。一个英文单词约等于 1.3 个 token,所以 128K 的上下文窗口大约能容纳 9 万到 10 万个英文单词。读取这么多内容每次请求都可能花掉可观费用,因此大窗口既是能力也是账单。
什么最快把它填满
- 聊天应用中的对话历史:每一轮都会重发整份记录。
- 把长文档整篇粘贴,而不是先检索。
- 每次调用都重复的冗长工具定义与 schema。
- 每个请求都携带的大量少样本示例。
窗口用完时
较早的文本会被截断或丢弃,模型只能用剩下的内容作答。这种失败是静默的:答案看起来没问题,却忘记了对话前段的事实。症状包括模型“忘记”你在开头给的指令,或与早前的话自相矛盾。
在窗口内生存的三种办法
- 压缩历史:把较早的轮次浓缩成一份简短的滚动摘要,而不是重发原始文本。
- 检索代替粘贴:先在文档中搜索,只发送相关段落。
- 积极裁剪:丢弃当前轮次用不到的工具定义和少样本示例。
有意管理上下文的应用,比那些单纯买个更大窗口、把一切粘进去的应用更便宜也更准确。
还没有评论。来成为第一个分享看法的人吧!