Retrieval is Cheap, Show Me the Code: Executable Multi-Hop Reasoning for Retrieval-Augmented Generation
本文针对多跳 RAG 中自由文本推理状态不显式、retrieval query 漂移以及自我反思不可靠的问题,提出 PyRAG,把多跳 RAG 重写成程序合成与执行问题。模型生成一段 Python 程序,将 retrieval 调用、实体绑定、子问题串联固化为代码,由解释器逐步执行检索与计算并显式记录中间状态。在多跳 QA 基准上,PyRAG 在准确率与 retrieval 调用效率上相对自由形式 ReAct 类基线获得稳定提升,并自然引出可验证的执行轨迹。
INSIGHT将「reasoning over retrieval」从自由文本范式切换到「可执行程序」范式,是生成式搜索一个重要的工程化方向:中间状态、变量、检索意图全部显式可控,自然支持单步重试、debug、并行化。对社区搜索场景,可以用代码化的多跳意图(如「先按用户找帖子→再按帖子聚合评论→最后过滤时间窗」)来取代纯文本 query rewriting,让 LLM-as-orchestrator 在保证准确率的同时把单次大模型调用替换成大量便宜的 retrieve+小模型 step。