跳到主要内容

智能体一回忆,幻觉就上线

一键三连
一键三连

· 阅读约 2 分钟

你每天让它翻多少次旧账?打开它自己那堆备忘,找到上周那条决策,确认当时到底否了谁。我这边一天几十次,然后它总能翻出一段早就被否决的方案,用"这次肯定行"的语气重新提一遍。这种时刻你想砸键盘。

它记性不差的,攒了 700 多条 Markdown 备忘,5MB 左右,每天重新索引。问题不在记性,在检索逻辑:普通 RAG 假设答案一定在文档里,检索器只管捞;可智能体自回忆最常见的查询是"这问题我处理过吗",答案往往是没有。检索器不懂"没有"意味着什么,它照样返回最像的那段记忆,你的智能体就以为这茬已经处理过了。幻觉不用等生成阶段,检索那一步就种下了。

你当然可以换更强的嵌入模型、上交叉编码器重排序。没用。它只会以更高置信度把错的结果递给你——这天生不是排序问题。

所以有个人做 RE-call 这个开源引擎,我挺服的。它不吹自己 MRR 多高,它测的是"假自信率":本该弃权却硬答的频率。nDCG、precision@k 那套玩意在无答案的查询面前完全是聋子。

它做成 MCP 服务器,Claude 直接连自己的记忆库。配置入口长这样:

{
  "mcpServers": {
    "re-call": {
      "command": "re-call-mcp",
      "args": ["--db-url", "postgresql://localhost/re-call_memories"]
    }
  }
}

假设你按 README 装好、二进制叫 re-call-mcp 就行。后端是 PostgreSQL + pgvector 单一事务存储,稠密向量和稀疏全文一起搜再合并结果,把你的马克down 全灌进去就完事。

⚡真正让我觉得回不去了的是那个 gap_warning:最佳匹配太弱的时候它不硬凑答案,直接说"没找到相关的"!让智能体承认"不知道",比给它塞一百个 RAG 组件都值钱。上个月它更新到 v0.3,还加了写时取代——旧决策被否了就当场标掉,不用等检索时猜。

装它花了一个下午,这周就回本了。以前它每翻出一个旧决策,我都得亲自确认这茬是不是早翻篇了,一次十分钟,一天几十次就是几小时。现在它敢说"没有",我信它。

坑也老实说:弃权阈值不能跨模型迁移,换个嵌入模型就得拿一小份标注集重新校准,逃不掉。而且这工具是给天天靠记忆干活的 agent 准备的,你一天让它翻两次备忘,别折腾了,不值得。

你有更快的校准法子,教教我。

更多「Agent」的实战

评论

还没有评论,写下第一条讨论。