← 返回 2026-10-19

图书馆员智能体:训练大模型构建预判未来查询的长上下文工作区 Librarian Agents: Training LLMs to Curate Long-Context Workspaces that Anticipate Future Queries

Anikait Singh, Teresa Zhang, Yoonho Lee, Roshen Sanjay Nair, Aviral Kumar, Chelsea Finn 📅 2026-10-15 👍 6 2026-11-11 18:30
GRPO 强化学习 智能体记忆 检索增强生成 测试时计算分配 长上下文

用强化学习训练构建者智能体,提前把语料整理成文件系统,供后续查询反复复用。

前置知识

检索增强生成(RAG)

让语言模型回答问题前先从外部文档库检索相关片段、再基于检索结果生成答案的框架。典型流程是:查询进来→在向量或词法索引上搜索→取回若干段落→拼进提示词后作答。它是「反应式」的:每个新查询都从零触发一轮搜索,跨文档的关联关系需要在推理时反复重新发现,多跳问题下成本尤其高。

本文把 RAG 作为主要对照范式,理解其「每查询现搜」的成本结构,才能体会提前整理工作区带来的摊销收益。

GraphRAG 与预计算索引

在查询到来之前就对语料做结构化预处理的方法族:如 RAPTOR 的层级摘要、GraphRAG 的实体图与社区摘要、HippoRAG 的图结构记忆。它们依赖固定抽取管线(如命名实体识别)和预定义 schema,结构一旦建好就难以改变,只有当未来查询恰好与索引对齐时效果最好,查询需要任务特定中间产物时就会失效。

预计算是本文的另一条对照路线;作者指出其刚性启发式是主要短板,而本文要学的正是「结构本身」。

MDP 与势函数奖励塑形

马尔可夫决策过程用状态、动作、奖励和转移 $s_{t+1}\sim P(\cdot|s_t,a_t)$ 刻画序贯决策,策略 $\pi(a|s)$ 最大化累积奖励。势函数奖励塑形(Ng et al., 1999)把每步奖励改写为势能差 $r_t=\Phi(s_{t+1})-\Phi(s_t)$,在 $\gamma=1$ 时各步奖励 telescoping 求和后只差一个常数项,因而不改变最优策略,却把稀疏的终局奖励变成每步都有信号的稠密奖励。

本文把文件系统编辑序列建模为有限视野 MDP,稠密奖励与稀疏目标等价的论证(其公式4)直接依赖这一经典结论。

GRPO(组相对策略优化)

面向大语言模型后训练的策略梯度方法:对同一提示采样一组 rollout,用组内奖励的相对优势(减去组均值)代替价值网络来估计优势函数,免去 critic,训练更稳定且省显存。DeepSeek-R1 等推理模型广泛采用,多轮变体可在轨迹的每个轮次上分别计算优势。

builder 智能体的文件系统编辑策略就是用 GRPO 微调的,多轮优势计算让早期编辑动作也能获得学习信号。

测试时计算重分配

把计算量在「训练/预计算阶段」与「推理阶段」之间重新分配的思路:与其让每个查询都付出全部推理成本,不如把部分工作前置(预生成推理链、缓存、建索引),用一次性投入换取多次查询的摊销节省。典型例子包括自洽性采样、AutoCompaction 式周期性压缩、检索索引预构建等。

本文的核心经济学逻辑正在于此:构造工作区约花 179K tokens 一次性成本,靠多次查询摊销回本,是这一思路在记忆组织上的实例化。

研究动机

大语言模型越来越多地被要求在远超上下文窗口的语料上推理——企业知识库、复杂软件仓库、用户聊天历史中,完成任务所需的信息分散在大量互不相连的文档里。现有两条路线各有硬伤:其一是检索增强生成(RAG),它是反应式的,每个查询触发一轮全新搜索,跨文档关系必须在推理时反复重新发现,复杂多跳问题下 agent 被卡在推理时的高计算成本上;其二是知识图谱等预计算结构,依赖命名实体抽取等刚性启发式和预定义 schema,只有当未来查询恰好与索引对齐时才有用,一旦查询需要任务特定的中间产物就失效。更关键的是经济学问题:同一语料库会被反复查询,但现有方法让每个请求都从零开始,重复支付同样的检索与阅读成本。

