分享灵感:Grep 在智能体搜索中为我们带来了颠覆性的改变。
摘要
描述了一种改进智能体记忆搜索的方法:受一篇论文启发,将基于 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),这样调用方看到的是一份统一的列表,而不假装分数具有相同的含义。很想听听大家正在尝试什么。
相似文章
@jerryjliu0:关于grep是否是智能体搜索所需的全部工具,这个问题尚无定论。@PwCUS(Sen等人)最近的这篇论文似乎……
最近的一篇论文研究了在智能体检索中,grep是否优于向量搜索,发现grep在对话记忆测试中具有更高的准确性,但也指出了在企业文档语料库方面的局限性。
Grep 就足够了吗?智能体工具如何重塑智能体搜索
这项实证研究比较了 LLM 智能体工作流中的 grep 与向量检索策略,发现在不同的智能体工具和工具调用风格下,grep 通常能获得更高的准确率,而性能在很大程度上取决于工具选择与上下文设计。
@omarsar0: // Is Grep All You Need? // 注意了,AI开发者们。(收藏起来)他们发现,grep风格的文本搜索,当…
PwC的一篇研究论文发现,当正确集成到代理框架中时,grep风格的文本搜索在编码代理任务上可以匹配或超越基于嵌入的检索,这表明向量数据库对许多用例可能并非必需。
@dair_ai:关于自主搜索与向量搜索的精彩论文。
本文讨论并比较了自主搜索与向量搜索方法。
混合检索 + 依赖图扩展优于仅嵌入的代码 RAG——可测量、CI 门控
Archex 是一款新的开源代码 RAG 工具,通过结合混合搜索(BM25F + 密集嵌入)、交叉编码器重排序和依赖图扩展来改进检索,与纯基于嵌入的方法相比,实现了更高的召回率和令牌效率。