上下文、Token与临时记忆
- 解释上下文窗口与永久记忆的区别
- 用工作摘要保留多轮任务的重要约束
对话为何会忘记前面的要求
星芽读书角的讨论进行了很多轮,前面说过不要新增费用,后面的输出却写出了免费参加。出现这种情况不一定是你忘了重复强调。模型每次生成时只能使用系统实际提供的输入,通常包括部分对话、当前问题和相关资料,这些统称上下文。很长的历史可能被截断、压缩或没有被当前应用传入;即使信息仍在上下文中,也不保证模型每次都会正确关注它。上下文像工作桌上的材料,不像一册永远完整的个人档案。
理解容量而不纠结计数
词元,英文Token,是模型处理文本时使用的片段单位。它不等于一个汉字,也不总等于一个英文单词。不同模型的切分方式可能不同,标点、代码和特殊字符也会占用词元。上下文窗口是一次处理能容纳的总量范围,具体还受应用设置影响,输入和计划生成的输出往往共享容量。不能把某个产品宣传的词元数直接当成能存下同样数量汉字的保证。初学者可以先关注材料是否精简、有层次、保留重要信息,而不是手算所有词元。
工作摘要比反复堆历史更实用
经过几轮修改,可以整理一份工作摘要:活动名星芽读书角;对象成年初学者;已确认六十分钟、星芽阅读室、携带一本喜欢的书;未确认日期、费用、报名方式;不得新增这些未知事实;当前任务只修改标题。摘要是你核对过的任务状态,不是让模型随意总结后直接相信。它可以在新对话中重新提供,降低对完整历史的依赖,但它仍然只是本次输入,不会自动改变模型参数或形成永久记忆。
完整的上下文管理步骤
先把确定事实和待确认事项分开,再记录当前决定与尚未完成的任务。对于旧版本文案,不必每次全部粘贴,保留本轮确实需要修改的段落即可。把关键限制放在清晰的小节中,并在最后用一句话指定本轮目标,例如只改标题,简介原样保留。若重新开启对话,应把摘要与必需原文重新提供,不要仅写继续刚才的事。模型不知道被应用省略的材料,也不能因为你曾在另一处说过,就保证当前能够读取。
摘要也可能丢信息
压缩材料会减少细节,不能把摘要视为原始记录的完全替代。比如原文写时长约六十分钟,摘要却写固定六十分钟,就悄悄改变了确定程度。应保留约、大约、待确认等限定词,必要时保存原文供回查。所谓长期记忆功能属于应用层的存储与检索机制,不是每个聊天模型都天然拥有,也要考虑用户设置与权限。好的上下文管理不是把所有资料一次塞进去,而是给当前任务提供够用、可追溯且无冲突的材料。
本节要点
- 上下文是当前实际传入的材料,不是永久记忆
- Token与字数不能固定一比一换算
- 工作摘要需要人工核对并保留限定词
动手练习:制作一张可迁移的工作摘要
- 按已确认、待确认、禁止事项、当前任务四行整理星芽活动信息
- 故意删去旧文案,只保留修改标题所需的材料
- 假设在新对话中使用摘要,检查另一位读者能否独立理解任务
自查清单
- 四类状态清晰且保留确定程度
- 不依赖未提供的旧对话即可理解任务
先自己做,再查看参考答案
摘要示范:已确认信息是星芽读书角、成年阅读初学者、六十分钟、星芽阅读室、带一本喜欢的书;待确认信息是日期、费用和报名方式;禁止事项是不得推断免费或新增联系方式;当前任务是提出三个克制友好的标题,不修改活动事实。若原始资料说约六十分钟,应把约字保留下来。新对话中必须重新粘贴摘要,不能假设模型已经看过历史。摘要只是帮助安排本轮材料,不意味着永久存储,也不保证模型完全遵守,因此收到标题后仍要检查它们是否暗示了未确认日期或承诺了不真实效果。