本文的目标是本文目标是让 agent 具备「预判性定向整理」(anticipatory directed curation)能力:在查询到来之前,主动把非结构化语料重组为一个面向下游回答 agent 的层级文件系统工作区,把部分计算成本从查询时前移到预计算阶段并跨查询摊销。量化目标有三:在 BrowseComp-Plus 的 50 个保留任务上,用冻结的 Qwen3.5-4B 和 Gemini 3.1 Flash Lite 作答,准确率显著超越最强检索与预计算基线(论文最终做到平均领先约 33 个百分点);在从未训练过的 BRIGHT 三个子域上零样本迁移仍保持领先;并验证一次性约 179K token 的构造成本能在多次查询中摊销回本。

与已有工作不同的是,作者抓住了一个被整个领域忽视的不对称性:现代 agentic harness(如 Claude Code)中的 LLM agent 已经非常擅长导航现成的文件系统去完成当前任务,却几乎没被训练过「为未来的查询主动构建可复用工作区」。此外,已有工作要么把结构当作规则抽取的固定产物(GraphRAG、RAPTOR),要么每个查询现做(RAG 及其 agentic 变体),没有人把「语料该如何组织」本身当作一个可学习、可用下游答题准确率直接优化的决策。本文用 RL 训练一个 builder 智能体填补这个空位,据作者所知是首个把语料组织视为面向下游回答的策略优化问题的工作。

核心方法

直觉是图书馆员:优秀的图书馆员不是等读者来了再翻遍书架,而是在开馆前就把书整理成目录、索引和主题分区,读者沿短路径即可找到证据。技术上,Librarian Agents 分两阶段:预合成阶段,builder 智能体 $\pi_{build}(\mathcal{A}|\mathcal{F})$ 把原始文档集 $\mathcal{D}$ 逐步改造成多层级文件系统 $\mathcal{F}$,仅用 CreateFile、MergeFiles、Delete、Stop 四个动作编辑;回答阶段,一个冻结的回答智能体 $\pi_{ans}(\tilde{y}|q,\mathcal{F})$ 用文件列举与读取工具在工作区内检索并作答。构造过程被建成有限视野 MDP:状态是当前文件系统,奖励来自下游答题表现,用 GRPO 直接优化 builder 策略,使合成文件天然贴合未来查询的分布。整个框架刻意保持回答端不变,只学习「如何整理记忆」这一件事。

核心创新是把「结构本身」变成可学习的决策,并以回答智能体的实际答题成功率作端到端奖励。目标函数分两层:期望答题成功 $S(\mathcal{F})=\mathbb{E}_{q\sim\mathcal{Q}}\mathbb{E}_{\tilde{y}\sim\pi_{ans}}[\mathrm{Acc}(\tilde{y},y^*(q))]$,扣除导航成本得效用 $U(\mathcal{F})=S(\mathcal{F})-\lambda_{tok}C_{tok}-\lambda_{read}C_{read}$。稀疏奖励 $r^{sparse}=U(\mathcal{F}_H)-\alpha\sum_{t}\mathrm{Cost}_{build}(\mathcal{A}_t)$ 信用分配太粗,故改用稠密形式 $r^{dense}_t=U(\mathcal{F}_t)-U(\mathcal{F}_{t-1})-\alpha\,\mathrm{Cost}_{build}(\mathcal{A}_t)$;由势函数塑形理论,$\gamma=1$ 时两者求和只差常数,最优解一致。与 RAG 的本质区别:跨文档推理从查询时前移到构造时;与 GraphRAG 的本质区别:组织结构由奖励信号塑造而非人工管线决定。广覆盖易导航、忠实回退原始证据、跨查询摊销复用三大设计目标都被编码进该目标。

方法步骤详情

第一步:初始化。原始文档 $\mathcal{D}=\{d_1,\dots,d_n\}$ 作为根目录文件,构成初始工作区 $\mathcal{F}_0$。第二步:迭代编辑。builder 每步从四个动作中选择:CreateFile——从若干原始文档和/或已有合成文件整合信息生成新合成文件,附溯源引用链接;MergeFiles——聚合相关合成文件为更高层摘要或目录式产物,引入层级;Delete——删除冗余合成文件(永不删原始文档,保证回退);Stop——提前终止。视野上限为 $H$。第三步:周期探测。每编辑 8 轮,用冻结回答 agent 在隐藏的 minibatch 训练查询上探测 answerability,增量作中间奖励;查询对 builder 不可见,仅用于估奖励。第四步:终局评估。轨迹 $(\mathcal{F}_0,\mathcal{A}_1,\dots,\mathcal{F}_T)$ 结束后测终端答题正确性;主实验取 $\gamma=1$、$\lambda_{tok}=\lambda_{read}=\alpha=0$。第五步:GRPO 更新 builder。第六步:部署。回答 agent 用 list/read 工具导航最终工作区作答,构造一次、多查询复用。

