假设一个个人助手知道项目为什么延期。这段解释与进度汇报高度相关,但里面包含一位同事的隐私。

即使检索完全正确,也不能据此决定把它写进草稿。

个人 AI 绕不开这种区别。一条信息可能相关,却已经过时、尚不确定、讲的是别人,或不在获准的使用范围内。本文讨论上下文使用规则需要回答哪些问题,不是在提出一种新的检索算法,也不代表已有完整实现。

信息进入上下文之前,要问四个问题

我会把相关性、使用资格、证据性质和对外表达分开检查。

问题 例子
对当前任务有帮助吗? 最近的一次纠正,针对的正是这类消息
本次执行可以使用吗? 用户允许为这个目的访问这个来源
它能证明什么? 当时讨论过一种可能,但尚未作出决定
结果里可以说出来吗? 私密细节未必适合放进给第三方的消息

第三个问题不能只用一个置信度分数回答。“用户亲口说过”“助手推断出来”“原始材料有歧义”,是不同性质的依据。再自信的推断,也仍然是推断。

最后一个区别同样需要谨慎:允许系统内部查看信息,本身也需要授权,不能把“只是内部使用”当成绕过披露限制的办法。如果这种内部使用没有得到许可,信息一开始就不该进入本次执行。

过去的理解,不能改写今天的意思

假设旧画像里写着,这个人喜欢社交。但今天他明确说:“这次活动我不想去。”

如果他愿意被追问,历史背景也许有助于助手提出一个好问题。但它不能把当前的拒绝变成同意。“他通常喜欢这类活动”和“他答应参加了”,是两回事。

时间边界需要双向考虑。评估智能体当时能知道什么,不能把后来才收到的纠正提前给它;决定现在怎么做,也不能让早期判断自动压过后来明确的更新。

一个回放历史的演示,如果让系统提前知道未来,个性化效果就可能显得远好于它在当时真正能做到的程度。

任务不同,需要的背景也不同

私人工作简报和给家人的近况,可以讲同一件事,却需要不同的上下文。同事也许已经认识参与者,父母则可能需要一句人物介绍。两者都未必需要整段历史。

任务应该影响选什么材料、怎么表达,却不应该悄悄改写系统对这个人的基础理解。

例如,用户希望给家人的消息轻松一些,不能据此认定他不喜欢严肃谈话。这是对某类沟通的要求,有其适用范围;这个范围本身有时也需要进一步确认。

上下文多一点、少一点,都需要验证

人们很容易把“最少上下文”当成目标。但少掉一句限定,就可能把角色扮演变成看似真实的自述。提供全部获准历史,也许保住了那句话,却又把它埋进几千句其他话里。

上下文的长度本身不能决定谁更好。有用的比较应该检查:各组实际提供了什么信息,智能体怎么使用,花了多少资源,又出现了哪些错误。

检索、长上下文、直接查看原始来源、面向任务的摘要,都是可选策略。应该选哪一种,取决于任务和证据。把准备上下文的过程称作“编译”,既不意味着检索已经过时,也不意味着必须设置一个固定的编译模块。

让上下文选择可以被检查

在一个假设例子中,检查者应当能看到当前指令、历史判断及其时间和来源、获准的用途,以及最终输出。随后只改变一个条件:换收信人、撤回授权,或加入当前的明确纠正。

该变的行为变了吗?无关行为是否保持正常?能否根据本次执行实际收到的材料,解释最后的结果?

LangMem 的概念指南介绍了如何组织和更新持久记忆,可以作为背景阅读。我在这里关心的是下一道边界:某一次具体执行,可以拿这些记忆做什么。

真正有用的问题,不是助手知道我多少事,而是它正在使用的信息,是否适合这个决定、这些条件,以及眼前这位接收者。