Command Palette
Search for a command to run...
回溯式驾驭优化:通过轨迹展开上的自我偏好改进 LLM Agents
回溯式驾驭优化:通过轨迹展开上的自我偏好改进 LLM Agents
Wenbo Pan Shujie Liu Chin-Yew Lin Jingying Zeng Xianfeng Tang Xiangyang Zhou Yan Lu Xiaohua Jia
摘要
AI agents 依赖由技能、工具和组成的工具集来解决复杂问题。持续改进该工具集对于适应新任务至关重要。然而,现有的优化方法通常需要真实标签验证集,但在实际部署环境中,此类标注数据难以获取。为解决这一问题,我们提出了回顾性工具集优化(Retrospective Harness Optimization, RHO),这是一种仅利用历史轨迹来优化 agent 工具集的自监督方法。具体而言,RHO 从历史轨迹中选取一个多样化的挑战性任务核心集,并并行重新求解这些任务。agent 利用自验证与自一致性分析这些 rollout 轨迹,随后生成候选的工具集更新方案,并通过其自身的成对自偏好选择最有效的一个。我们在三个涵盖软件工程、技术工作和知识工作的不同领域对 RHO 进行了评估。值得注意的是,仅经过一轮优化,在无任何外部评分的情况下,SWE-Bench Pro 的通过率便从 59% 提升至 78%。此外,我们的分析表明,RHO 能够有效针对先前的失败模式。结果表明,优化后的工具集改变了 agent 的行为模式,并在长周期会话中维持了更高的准确率。
一句话总结
回顾式工具链优化(RHO)是一个自监督框架,仅利用历史轨迹展开,通过自我验证、自我一致性和成对自我偏好来自主选择更新,从而在无需外部评分的情况下将 SWE-Bench Pro 的通过率从 59% 提升至 78%,并在长周期会话中持续保持软件工程、技术工作和知识工作领域的高准确率。
核心贡献
- 本文提出回顾式工具链优化(RHO),这是一个自监督框架,仅利用未标记的历史执行轨迹来增强 agent 的提示词、工具和工作流,无需依赖真实标签验证数据集。
- RHO 选取多样化的挑战性历史任务核心集,并行重新求解这些任务,并通过自我验证、自我一致性和成对自我偏好提取改进信号,以自动生成并选择最优的工具链修改方案。
- 在软件工程、技术工作和知识工作领域的评估表明,单次优化轮次即可在无需外部评分的情况下将 SWE-Bench Pro 的通过率从 59% 提升至 78%,并持续优于基线经验累积与验证驱动进化方法。
引言
AI agent 依赖可配置的技能、工具和工作流工具链来执行复杂任务,因此持续进行部署后优化对于适应新挑战并维持长周期准确率至关重要。先前的优化方法通常依赖带标签的验证集来指导改进,但获取能准确反映现实任务分布的真实标签数据仍是主要的实践瓶颈。为弥补这一空白,作者提出回顾式工具链优化(RHO),这是一个仅从历史未标记轨迹演化整个工具链的自监督框架。作者利用多样化的历史困难任务核心集,并行重新求解这些任务,并提取内部自我验证和自我一致性信号以生成候选更新。通过 agent 自身的成对自我偏好对这些候选方案进行排序,该方法在无需任何外部评分的情况下即可识别出最有效的工具链修改方案,持续推动软件工程、技术工作和知识工作领域的性能提升。
数据集
-
数据集构成与来源
- 作者使用源自固定上游提交的三个基准测试来评估其框架,以确保可复现性。
- SWE-Bench Pro: 源自 Hugging Face 的测试集划分,该长周期软件工程基准要求生成能通过上游测试的多文件补丁。
- Terminal-Bench 2: 源自上游代码库,该数据集包含 89 个可执行命令行任务,侧重于基于奖励的成功判定而非构建规范。
- GAIA-2: 从 Hugging Face 验证集划分的小规模配置中加载,该基准包含 200 个具有异步事件流和独立环境演化的场景。
-
子集详情与划分
- 作者在所有基准测试中应用一致的确定性划分策略。任务按固定种子与实例 ID 的 SHA-256 哈希值排序,随后划分为训练集和预留测试集。
- SWE-Bench Pro: 划分后得到 100 个训练实例和 100 个预留测试实例,其余行被丢弃。结果在预留测试集上报告。
- Terminal-Bench 2: 划分将 30 个实例分配给训练集,59 个分配给预留集。未应用难度过滤,保留了完整的上游难度混合分布。
- GAIA-2: 划分将 200 个场景分为 100 个训练实例和 100 个预留实例。作者报告预留切片上的指标。
-
处理与评估协议
- SWE-Bench Pro: 评分模块通过重新应用工作区编辑至全新代码库检出版本并计算
git diff -binary来提取补丁。流水线在官方 Docker 镜像中应用补丁前,会剥离二进制块和自动生成的路径。每小时墙钟时间预算限制每个任务的执行时长。 - Terminal-Bench 2: agent 在宿主机上编写 shell 脚本并在隔离容器内执行。评分过程在容器内运行上游测试套件,验证器会输出二元奖励。墙钟看门狗强制实施任务特定超时限制。
- GAIA-2: 环境通过 sidecar 进程与 agent 交互,该进程推进模拟时间并重放事件。作者将每轮消息上限从一条提升至四条,以防止对冗长输出的 agent 进行惩罚。事件过滤和 UI 评判的 judge-relaxation 开关保持禁用状态。
- SWE-Bench Pro: 评分模块通过重新应用工作区编辑至全新代码库检出版本并计算
-
元数据构建与持久化
- 作者实现了一个全面的持久化层,记录每次执行的提示词、补全内容、轨迹、诊断结果、候选工具链、差异文件、评分及运行元数据。
- 每条存储的轨迹均包含完整事件流、最终消息、工作区差异和墙钟时间,使得下游审计、重新评分和消融研究无需重新运行 agent 即可进行。
- 轨迹检查涉及分析
events.jsonl和final_message.txt以确定成功标志,并记录证据、工具使用情况和推理步骤。 - 系统还持久化输入工具链标识符及每个候选方案的成对评分,以支持优化与排序算子。
方法
提出的回顾式工具链优化(RHO)框架作为一个自监督流水线运行,通过分析历史执行轨迹来迭代改进 agent 的工具链。整体架构分为三个连续阶段:核心集选择、组 rollout 和 best-of-N 工具链提议。该流程完全基于数据驱动设计,利用 agent 自身的历史表现来生成和优化信号,无需真实标签或外部监督。
第一阶段为核心集选择,旨在识别过去轨迹中最能指导工具链优化的代表性子集。给定大规模轨迹数据集 D,框架选取一个涵盖挑战性且多样化场景的核心集 Dcore,确保优化流程覆盖广泛的失败模式。该目标通过采用行列式点过程(DPP)核函数实现,以平衡难度与多样性。首先由语言模型评判器评估每条轨迹的难度,生成分数 ri 及详细描述问题结构的抽象结构指纹。该指纹用于基于嵌入向量间的余弦相似度计算相似度矩阵 S。随后构建核矩阵 K=diag(r)Sdiag(r),其中 ri 为由参数 θ 确定的缩放难度分数。DPP 以与核行列式成正比的概率从 D 中选取 k 条轨迹纳入 Dcore,从而有效优先处理困难且多样化的任务。 
第二阶段为组 rollout,为核心集中的每个任务生成一组并行轨迹以提取工具链改进信号。对于 Dcore 中的每个任务 t,agent 使用当前工具链 h0 运行 G 次并行求解。随后对该组轨迹进行两个维度的自我偏好分析。自我验证(rankval)检查每条轨迹内 agent 的正确性,标记错误工具调用、错误假设和过早停止等问题。自我一致性(rankcon)分析 agent 的行为在不同轨迹间是否保持一致,识别计划、工具序列或最终答案中的关键分歧。这两项分析的结构化评估结果被合并为每个任务的单一改进指令 It。核心集中所有 It 的并集构成最终的工具链改进指令。 
第三阶段为 best-of-N 工具链提议,用于生成并筛选最具潜力的候选工具链。为缓解工具链优化的随机性,框架向 agent 提供改进指令 I,并行采样 N 个候选工具链。随后使用每个候选工具链 hj 在 k 个核心集任务上生成新的轨迹集。通过计算 agent 在核心集上的自我偏好分数的平均值来得出每个候选方案的相对优势,其中分数 Sj 计算为每个任务 t 的新轨迹 τt(j) 与原始基线轨迹 τt(0) 之间成对排名的均值。选择具有最大相对优势分数 Sj∗ 的候选方案。仅当该分数严格大于零时才接受更新,确保仅采纳改进方案。 
实验
该评估在软件工程、技术工作和知识工作基准测试中采用可配置的 Codex agent 工具链,以对比无反馈记忆方法与基于迭代验证的优化器来评估回顾式优化效果。实验验证了 RHO 通过生成针对重复失败模式的专用工具和流程技能来持续增强性能,行为分析显示通过增加验证和主动使用工具,长周期任务的成功率得到提升。额外的消融研究证实,在核心集选择期间平衡任务难度与多样性对有效优化至关重要,且明确的自我验证和自我一致性信号能够在无需真实标签或大量计算开销的情况下可靠地驱动性能提升。综合来看,这些发现表明离线回顾式分析能够在保持精简优化预算的同时有效演化 agent 能力。
作者在 SWE-Bench Pro 上将 RHO 与验证反馈优化器 Meta-Harness 进行对比。在单轮和多轮设置下,RHO 的通过率均高于 Meta-Harness。对比结果表明,RHO 在减少 agent 调用次数且无需验证标签的情况下表现更优,而 Meta-Harness 需要标签和更多计算资源才能达到相似或更低的性能水平。RHO 在不使用验证标签的情况下于 SWE-Bench Pro 上取得了高于 Meta-Harness 的通过率。Meta-Harness 需要验证标签和更多 agent 调用才能达到与 RHO 相似或更低的性能水平。在单轮设置下,RHO 优于 Meta-Harness;即使将 Meta-Harness 扩展至十轮,RHO 依然表现更佳,而后者需要显著更多的优化阶段计算资源。
作者将 RHO 与多种无反馈基线方法及验证反馈优化器进行对比,证明 RHO 在无需依赖验证反馈的情况下即可在多个基准测试中持续提升性能。RHO 的通过率高于所有基线,在计算资源匹配的情况下优于验证反馈方法,同时使 agent 能够开发针对特定失败模式的新工具与技能。优化过程引发 agent 行为变化,例如在长周期任务中增加验证步骤,并更有效地使用新开发的工具。RHO 在不使用验证反馈的情况下在所有基准测试中实现一致的性能提升,在计算资源匹配时优于无反馈基线与验证反馈优化器。RHO 生成针对特定失败模式的新工具与技能(如非标准工具链路径和缓存目录问题),这些缺陷是原始工具链未能覆盖的。优化后的 agent 调整其行为模式,在长周期任务中更依赖验证,并主动使用新工具,从而在复杂任务中获得更高的成功率。
该表格对比了不同方法在优化流程各阶段的 agent 调用计算成本。RHO 因包含诊断、优化和排序等更复杂的工作流,导致总调用次数最高,而 ReasoningBank 和 Dynamic Cheatsheet 等其他方法流程更简单且步骤更少。基础版 Codex 作为基线,不包含优化步骤,仅执行测试调用。RHO 由于包含诊断、优化和排序等多步优化流程,需要最多的 agent 调用。与 RHO 相比,ReasoningBank 和 Dynamic Cheatsheet 的工作流更简单,步骤更少,总调用次数更低。基础版 Codex 的计算成本最低,因其仅执行测试调用且无任何优化步骤。
{"summary": "作者将 RHO 与现有优化技术在多个基准测试上进行对比,证明其在无需依赖验证反馈的情况下可实现一致的性能提升。RHO 通过创建新工具、技能和指令实现灵活的工具链优化,同时保持单次离线遍历且无需标签,从而取得卓越性能。对比结果表明,RHO 独特地满足了无需标签优化、完整工具链编辑和单次遍历执行这三项标准,使其区别于先前的方法。", "highlights": ["RHO 在不使用验证反馈的情况下在所有基准测试中实现一致的性能提升,优于依赖反馈或记忆系统的基线方法。", "RHO 通过创建新工具、技能和指令实现完整的工具链优化,不同于仅修改记忆或上下文的方法。", "RHO 是唯一同时满足无需标签、编辑完整工具链以及作为单次离线遍历运行这三项标准的方法。"]
作者在三个基准测试上评估 RHO 的性能,对比优化后工具链的平均通过率、选定通过率、标准差和最低通过率。结果显示,选定的工具链在所有数据集上均持续优于平均水平,且最低通过率始终低于均值,表明 best-of-N 选择有效规避了表现不佳的候选方案。选定值与均值之间的性能差距在 SWE-Bench Pro 上最为显著,暗示该基准测试的优化结果具有更高的波动性。选定的工具链在所有基准测试中均持续实现高于平均水平的性能。表现最差的工具链始终低于均值,表明优化流程可可靠地提升性能。选定值与均值之间的性能差距在 SWE-Bench Pro 上最大,说明该基准测试的优化结果存在较高变异性。
该评估在软件工程基准测试中将 RHO 与多种无反馈及验证反馈基线进行对比,以验证其效率、无标签运行能力及自适应优化能力。对比实验表明,RHO 通过自主开发针对特定失败模式的新工具与指令,持续优于现有方法,同时促使 agent 行为向复杂任务中更严格的验证方向转变。计算对比显示,尽管 RHO 采用更复杂的多步工作流,但达到相当或更优性能水平所需的 agent 调用次数显著少于依赖标签的优化器。最后,选择实验证实 best-of-N 采样可可靠地筛选出高性能工具链,证明灵活且无需标签的工具链编辑能有效提升 agent 在各类基准测试中的性能。