技术新颖性

新颖性有四点。其一,优化对象:以往工作优化的是检索器或摘要管线,本文优化的是「语料的组织方式」,builder 学到的策略决定建哪些文件、如何分层,据作者所知是首个把语料组织作为面向下游回答的策略来做 RL 的工作。其二,奖励设计:通过势函数塑形把稀疏的终局准确率变成 telescoping 的稠密信号,再以每 8 轮一次的 answerability 探测做工程折中,兼顾信用分配与评估开销。其三,解耦训练:回答 agent 全程冻结,学习问题被隔离为「为给定消费者定制记忆」,消费者还可以换成 RLM 等其他长上下文推理系统;也可选 RLAD 式协作多智能体做联合训练。其四,显式成本建模:目标函数预留 $\lambda_{tok}$、$\lambda_{read}$、$\alpha$ 三个旋钮,权衡构造开销、导航开销与准确率,而主实验故意全部置零以验证纯准确率信号的威力。

Overview of Librarian Agents
Figure 1: Overview of Librarian Agents
MDP Definition of Librarian Agents
Figure 2: MDP Definition of Librarian Agents
Dense Rewards via Probes
Figure 3: Dense Rewards via Probes

实验结果

四组实验支持核心主张。(1)分布内:BrowseComp-Plus 50 个保留任务上,冻结 Qwen3.5-4B 作答时达 0.75,远超 Embedding 0.42、Reranker 0.44、GraphRAG 0.36、AutoCompaction 0.04,也高于无 RL 微调的 builder(0.28),证明策略优化是关键;换 Gemini 3.1 Flash Lite 结论一致(0.77 对基线 0.30/0.42)。(2)成本与摊销:一次性构造 178,926 tokens(GraphRAG 仅 11,923、AutoCompaction 高达 501,637);在 50 个文档集、443 条合成查询的摊销评估中,微调 builder 准确率 0.637 对基座 0.242,每查询读 26.9 个文件、9,346 tokens;按每语料 20 次查询摊销约 18K tokens/查询,归一化后每正确答案 token 减少 33.8%(RL/Base 比 0.662,95% CI [0.504, 0.836])。(3)零样本迁移:仅在 BrowseComp 训练的 builder 直接用于 BRIGHT 三子域(AOPS、Biology、Stack Overflow)共 150 题,平均 pass@1 52.0%、pass@3 66.8%,最强基线 Dense 仅 20.8%/28.0%,Stack Overflow 上达 85.5%。(4)行为分析:RL 后的 builder 产出更丰富层级——平均 53.4 个活跃合成文件、45.4 个簇、8.0 次合并,基座仅 4.8/4.2/0.6;合成层缺失细节时,回答 agent 能沿溯源链接回退原始文档正确作答。

Construction Cost, BrowseComp-Plus
Table 1: Construction Cost, BrowseComp-Plus
Performance on amortized BrowseComp-Plus (base vs. fine-tuned)
Table 2: Performance on amortized BrowseComp-Plus (base vs. fine-tuned)
Zero-Shot Transfer to BRIGHT
Table 3: Zero-Shot Transfer to BRIGHT
回答侧检索统计(回答智能体读取的合成文件数与 token 数)
Table 4: 回答侧检索统计(回答智能体读取的合成文件数与 token 数)
builder 侧结构统计(活跃文件数、簇数与合并次数)
Table 5: builder 侧结构统计(活跃文件数、簇数与合并次数)
Results on BrowseComp-Plus
Figure 4: Results on BrowseComp-Plus
Qualitative comparison of RL and base building
Figure 5: Qualitative comparison of RL and base building
回退案例:预判覆盖不全时沿溯源链接取回原始证据
Figure 7: 回退案例:预判覆盖不全时沿溯源链接取回原始证据
查看结构化数据
任务指标本文基线提升
BrowseComp-Plus(冻结 Qwen3.5-4B 作答) 准确率 0.75 最佳基线 Reranker 0.44;Embedding 0.42;GraphRAG 0.36 +31 个百分点
BrowseComp-Plus(冻结 Gemini 3.1 Flash Lite 作答) 准确率 0.77 基线 0.30–0.42 +35 个百分点
摊销 BrowseComp-Plus(443 条合成查询 / 50 个文档集) 准确率 0.637 基座 builder(无 RL)0.242 +39.5 个百分点
BRIGHT 零样本迁移(AOPS/Biology/Stack Overflow,150 题) pass@1 52.0% 最强基线 Dense 20.8% +31.2 个百分点
BRIGHT 零样本迁移 pass@3 66.8% Dense 28.0% +38.8 个百分点
构造成本(BrowseComp-Plus) 构造 token 数 178,926 GraphRAG 11,923;AutoCompaction 501,637 准确率 0.77 对 0.36/0.04;按每正确答案归一化后记录 token 省 33.8%

