Meet SETA: 开源针对终端代理的训练强化学习环境,包含400个任务和CAMEL工具包。
终端代理的端到端堆栈看起来像是什么样子,当您结合结构化工具组、合成强化学习环境以及基准对齐的评估时?来自CAMEL AI、Eigent AI和其他合作伙伴的研究团队发布了SETA,这是一个专注于终端代理的强化学习的工具包和环境堆栈。该项目针对在Unix风格壳中运行的代理,必须在一个基准体系结构(如Terminal Bench)下完成可验证任务。
三大主要贡献:
- Terminal Bench上的最先进的终端代理:他们在Terminal Bench 2.0上使用基于Claude Sonnet 4.5的代理实现了最先进的性能,并在Terminal Bench 1.0上使用基于GPT 4.1的代理。比较仅限于使用相同基模型的代理。
- 与合成终端环境一起进行可扩展的RL训练:研究团队发布了一个包含400个终端任务的初始合成数据集,难度各不相同。其中,260个任务用于Qwen3-8B模型的RLVR微调。
- 一个干净的代理设计,可以跨训练和评估框架进行泛化:相同的代理实现用于本地任务运行和官方Terminal Bench评估体系结构。
终端工具包和日志结构
SETA代码仓库展示了将语言模型转变为可执行终端代理的终端工具包。对于每个任务运行,该框架在evaluation/terminal_bench_run下创建一个结构化的日志目录。README页面显示了play-zork任务的布局。
关键文件包括:
chatagent.log记录代理消息和工具调用的完整历史,包括测试结果。sessions目录,其中有session_logs,它捕获工具包的终端交互。- 在
session_logs内部,例如blocking_commands.log、session_run_zork_1_correct_path.log、session_zork-1.log和session_zork_start.log等,存储了不同会话和模式下的命令输出。 tests.log和tests.log.strip记录测试运行输出,后者从终端控制字符中删除。
这种结构为调试代理提供了一个具体的方法。您可以从chatagent.log中的高级聊天决策追踪到会话日志中的单个shell命令,并从测试日志中确认成功或失败。
对于官方Terminal Bench评估,GitHub存储库在evaluation/terminal_bench_eval下提供单独的入口点。开发者将进入该目录并运行run_eval.sh以进行Terminal Bench 1.0的评估,或运行run_tb2.sh以进行Terminal Bench 2.0的评估。
结果写入到evaluation/terminal_bench_eval/run/{run_id}/results.json。特定任务的会话日志放置在evaluation/terminal_bench_eval/logs/camel_logs/{task_id}下。将CAMEL代理绑定到基准的代理类在tbench_camel_agent.py中实现。
笔记工具包作为持久的内存
研究团队还引入了一个名为笔记工具包的持久的内存描述,用于长期视角任务。他们展示了示例笔记工具调用,其中代理在解决终端任务的同时以结构化的方式编写和读取笔记。目前公开发布的材料主要关注此工具包的存在以及使用示例。它还没有描述笔记使用的完整训练目标。
重要的是,代理具有一个明确的渠道,可以在其中外部化中间结果和提示,而与原始终端缓冲区分开。
理解性能
SETA的代理工具包在Terminal Bench上实现了领先的结果。基于Claude Sonnet-4.5作为骨干,CAMEL终端代理在Terminal Bench 2.0的89个现实世界任务上实现了46.5%的准确率,排名第一,比第二系统高出3个百分点,特别是在git工作流程、DevOps自动化和代码安全任务上表现出色。在Terminal Bench 1.0上,基于GPT 4.1的代理实现了35%的准确率,比下一个条目高出4.7个百分点,再次在同一模型家族中。相比之下,一个监督下的Qwen3 8B基线在Terminal Bench 2.0上的准确率为3.4%,而使用SETA RL管道训练的Qwen3 8B终端代理在精心制作的合成环境中优于该基线。
主要结论
- SETA是一个联合社区项目,它提供针对终端代理的代理工具包和合成强化学习环境,与Terminal Bench评估格式对齐。
- 该框架报告了使用Claude Sonnet 4.5和GPT 4.1作为基模型时,CAMEL终端代理在Terminal Bench 1.0和2.0上的最新性能,并与建立在同一模型家族上的代理进行了比较。
- SETA RL数据集在Hugging Face上包含400个合成终端任务,每个任务都打包为
task.yaml、Dockerfile和run-tests.sh,其中260个任务用于基于Qwen3-8B的RLVR微调。 - 开源SETA代码库暴露了一个带有结构化日志和长期内存的笔记工具包的终端工具包,并直接与Terminal Bench评估脚本和
setaGitHub存储库中的日志路径集成。 - 整体设计展示了从合成强化学习环境到基准验证代理的干净路径,为开发者提供了可重复的堆栈来训练、调试和评估终端代理,而不是依赖临时的工具调用示例。