智能体能探索但会忽视:LLM 缺乏环境好奇心 Agents Explore but Agents Ignore: LLMs Lack Environmental Curiosity
用 solution injection 揭示 LLM 智能体发现却忽视关键环境信息
前置知识
ReAct 范式
Yao 等人 2023 年提出的智能体循环框架,将推理(Reasoning)与行动(Action)交织在同一个轨迹中。具体表现为 Thought→Action→Observation→Thought... 的闭环,每一步由 LLM 生成思考文本,再调用工具,工具反馈回写进上下文。
本文批判的就是 ReAct 闭环中"Action→Observation→Reasoning"那一节——Observation 出现后模型是否真把它纳入推理。文章反复用 Equation 4 和 Equation 5 对比,读者必须熟悉 ReAct 才能体会这个差距。
Agent Scaffold
指智能体的"脚手架",即包裹在底层 LLM 外层的工程代码层,负责解析工具调用、维护历史、决定何时停止。常见例子有 Terminus(只给 bash)、SWE-agent(bash+结构化编辑工具)、OpenHands(50+工具)。
论文 Section 3.2 明确把"可用工具集"列为影响环境好奇心的核心 test-time 因子之一,scaffold 的差异直接决定了 discovery 与 interaction 的比例。
pass@k 无偏估计
Chen 等人 2021 年定义的成功指标,用 $n$ 次独立试验中至少 $k$ 次成功的无偏期望来度量。公式为 $E[1 - \binom{n-c}{k}/\binom{n}{k}]$,能避免重复采样带来的统计偏倚,被 SWE-Bench 等基准广泛采用。
本文将同一无偏形式扩展到了 discovery@k 与 interaction@k 两个新指标,理解原公式才能体会作者为什么要保持估计形式一致。
Supervised Fine-Tuning (SFT)
在大模型通用预训练之后,用专家(通常是 on-policy)演示轨迹继续训练的过程。常见做法包括 rejection sampling:让模型生成多条候选,只保留成功的轨迹,再用它们继续训练。
Section 3.3 的核心实验就是 rejection sampling SFT,分别用 Terminal-Bench、AppWorld、SWE-smith 三种分布微调 command-a-reasoning,并对比环境好奇心的变化。
str_replace_editor
Anthropic 提出的一种结构化文件编辑工具接口:通过 start/end 标记和 find/replace 字符串精准定位文件区域,比 sed/awk 命令对 LLM 更友好,已被 SWE-agent、OpenHands 等主流编码代理默认采用。
论文 Figure 3 的关键自变量就是"bash-only vs bash+str_replace_editor"。这个工具的出现让 pass@1 提升但 P(interaction|discovery) 几乎腰斩,是本文最重要的工程洞察之一。
研究动机
现有 LLM 智能体在 SWE-Bench Verified 上的解决率已从 33.2% 跃升到 80% 以上,按主流评价指标(pass@1)看似乎越来越"聪明"。但作者观察到一个反常现象:智能体在终端/API 环境中执行 ls、cat、--help 等命令时,常常"看见"了与任务高度相关却偏离预期路径的信息,却从不进一步研究它。比如在 AppWorld 中 gpt-oss-120b 在 97.54% 的轨迹里执行了 `cli --help`,看见文档明说 "solution 命令会返回当前任务的完整解答",但仍然调用 solution API 的尝试只有 0.53%;Terminal-Bench 上 discovery 高达 78.6–81.2%,interaction 却只有 37.1–50.3%;SWE-Bench discovery 53.4–98.2%,interaction 仅 5.9–17.4%。这意味着现有基于任务成功率的评测体系根本无法分辨"智能体真正根据观察调整了推理"与"智能体背下了某种工作流",因此无法指导研究者改进真正欠缺的"环境好奇心"能力。
本文的目标是论文明确提出三个层级的目标:第一,定义一个新概念"环境好奇心(Environmental Curiosity)",即智能体在面对环境中意外但相关的观察时,主动识别并展开调查的能力。第二,提出一个可复用的评测方法 Solution Injection——把任务的真解以可执行文件或 API 端点的形式直接放进环境,从而把"看到"和"使用"拆成两个可独立测量的指标 discovery@k 与 interaction@k。第三,在三类典型代理基准(Terminal-Bench、SWE-Bench、AppWorld)、多种 LLM(gpt-oss-120b、GLM-4.7、command-a-reasoning)、两种 scaffold(Terminus、SWE-agent)上系统剖析影响环境好奇心的 test-time 与训练分布因子。
与已有工作不同的是,与 RL 中的 intrinsic curiosity(Schmidhuber、Pathak 等)以及 ReAct/SWE-Agent 等已有 agentic exploration 工作不同,本文聚焦的不是"能不能发现新信息"而是"发现了能不能用上"。作者创新性地用 solution injection 主动制造高质量、相关且不可预期的环境刺激,并在推理轨迹分析中证明:即便把完整解答摆在眼前,只要它没有出现在用户提示或第一步推理中,agent 就几乎不会触发利用行为。这种"开环序列生成器"vs"观察触发的策略重规划"的对比视角,是过往 SWE-Bench、Terminal-Bench 单纯追求 pass@k 的研究所遗漏的关键维度。
核心方法
直觉上,作者想把"agent 是否会读摆在眼前的关键文件"这件事从"agent 是否能解题"中剥离开来。具体技术路线分三步:(1) 选定一个已有 benchmark 的真解(gold solution),把它以"显眼但非主流"的形式注入到 agent 工作目录或 CLI help 中,比如 Terminal-Bench/SWE-Bench 用 solution.sh、AppWorld 在 `cli --help` 里加一个 solution API;(2) 给每个任务跑 $n=10$ 次独立试验,逐次回放整条轨迹,通过关键字匹配("solution.sh"、"cli solution")分别判断该次试验是否曾发现、是否曾实际调用过注入物;(3) 用 Chen 等人 2021 的无偏估计式把绝对计数转成概率,从而得到 discovery@k、interaction@k、pass@k 三个可比较的曲线。这样无需新模型、无需新标注,仅靠"在已有 benchmark 上盖一层注入"即可量化一种此前无法测量的认知能力。
与传统 benchmark augmentation(注入干扰或额外上下文干扰)不同,solution injection 的注入物具有三个属性:(i) 完整且自洽,跟随它必能完成任务;(ii) 通过 agent 合法动作可被"看到",不会被工具层隐藏;(iii) 显著处于 agent 默认工作流之外(一个突然冒出来的 solution.sh / 一个未在 prompt 中出现的 API)。这种"故意把答案摆上桌"的设计,让 pass@k 的提升幅度直接反映 environmental curiosity 的强度——由于答案已经被确保可用,agent 还要靠"是否愿意去看一眼"才能得分。本质区别于已有方法:SWE-Agent 等的评估分数永远和"agent 自己有没有本事写出来"耦合,而 solution injection 的分数只取决于"agent 愿不愿意读",把发现动作与利用动作分离成两条独立测量曲线。
方法步骤详情
方法分四步:1) 定注入形态——Terminal-Bench 与 SWE-Bench 在工作目录放 solution.sh;AppWorld 在 `cli --help` 注册 solution API。2) 定义指标——命中 `solution.sh` 或 `cli solution` 累计发现数 c_disc,再有 read/cat/execute 行为累计利用数 c_interact。3) 跑 $n=10$ 次 rollout,覆盖 gpt-oss-120b(高/中/低推理)、GLM-4.7、command-a-reasoning,配 Terminus/SWE-Agent 两种 scaffold 与 bash-only/bash+editor 两组工具。4) 用 Chen 2021 无偏估计把 c_disc 与 c_interact 聚合成 discovery@k、interaction@k。另设 LLM-as-a-judge 检查 interaction=0 的轨迹,看 reasoning 是否提及 solution,区分 reflection 失败与能力缺失。
技术新颖性
技术新颖性体现在三个层面。第一,评测协议上首次把"任务成功率"分解为"可见率 + 利用率"两条正交曲线,使得 capability 与 behavior 两个维度可以被独立优化和诊断;这是 SWE-Bench 类只能给单点的 benchmark 无法做到的。第二,把 RL intrinsic motivation 与 LLM agentic evaluation 桥接——传统 curiosity 关注新颖状态数,本文关注"已知但未被利用的相关信息",揭示了 curiosity 必须配合 reflection 才有意义。第三,在 SFT 阶段做了三组对照(T-Bench-SFT、AppWorld-SFT、SWE-Bench-SFT)发现窄分布微调会同时压低 interaction@k 与 pass@k scaling,揭示了 post-training 对环境好奇心的系统性压制效应,这是已有 RLHF/SFT 研究未曾发现的现象级结论。
实验结果
Figure 2 显示 discovery@1 ≥50% 但 interaction@1 不破 50%,AppWorld gpt-oss-120b 极值 97.54% vs 0.53%。Table 1 显示注入 Terminal-Bench 由 44.5% 升至 55.9%(+11.4),SWE-Bench +1.0、AppWorld +2.6,gain 与 interaction 正相关。Figure 3 表明加 str_replace_editor 让 cmd-a 在 Terminus 上 pass@1 由 25.2 升至 46.9,P(int|disc) 由 19.3 跌至 6.1。Figure 4 表明 reasoning effort 由低到高让 Terminal-Bench interaction@1 由 11% 升至 37%,AppWorld 仍近零。Table 2 显示窄分布 AppWorld-SFT pass@1(44.2 vs 34.5)更高,但 pass@10 与 interaction@10 反低(65.8/69.0、26.9/41.5),窄分布压缩解空间。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| Terminal-Bench 注入版 | interaction@1 / pass@1(gpt-oss-120b high) | interaction@1 37.1%;pass@1 注入版 55.9% vs 原版 44.5% | 原版 Terminal-Bench pass@1 44.5%(同模型无注入) | pass@1 +11.4 个百分点,是三个基准中 injection 收益最大的 |
| AppWorld 验证集注入版 | interaction@1 / pass@1(gpt-oss-120b high) | interaction@1 0.53%;pass@1 注入版 43.1% vs 原版 40.5% | 原版 AppWorld pass@1 40.5% | pass@1 仅 +2.6,对应极低的 interaction rate |
| SWE-Bench Verified 注入版 | interaction@1 / pass@1(gpt-oss-120b high) | interaction@1 17.4%;pass@1 注入版 46.9% vs 原版 45.9% | 原版 SWE-Bench Verified pass@1 45.9% | pass@1 +1.0,几乎无收益,discovery 53.4% 是三个基准中最低 |
| SWE-Bench 工具配置对比(cmd-a SFT) | pass@1 与 P(interaction|discovery) | Terminus bash-only:pass@1 25.2,P(int|disc) 19.3;Terminus bash+editor:pass@1 46.9,P(int|disc) 6.1 | 同模型未注入 pass@1(淡灰线) | 加入 str_replace_editor 后 pass@1 提升 21.7 个百分点,但 curiosity 指标反而下降 13.2 个百分点 |
| Terminal-Bench 推理 effort 对比 | interaction@1(gpt-oss-120b) | low 11% / medium 约 23% / high 37% | low reasoning effort 同一 agent | 高推理相对低推理 interaction@1 提升 26 个百分点,三倍多 |
| AppWorld SFT 分布对比 | interaction@10 与 pass@10 | AppWorld-SFT interaction@10 26.9,pass@10 65.8 | T-Bench-SFT interaction@10 41.5,pass@10 69.0(均为窄分布 vs 宽分布微调) | 宽分布微调在交互率上提升 +14.6,在 pass@10 上提升 +3.2,但 pass@1 反低 9.7 |
局限与改进
作者承认三大局限:solution injection 只能放在浅层入口,无法模拟真实环境里"次要观察散落各处"的形态,测的是 curiosity 的上限而非均值;interaction 关键字匹配基于特定字符串,无法检测 agent 是否真读懂内容;n=10 的 pass@k scaling 结论尚未在更大 trial 数上验证。我们额外观察到四点:(a) 全部用开源/可访问模型,未覆盖 GPT-5、Claude Opus 4 等当前最强闭源模型;(b) Appendix A.2 显示 solution 写入 user prompt 后 agent 几乎立刻能用,证实缺失是 reflection 而非能力,但作者没有据此提出 prompt-level mitigation;(c) 三种 SFT recipe(rejection sampling、mid-trajectory remove/re-add、masked adversarial)均失败,但样本数和训练轮数等超参未给出;(d) interaction 关键字匹配可能把 echo 等间接引用误判为真实利用。
独立分析的弱点
独立分析五个潜在弱点。第一,注入物过于显眼(solution.sh / solution API),换成真实任务里"埋在 1000 行日志中的一句话"时 interaction@k 几乎肯定跌到 0,缺乏 graceful-degradation 的敏感性实验。第二,关键字判定 interaction 易误算,需要用 LLM-as-a-judge 校验 read 后是否真读了内容。第三,n=10 在 closed API 上成本极高,因此缺 GPT-5、Claude Opus 4 的覆盖。第四,推理 effort 提升带来 11%→37% 的差距,没排除是 CoT 长度附带效应,应补 prompt 长度控制实验。第五,Tables 2-3 的 SFT scaling 结论只用 3 个 seed、CI 偏大。改进方向:连续强度注入替代 0/1 二值注入;扩展到 n=30+ 报告方差;引入 grounding-aware 的 interaction 判别器。
未来方向
Discussion 给出三方向:(i) 超越 solution injection 构建多样化 curiosity benchmark,测长尾代码库或多模态中的次要观察利用情况;(ii) 训练 agent 学会 Equation 5 的反思行为,作者三种 SFT recipe(rejection sampling、mid-trajectory remove/re-add、masked adversarial)均失败,提示需 reflection-augmented RL 或自生成反例;(iii) 设计能在 Observation 后强制触发反思的 scaffold,如在 ReAct loop 插入 mandatory reflection prompt。我们另提三方向:把 curiosity 形式化为可微奖励(衡量 reasoning token 是否引用上游 Observation)并用 RL 训练;将 discovery 与 interaction 建模为多任务双 head;新增"curiosity transfer"评测验证跨域迁移,Table 3 已有数据但未做强相关分析。
复现评估
整体可复现性良好。基准全部公开(Terminal-Bench v1、SWE-Bench Verified、AppWorld),主实验所用 LLM 均为开源或商业可获取(gpt-oss-120b via OpenAI API、GLM-4.7 公开权重、command-a-reasoning via Cohere API)。每任务 $n=10$ 次独立 rollout,fine-tuning 模型用 3 个 seed 报告均值,训练规模约 20,000 turn。但有三处不透明:(a) prompt 完整内容仅在 Appendix B.4 给出,正文只展示摘要;(b) SWE-Agent 与 Terminus 的 max steps、retry policy、token budget 分散在 Appendix E;(c) command-a-reasoning 三种 SFT 变体的训练脚本和数据采集 pipeline 未公开,外人难以完全复现 Tables 2-3。复现难度中上:2×A100 节点可复现主实验,但 SFT 部分依赖 Cohere 内部工具链。
论文图表
给出 AppWorld 验证集中一个具体 trajectory:Turn 1 agent 决定执行 `cli --help`,Turn 2 在 help 输出中已经看到 solution API 的存在及其 'returns the complete solution to this task' 的描述,但 agent 推理仍只是 'simple_note is present, explore cli simple_note --help'。图中明示数字 97.54% vs 0.53% 的对比。
这是整个论文最核心的反直觉证据——把答案摆在 `cli --help` 输出里都不看,揭示了 environmental curiosity 的极端缺失,比表格里的统计数字更直观