外观
为什么区分“被召回”和“实际被使用”?
标准回答
我把召回回执和实际使用报告分开,是因为“系统把一条记忆给了 Agent”和“Agent 真正用它完成任务”不是同一件事。
如果把被召回次数直接当作价值,高排名的记忆会因为曝光多而越来越高,形成自我强化。即使它已经不准确,也可能挤占其他候选的位置。因此 EachOf 分别记录召回与实际使用,用有边界的反馈影响排序,并允许错误标记撤回。
实际使用报告也不是绝对可信的事实。Agent 可能报告不完整,也可能使用了错误内容。因此我把它当作信号,而不是让它覆盖来源、有效性和相关性判断。没有使用报告时,也不能简单认为这条记忆没有价值。
这个机制的目标是让反馈可追踪、影响可控、错误可纠正。它属于检索排序反馈,不等同于已经训练了一套在线强化学习系统;独立量化收益还需要通过固定样本对照验证。
关键机制
- 关联查询、召回集合与使用报告,避免把无关任务的反馈混在一起;报告身份与作用域需要校验。
- 限制反馈权重,防止热门内容自我强化或恶意操纵;负反馈需要区分过时、无关和事实错误。
- 撤回反馈应能修正其影响,具体采取重算、版本化还是补偿,需按实现说明。
通俗例子
一条错误建议因为反复排在前面而频繁被看到,如果把曝光次数直接当价值,它可能越来越难被替换。
追问与回答
Agent 不上报使用怎么办?
我会把它保留为无反馈状态,而不是直接打负分。不上报可能是客户端没有接入,也可能是任务中途结束,并不等于内容无用。在这种情况下,排序仍然依靠相关性、来源质量、时效和有效状态。反馈可以补充信息,但不应该成为系统唯一的质量依据。
怎样证明反馈真的改善效果?
要固定查询和记忆集合,比较不使用反馈、使用反馈以及撤回错误反馈后的结果,同时观察有没有热门内容被过度放大。还要区分“被更多使用”和“任务完成得更好”,两者并不等价。目前项目没有给出这组独立对照的量化结论,因此我能解释机制和验证方法,但不能把已有的 3.75 个百分点全部归给反馈系统。
易混淆点
不要把自报“使用”称为完全可信的真实贡献度,也不要把反馈系统说成已经完成在线强化学习。
参考资料
内容来源
- Android 技术札记 · 原条目
eachof-feedback