局限与改进

作者承认的局限:评估仅限静态语料上的问答,文档变化时如何维护预判性记忆仍是开放问题;builder 需要在很大的文件上下文上操作,可扩展性受限(作者建议结合聚类或检索扩展到更大领域);任何有限的合成产物都无法预判全部查询,压缩可能丢掉「大海捞针」式查询所需的细节,虽有引用链接可回退,但何时绕过合成层仍是难题。我的补充观察:摊销收益依赖「同一语料被多次查询」这一前提,低频查询场景下约 179K token 的一次性投入不划算;微调后的工作区让回答 agent 每查询读 26.9 个文件、9,346 tokens,绝对读取量明显高于基座(2.72 个文件、1,238 tokens),在延迟敏感场景是负担;摊销评估用的是模型生成的合成查询,可能偏向工作区已覆盖的方向;每 8 轮探测一次的频率是手工设定,其最优值与语料规模、难度的关系未做系统消融。

独立分析的弱点

弱点一:静态假设。企业知识库和代码仓库天天更新,工作区却是一次性产物,文档变更后合成摘要会悄然过期且无失效检测。改进方向:为合成文件记录源文档版本或哈希,检测到变更时只局部重建受影响子树,而非整体重造。弱点二:摊销经济学不成立时反噬。个人偶尔查一次的小语料,约 179K token 构造成本远超收益。改进:先估计查询流量,期望查询数低于阈值时退回轻量检索;或在多用户间共享同一语料的工作区。弱点三:回答时读取开销上升。每查询 9,346 tokens、近 27 次文件读取,实时对话场景不可接受。改进:启用导航成本塑形($\lambda_{read}>0$),或训练「快速路径」直接命中高概率文件。弱点四:构造期 builder 需同时容纳大量文档,接近上下文极限。改进:分层 builder——先聚类分块、各组独立建子工作区,再由高层 builder 合并目录。弱点五:摊销评估依赖合成查询,存在自我强化偏差,需要真实用户查询日志复验外部效度。

未来方向

作者提出的方向:让文件系统从自身访问流量中学习更新——把每个被回答的查询当作「下一个读者需要什么」的证据,动态增删合成产物;把当前四个动作推广为组合式原子文件命令(touch、mkdir、mv、rm 等),表达力更强;用聚类或检索配合 builder 扩展到更大语料;以及用 RLAD 式协作多智能体框架联合训练 builder 与回答 agent。基于成果可延伸的:其一,把工作区当版本化制品,支持 diff 式增量更新与回滚,适配流式语料;其二,跨知识库共享的联邦工作区,同一企业的多个语料库共享高层目录与引用结构;其三,与 RLM 等长上下文推理后端组合,让回答 agent 在工作区内做递归推理;其四,把 answerability 探测的自适应频率也建模为可学习决策,进一步压低探测开销。

复现评估

复现条件较好:代码已在 GitHub 开源(teresaz05/librarian-agents),项目网站 librarian-agents.github.io 提供概览。数据公开:BrowseComp-Plus 划分为 680 训练 / 50 评估任务,BRIGHT 用 3 个子域各 50 题。算力方面,builder 用 GRPO 微调,论文致谢 Tinker Research Program 与 Modal Academic Research Program,说明训练依托第三方 RL 微调/推理服务而非自建集群;主要开销是大模型推理——每个 rollout 需 builder 多轮编辑、每 8 轮一次回答探测及 minibatch 终局评估,但单次构造约 18 万 token 量级,中等预算可承受。复现难度中等:框架与数据齐备,但 RL 训练稳定性(探测频率、minibatch 采样、优势计算)对超参敏感,且依赖 Qwen3.5-4B / Gemini 3.1 Flash Lite 等具体模型版本,换模型需重调。建议先复现 builder-no-FT 消融作基线,再上 RL。

相似论文推荐