Qdrant Edge 赋能机器人 Reachy:实现本地语义记忆与零断网交互
在自主机器人领域,语言模型(LLM)的上下文窗口(Context Window)限制使其难以承担长期记忆与个性化交互的角色。Pollen Robotics 与 Hugging Face 联合开发的开源机器人 Reachy Mini,仅搭载 4GB RAM 的 Raspberry Pi,无法独立实现“记住用户名字”或“复述离开时的情景”等任务。为此,Qdrant 推出了 Qdrant Edge,将向量搜索引擎以库的形式直接部署于机器人进程中,赋予其本地语义记忆能力。
核心架构:零服务器依赖的本地记忆
Qdrant Edge 的核心价值在于其边缘计算原生设计。与传统云端向量数据库不同,它无需网络跳板,搜索操作直接转化为进程内的函数调用,存储单元为磁盘上的独立目录(Shard)。Reachy 利用该引擎维护三类记忆:
- memory/:存储对话交换(Exchanges)与视觉帧(Frames),通过
kind字段区分租户索引,支持图文双向量检索。 - people/:存储人脸特征,采用 MaxSim 算法进行多向量(Multivector)匹配,确保不同角度的人脸识别准确。
- knowledge/:存储静态事实,以 0.7MB 快照形式持久化,支持云端同步更新。
关键突破:从工具调用到检索策略的优化
赋予机器人记忆并非易事,团队在调试中经历了两次关键失败与修正,最终实现了精准的语义交互。
1. 工具调用歧义问题
在初期测试中,当用户询问“今天看到了什么?”,机器人因语义理解偏差,错误地触发了 camera(拍照)工具而非 remember(检索记忆)工具。问题的根源在于工具描述不够明确。
解决方案:团队在 remember 工具的描述中显式标注了“过去时态”关键词,并引用了示例问题。这一微调使得模型在 26 个测试用例中,从 23 次错误选择中提升至 26 次正确调用,且未影响 camera 工具的性能。
2. 向量检索阈值策略
解决了工具调用后,机器人仍无法回答“看到了什么”的问题。由于每条视觉帧都附带了文本描述(如“看到人”、“看到植物”),简单的最近邻搜索(Nearest Neighbor)会因动词匹配而返回大量低质量结果。
解决方案:团队引入了一种负样本抑制机制:
- 创建一个“空帧”(Empty Frame,描述为“看到某物”)作为基准。
- 只有当检索结果不仅超过阈值(0.66),还优于该空帧时,才被采纳。
- 若所有结果均低于基准,机器人则放弃精确检索,转而采样当天存储的最新四帧图片进行描述,从而避免返回重复内容。
实际应用价值:超越上下文窗口的记忆
Qdrant Edge 的部署彻底改变了 Reachy 的交互逻辑:
- 个性化问候:机器人能准确识别并称呼用户姓名,即使经过数小时未交互。
- 长期记忆管理:当对话上下文填满(1000 tokens)时,旧内容自动迁移至本地记忆库,而非被丢弃。这使得用户一小时后询问“我们刚才聊了什么”依然能得到准确回答。
- 离线可靠性:由于所有计算与存储均在本地完成,即使 Wi-Fi 中断,机器人的记忆检索与推理能力依然在线。
Qdrant Edge 的成功证明了将向量数据库下沉至边缘设备,是构建具备真实“记忆”能力的自主智能体(Agent)的关键路径。