分享灵感:Grep 在智能体搜索中为我们带来了颠覆性的改变。

Reddit r/AI_Agents 新闻

摘要

描述了一种改进智能体记忆搜索的方法:受一篇论文启发,将基于 grep 的精确匹配与向量嵌入相结合;在其记忆层中实现了显著的召回率提升。

本周早些时候,我们查看了《Grep 就够了?Agent Harnesses 如何重塑智能体搜索》一文,并看到了记忆层改善的早期迹象。我们使用了 SQLite 加上 OpenAI 的 `text-embedding-3-small` 向量(512维)。但召回率并不如预期。我们的排序系统采用了合理的局部选择,却导致了糟糕的全局行为。在改进之前,每条记忆都使用相同的14天指数时间衰减:compositeScore = cosineSimilarity * 2 ** (-ageDays / 14)。这个乘数严重压低了旧的典型记忆。一条经过精心挑选的76天前的记忆,即使正是智能体所需要的,其分数也仅保留了约 **2.3%**。而一条仅一天前完成的任务,即使只是听起来相关,也会排名更高。此外,我们没有设置最低相似度阈值,因此 API 总是试图填满请求的限制。另外,有1,634行数据由自定义提供商以1536维进行了嵌入,而不是请求的512维。所引论文中的表1显示了类似的情况,Sen 等人报告了在116个问题的 LongMemEval-S 子集上的总体准确率。在内联结果配置中,grep 在他们测试的每个工具-模型组合上都击败了向量检索。Chronos 下的 Claude Opus 4.6 使用 grep 达到 **93.1%**,而向量检索为 **83.6%**。Codex CLI 下的 GPT-5.4 使用 grep 也达到了 **93.1%**,而向量检索为 **75.9%**。于是我们尝试了这种方法。对于下一个记忆检索架构,我们决定使用 SQLite 进行精确证据匹配,向量用于语义召回,并采用倒数排序融合(reciprocal rank fusion),这样调用方看到的是一份统一的列表,而不假装分数具有相同的含义。很想听听大家正在尝试什么。
查看原文

相似文章

Grep 就足够了吗?智能体工具如何重塑智能体搜索

Hacker News Top

这项实证研究比较了 LLM 智能体工作流中的 grep 与向量检索策略,发现在不同的智能体工具和工具调用风格下,grep 通常能获得更高的准确率,而性能在很大程度上取决于工具选择与上下文设计。