返回日报条目

资料节译

奥运问答对比:GraphRAG准确率92%,智能体流程为100%

阅读原文

现在人人都在构建智能体。但比“智能体能做这件事吗?”更好的问题是:“智能体什么时候真的胜过更简单的方案?” 为了参加 TigerGraph Agentic GraphRAG 黑客松,我并排构建了三种问答流水线来一探究竟。

数据集包含约 2,900 篇有关奥运赛事的维基百科文章,以及 100 道带答案的评测题和 50 道隐藏题。问题分为五类:简单查询、多跳问题(“谁在这个场馆、这一天获得了金牌?”)、时间问题(“……在 2016 年之前最近一届奥运会上”)、聚合问题(“有多少个冬季两项赛事的参赛者超过 73 人?”)和极值问题(“哪个赛事的参赛者最多?”)。

早期的一项发现影响了整个方案:约 760 篇文档是干扰项——混在语料中的电影和公司文章。纯文本检索系统可能会被它们带偏。只根据奥运赛事记录构建的图谱则根本不会遇到这些内容。

我将每项赛事的维基百科信息框解析为结构化的Event顶点,涵盖运动项目、年份、季节、场馆、日期、参赛者人数、国家和奖牌获得者,并将其中 2,187 个加载到 TigerGraph Savanna。随后,我编写了用于筛选、计数和查询的 GSQL 查询端点。

关键的设计决策是,模型绝不计算答案。问题会转化为结构化计划,再由 TigerGraph 执行。统计 11 场冬季两项赛事并按参赛者人数筛选,是数据库的工作。让 LLM 根据检索到的几段文字猜答案,就会导致错误。

**RAG:**按相似度检索排名前 5 的文档,并从中读出答案。

**GraphRAG:**先规划,再执行一条图查询并返回结果。

**Agentic GraphRAG:**采用编排循环。它先规划,再查询图谱,判断证据是否充分;如果证据不足,就自行纠正(放宽筛选条件、重新匹配赛事),再与第二个来源交叉验证,并在有把握时停止。

流水线准确率估计每次查询的令牌数
RAG18%1,573
GraphRAG92%247
Agentic GraphRAG100%1,295

RAG 在聚合和极值问题上的得分为 0%。你根本无法根据检索到的 5 篇文档统计 40 场赛事。对于“2016 年之前”这类问题,它也常常选错奥运年份,因为对文本检索器来说,“2012”和“1992”的相似度看起来一样。

GraphRAG 一举提升到 92%,令牌成本约为 RAG 的五分之一。

最后差的 8 个百分点来自多跳问题。比如:“谁在 2008 年 8 月 16 日于北京国家体育场获得金牌?”一个场馆承办几十场赛事,因此 GraphRAG 抓取了第一个匹配结果。智能体发现有多个候选项,便将此视为证据缺口,并用每项赛事记录中的确切日期消除歧义;若仍有并列,则以相似度搜索作为决胜依据。这种调查式行为让多跳问题的准确率从 71% 提升到 100%。

这才是真正的经验。**智能体并非处处更好。**对于大多数这类问题,设计良好的图查询已经足够,而且成本低得多。只有在证据含糊、需要核查时,智能体循环才发挥了作用。

代码: https://github.com/repulsortechnologies-alt/agentic-graphrag