
📖标题:CLI-Gym: Scalable CLI Task Generation via Agentic Environment Inversion
🌐来源:arXiv, 2602.10999v1
🌟摘要
代理编码要求代理有效地与运行时环境交互,例如命令行界面(CLI),以便完成解决依赖问题、修复系统问题等任务。但如何大规模获得此类environment-intensive任务以增强代理的能力仍未得到充分探索。为了解决这个问题,基于Dockerfile和代理任务之间的类比,我们建议使用代理来模拟和探索环境历史,由执行反馈指导。通过跟踪健康环境的历史,它的状态可以反转到运行时失败的早期状态,通过打包错误状态和相应的错误消息可以从中派生任务。使用我们的方法CLI-Gym,总共导出了1,655个environment-intensive任务,是同类任务中最大的集合。此外,通过策划成功的轨迹,我们的微调模型LiberCoder在终端平台上实现了+21.1%(到46.1%)的大幅绝对改进,优于各种强大的基线。据我们所知,这是第一个用于可扩展environmentintensive任务派生的公共管道。
🛎️文章简介
🔸研究问题:如何大规模、自动化地生成环境密集型CLI任务,以提升智能体在真实终端环境中的交互与修复能力?
🔸主要贡献:论文提出首个公开可复用的CLI任务生成框架CLI-Gym,通过"代理式环境逆向"自动从健康Docker环境出发,利用LLM代理主动破坏系统状态并记录失败轨迹,构建1655个高质量、多样化、可复现的CLI修复任务。
📝重点思路
🔸将Dockerfile建模为环境演化的历史序列,类比代码提交历史,使环境状态可被"逆向追溯"。
🔸设计两阶段代理任务:第一阶段由LLM代理在黄金环境中执行破坏性命令(如篡改共享库、污染locale、修改权限),诱导单元测试失败;第二阶段自动生成对应的问题描述与可复现Dockerfile。
🔸采用执行反馈驱动的探索机制------代理根据实时命令输出与测试结果动态调整策略,而非依赖预设规则或静态模板。
🔸引入记忆池与多级提示工程(含方向引导、格式约束与多样性控制),保障任务语义合理、难度适中且覆盖广泛故障类型(文件系统、依赖、并发、安全等)。
🔸构建端到端自动化流水线:从GitHub仓库→黄金镜像→代理破坏→失败验证→Dockerfile提取→自然语言问题生成→标准化任务封装。
🔎分析总结
🔸CLI-Gym生成的任务规模达1655个,是Terminal-Bench(80/89)的20倍,且覆盖29个真实开源项目,显著提升数据多样性与现实代表性。
🔸仅用291条高质量修复轨迹微调Qwen3-235B-A22B,即在Terminal-Bench 1.0上实现46.1% Pass@1,绝对提升+21.1%,超越480B参数的Qwen3-Coder等更大模型。
🔸消融实验证明:环境多样性(跨仓库采样)比单纯增加轨迹数量更关键;过滤低质量轨迹(如短步长、作弊行为)对性能提升至关重要,尤其在具备基础编码能力后。
🔸训练后模型在定位错误、编辑准确性、系统级诊断能力上显著增强,失败类型中"错误定位"和"部分完成"大幅减少,但长上下文溢出问题凸显,反映探索深度增加。
🔸任务类别分析显示,软件工程、系统管理、安全调试等CLI核心场景性能提升均超20个百分点,而游戏、科学计算等非目标领域无明显改善,验证方法针对性。
💡个人观点
论文提出"环境可逆性"这一核心思想,本质是把环境当作可编程对象,用LLM作为"混沌工程师"主动制造可控故障,从而生成真正贴近运维实践的训练信号。
🧩附录

