LlamaIndex legal-kb:当RAG从一次搜索变成多步推理循环

RAG(检索增强生成)的演进正从“一次搜索”走向“多步推理”。LlamaIndex 最新发布的 legal-kb 参考应用,正是这一趋势的典型缩影——它不再满足于让大模型从向量数据库中“捞”一段文本,而是赋予 Agent 一套完整的文件系统操作工具,实现类似人类查阅文档时的分步检索流程。

legal-kb 基于 Index v2(LlamaParse Platform)构建,核心创新在于其设计的Retrieval Harness 模式。该模式为 Agent 配备了四个文件系统风格的工具:retrieve(混合语义检索,支持 rerank 与引用)、findFiles(精确/模糊文件名搜索)、readFile(带偏移量的原始内容读取)以及grepFile(正则匹配并返回字符位置)。这套工具链的设计逻辑,本质上模拟了法务人员审阅合同时的实际工作流:先确定哪些文件可能相关,再定位具体段落,最后进行精确匹配。

与传统 RAG 中将用户问题直接映射为向量搜索的做法不同,legal-kb 要求 Agent 先调用 findFiles 确定文件清单,再依次使用其他工具定位内容。这一“先找文件、再搜、再读、再 grep”的多步循环,将检索过程从“一次命中”升级为“逐步逼近”。对于合同审查、尽职调查等场景而言,这种设计更贴近真实业务逻辑——律师不会直接在海量文档中搜索某一法条,而是先锁定合同编号,再翻阅相关条款,最后核对具体表述。

底层实现上,legal-kb 基于 Vercel AI SDK 6 的 ToolLoopAgent,可选用 OpenAI 或 Anthropic 模型,并支持用户自带 API key。项目以 TanStack Start web app 形式运行,上传文件后自动解析索引,同一文件名重复上传可产生版本,检索时通过版本元数据字段过滤。这一版本管理能力,对需要频繁迭代合同模板或法规文件的企业而言尤为重要——它解决了传统 RAG 系统中“文档更新后旧向量仍残留”的常见痛点。

legal-kb 的发布,实际上暴露了当前 RAG 系统的一个结构性短板:简单向量检索难以应对需要多步骤、多条件组合的复杂文档查询。在法律、合规、审计等知识密集型场景中,用户往往需要“先定位文件、再筛选版本、最后精确匹配条款”的复合操作。legal-kb 提供的 Agent 工具链,本质上是对这些操作的系统化抽象。对于正在构建内部知识库的团队而言,legal-kb 是一个可直接复用的工程模板,而不仅仅是一个实验性 demo——它的工具设计逻辑、版本管理机制以及对多种模型后端的兼容,都降低了从概念验证到实际部署的门槛。