AryaYT/nl2shell-terminal-bench
收藏资源简介:
NL2Shell Terminal-Bench Trajectories 是一个包含原始合成多步终端工程任务的数据集,其任务类别分布与 Terminal-Bench 基准测试一致,并打包为监督微调(SFT)轨迹。每个任务都是一个完整的“思考→命令→验证”轨迹,用于在定义的环境中解决真实的终端/shell问题。数据集旨在用于小型、可CPU部署的模型的SFT和推理蒸馏,这些模型将自然语言任务转换为正确的shell命令序列。任务覆盖软件工程、系统管理、安全、数据科学、调试、文件操作等多个领域,每个任务包括指令、环境设置、多步解决方案和验证命令。数据集已针对Terminal-Bench进行去污染处理,不包含基准测试任务,但模拟其风格和类别分布以促进模型泛化。
NL2Shell Terminal-Bench Trajectories is a dataset of original synthetic multi-step terminal engineering tasks, with a task category distribution matching that of the Terminal-Bench benchmark, and is packaged as supervised fine-tuning (SFT) trajectories. Each task forms a complete "thinking → command → validation" trajectory for resolving real-world terminal or shell problems within a predefined environment. The dataset is designed for supervised fine-tuning (SFT) and inference distillation of compact, CPU-deployable models that translate natural language tasks into accurate shell command sequences. Tasks span multiple domains including software engineering, system administration, cybersecurity, data science, debugging, and file operations, with each task containing instructions, environment setup procedures, multi-step solutions, and validation commands. The dataset has been decontaminated against the Terminal-Bench benchmark, so it does not include any of the benchmark's tasks, yet replicates their style and category distribution to facilitate model generalization.
数据集名称
NL2Shell Terminal-Bench Trajectories
核心描述
一个原创合成多步骤终端工程任务数据集,旨在用于对小型、可部署在 CPU 上的模型进行指令微调(SFT)和推理蒸馏,将自然语言任务转化为正确的Shell命令序列。该数据集已针对Terminal-Bench基准进行去污染,不包含基准测试任务。
任务类型
- 任务:文本生成(Text Generation)
- 模态:文本(Text)
- 格式:json
- 语言:英语(English)
- 标签:terminal, shell, agentic, command-line, distillation, terminal-bench
数据规模与划分
- 总行数:7,509 行
- 训练集 (train):6,781 行
- 验证集 (validation):728 行
- 快照日期:2026-05-30
- 文件大小:104 MB
数据格式
数据集包含以下文件:
tb_train_sft.jsonl和tb_val_sft.jsonl:用于指令微调的消息格式对话行,每行是一个JSON对象,包含一个“messages”列表,由系统提示、用户指令(任务+环境)及助手响应(逐步推理、Shell命令、验证)构成。tb_all_sft.jsonl:完整的SFT合并集(训练+验证,共7509行)。tb_synth_raw.jsonl:SFT格式化前的原始结构化任务样本,包含category,difficulty,tags,instruction,environment,solution_steps,verification等字段。
生成方式
任务由Gemini模型通过pydantic-schema约束的结构化输出生成。使用固定模式(类别、难度、标签、指令、环境、解决方案步骤、验证)确保每个任务格式良好,包含可执行的环境设置和可验证的检查步骤,随后渲染为SFT格式的轨迹。
去污染措施
- 金丝雀字符串拒绝:拒绝包含Terminal-Bench金丝雀字符串的生成任务。
- 8-gram重叠拒绝:检查每个生成指令与Terminal-Bench真实任务指令的8-gram重叠,拒绝重叠任务。
- 最终结果在类别分布和难度上模拟Terminal-Bench,但不包含其实际任务。
覆盖领域
- 软件工程(构建修复、配置修复、代码调试)
- 系统管理(服务、权限、进程、打包)
- 安全(审计、加固、秘密处理)
- 数据科学/数据处理
- 调试与故障排查
- 文件操作与Shell脚本
预期用途
- 小型Shell命令模型的指令微调
- 自然语言到Shell命令翻译的推理蒸馏
- 训练紧凑、可部署在CPU上的终端助手
局限性
- 任务为合成数据(由Gemini生成),解决方案轨迹和验证命令未经逐条端到端执行。
- 类别/难度组合反映生成配置,可能随语料库增长而变化。
- 去污染仅针对公开的Terminal-Bench任务指令,不保证与其他基准无重叠。
许可
Apache-2.0





