Improving Memory Retrieval: How New Computer achieved 50% higher recall with LangSmith

改进记忆检索:新电脑如何通过 LangSmith 将召回率提高 50%

新电脑使用 LangSmith 改进了他们的记忆检索系统,通过跟踪比较视图中的回归并相应地调整对话提示,将召回率提高了 50%。

阅读时长:4 分钟

关于新电脑

新电脑Dot 背后的团队,Dot 是第一个真正理解用户的人工智能。Dot 的长期记忆系统通过观察言语和行为线索来学习用户的偏好。Dot 的记忆系统不仅仅是回忆——它不断地演化对用户是谁的理解,以便提供及时和个性化的帮助,营造出真正理解的感觉。

借助 LangSmith,新电脑能够测试和改进他们的记忆检索系统,与之前动态记忆检索的基线实现相比,召回率提高了 **50%**,准确率提高了 **40%**。

Dot 的自主记忆系统概述

新电脑团队构建了一个创新性的、首创的自主记忆系统。与依赖于静态文档集的标准 RAG 方法不同,自主记忆涉及动态创建或预先计算只有在稍后才会检索的文档。这意味着必须在记忆创建期间对信息进行结构化,以便检索成为可能,并且随着时间的推移积累的记忆,准确性和效率也变得至关重要。

除了原始内容外,Dot 的记忆还具有一组可选的“元字段”,这些字段对于检索非常有用。其中包括状态(例如已完成或进行中)和日期时间字段,如开始日期或截止日期。这些可以用作检索期间高频查询的额外过滤方法,例如“我本周想要完成哪些任务?”或“我今天还有哪些任务要完成?”

使用 LangSmith 改进记忆检索

新电脑拥有各种各样的检索方法——一种或多种语义、关键字、BM25、元字段过滤技术——他们需要一种新的方法来快速迭代标注示例数据集。为了在保护用户隐私的情况下测试性能,他们通过创建具有 LLM 生成背景故事的合成用户群组来生成合成数据。在进行初始对话以填充每个合成用户的记忆数据库后,团队开始将查询(合成用户的消息)以及完整的可用记忆集存储在 LangSmith 数据集中。

新电脑团队使用连接到 LangSmith 的内部工具,为每个查询标注相关记忆,并定义了精确率、召回率和 F1 等评估指标,使他们能够快速迭代,改进自主记忆系统的检索功能。

对于这一组实验,他们从一个简单的基线系统开始,该系统使用语义搜索,为每个查询检索固定数量的最相关记忆。然后,他们测试了其他技术,以评估不同查询类型下的性能。在某些情况下,相似性搜索或关键字方法(如 BM25)效果更好;而在其他情况下,这些方法需要通过元字段进行预过滤才能有效执行。

正如你所想象的那样,并行运行这些多种方法会导致组合爆炸——因此,在多样化的数据集中快速验证不同的方法对于取得进展至关重要。LangSmith 易于使用的 SDK 和 Experiments UI 使新电脑能够快速有效地运行、评估和检查这些实验的结果。

新电脑在 LangSmith 中运行的不同实验的 F1 性能概述

这些实验使新电脑能够显著改进他们的记忆系统,与之前动态记忆检索的基线实现相比,召回率提高了 **50%**,准确率提高了 **40%**。

使用 LangSmith 调整对话提示

Dot 的响应由一个动态对话提示生成——这意味着除了包含相关记忆外,系统可能还会依赖于工具使用(例如搜索结果)和高度上下文的行为指令,以准确和自然的方式进行响应。

开发这样一个高度可变的系统可能具有挑战性,因为一个改进一个查询的更改可能会对其他查询产生不利影响。

为了优化提示,新电脑团队再次使用合成用户群组来为各种意图生成用户查询。然后,他们能够轻松地检查 LangSmith 实验 比较视图 中提示更改的全局影响。这使他们能够以高度可视化的方式识别从提示更改中推导出的回归运行。

此外,在输出不准确的失败情况下,团队可以直接调整提示,而无需离开 LangSmith UI,使用内置的提示游乐场。这极大地提高了团队在评估和调整对话提示时的迭代速度。

新电脑的下一步计划

随着新电脑不断努力加深人机关系,该团队一直在寻找方法让用户真正感到被感知和理解。这包括使 Dot 能够适应用户的对话或语调偏好,或通过主动向用户发送个性化消息,根据每个用户进行定制。

他们最近的发布吸引了新一波用户——其中超过 45% 的用户在达到免费消息限制后转换成了应用程序的付费层级——这些用户希望 Dot 随着时间的推移与他们一起成长和演化。新电脑与 LangChain 团队的合作以及 LangSmith 的使用,对于该团队如何利用新的人工智能材料来模拟与人类用户加深关系的复杂性至关重要。