遇见数据集

zenyx-agentic-loops

收藏
Hugging Face2026-10-31 更新2026-11-01 收录
官方服务:

资源简介:

Zenyx Agentic Loops 是一个面向小型聊天模型(Zenyx-Mini,约151M参数)的多轮工具使用/agent-loop监督微调(SFT)数据集,英语,任务类别 text-generation,标签 agents、tool-use、function-calling、sft、synthetic,规模 10K<n<100K。目标是让小型基座模型学会:使用工具实际返回的内容;从错误中恢复;没有结果时明确说“未找到”而不是编造;缺少必要信息时提问并等待用户回答;破坏性操作前确认;轮询异步任务直到真正完成。 数据生成:本地4B模型 Spark-X2.6-4B(Q8_0 GGUF,通过 llama.cpp,Apache-2.0)只扮演 assistant;scripts/agentloop_env.py 扮演工具和用户。每个工具调用由模拟世界执行(虚拟文件、天气/时间表、计算器、单位转换、订单/客户、电子邮件/日历、异步作业),因此工具输出是真实的,包括错误、空结果和“仍在运行”。用户回合由脚本化模板生成,包含几百种模板变体和随机槽;当 assistant 提出必需问题时程序回答,当请求确认时约70%回答是、其余为否。只有真正成功的 rollout 被接受:评判器检查世界状态和对话记录,例如最终答案必须包含工具返回的值且不能包含未在任何观察中出现的数字;邮件必须发送到用户给出的地址;文件仅在用户确认后被删除;作业必须轮询到 done;assistant 不得在确认前调用工具。被拒绝的 rollout 保留在 rejects/ 下并附原因,可作为负例/DPO 对。data/identity_nini/ 为程序化生成(无模型),包含 Zenyx-Mini(“Nini”)的身份、规模、创建者、能力和限制,以及希望模型准确陈述的事实。 格式:data/<task>/*.jsonl 每行包含 messages({role, content} 列表,角色有 system(可选)、user、assistant、tool;assistant 工具调用仅为 <tool_call>[{"name": ..., "arguments": {...}}]</tool_call>;结果为 tool 消息及原始结果文本)、tools(JSON 字符串,OpenAI 风格工具模式)、domain(agentloop_<task> 或 identity_nini)、provider(llama.cpp:Spark-X2.6-4B-Q8_0.gguf 或 program:templates)、seed、task_info(可复现信息,JSON 字符串)。采用 Zenyx 聊天格式(zenyx100m/chat.py):工具模式放入 system 轮,工具结果作为 <|im_start|>tool 轮返回;仅 assistant 内容参与训练。配置包括 default(data/*/*.jsonl)和 rejects(rejects/*/*.jsonl)。 任务家族包括 weather、time、calc、convert、read_note(先列后读)、error_recovery(错误文件名、瞬时503、永久权限错误)、empty_result(未找到且不编造)、ask_then_act(缺少城市/收件人/时间;另有控制行,所有信息已给出且 assistant 不得提问)、confirm_destructive(仅在确认后删除)、async_job(启动、轮询、仅在完成时回答)、no_tool_needed、tool_unavailable(诚实说明“用这些工具做不到”)、multi_call、dependent_calls(第二次调用使用第一次结果中的 id)、write_note、identity_nini。 使用限制:工具为模拟,场景来自固定家族,因此主要教授循环行为而非真实世界工具知识;仅英语。Assistant 措辞来自4B模型,只要行为和事实正确即被接受,因此风格可能平实或简短。行数随生成器运行而增长,当前计数见 status/*.json。scripts/ 中包含生成脚本以便复现整个流程;scripts/test_agentloop_env.py 表明脚本化的正确 agent 在每个任务上都会被接受,而错误行为会被拒绝。数据和脚本采用 Apache-2.0 许可;生成器模型 Spark-X2.6-4B 也采用 Apache-2.0。

Zenyx Agentic Loops is a multi-turn tool-use/agent-loop supervised fine-tuning (SFT) dataset for small chat models (Zenyx-Mini, about 151M parameters). It is in English, with task category text-generation and tags agents, tool-use, function-calling, sft, synthetic, and size category 10K<n<100K. It targets common errors of small base models: use the actual content returned by tools; recover from errors; explicitly say "not found" when there is no result instead of fabricating; ask for necessary missing information and wait for the users answer; confirm before destructive operations; and poll asynchronous jobs until they are truly complete. Data generation: a local 4B model Spark-X2.6-4B (Q8_0 GGUF, via llama.cpp, Apache-2.0) acts only as the assistant; the small program scripts/agentloop_env.py acts as tools and the user. Each tool call is executed by a simulated world (virtual files, weather/timetable, calculator, unit conversion, orders/customers, email/calendar, asynchronous jobs), so tool outputs are realistic, including errors, empty results, and "still running". User turns are generated from scripted templates with several hundred template variants and random slots; the program answers when the assistant asks required questions, and about 70% of confirmation requests get yes and the rest no. Only truly successful rollouts are accepted: a judge checks world state and the conversation transcript, e.g., final answers must include values returned by tools and must not include numbers not seen in any observation; emails must be sent to the address given by the user; files are deleted only after user confirmation; jobs must be polled until done; the assistant must not call tools before confirmation. Rejected rollouts are kept under rejects/ with reasons and can serve as negative examples/DPO pairs. data/identity_nini/ is programmatically generated (without a model) and contains facts about Zenyx-Mini ("Nini"): identity, scale, creator, capabilities, limitations, and facts the model should state accurately. Format: each line in data/<task>/*.jsonl contains messages (a list of {role, content}, with roles system (optional), user, assistant, tool; assistant tool calls are only <tool_call>[{"name": ..., "arguments": {...}}]</tool_call>; tool results are tool messages with raw result text), tools (JSON string, OpenAI-style tool schemas), domain (agentloop_<task> or identity_nini), provider (llama.cpp:Spark-X2.6-4B-Q8_0.gguf or program:templates), seed, task_info (reproducibility information, JSON string). It adopts the Zenyx chat format (zenyx100m/chat.py): tool schemas are placed in the system turn, tool results are returned as <|im_start|>tool turns; only assistant content participates in training. Configurations include default (data/*/*.jsonl) and rejects (rejects/*/*.jsonl). Task families include weather, time, calc, convert, read_note (list first, then read), error_recovery (wrong filenames, transient 503, permanent permission errors), empty_result (not found and no fabrication), ask_then_act (missing city/recipient/time; also control rows where all information is given and the assistant must not ask), confirm_destructive (delete only after confirmation), async_job (start, poll, answer only when complete), no_tool_needed, tool_unavailable (honestly state "cannot do it with these tools"), multi_call, dependent_calls (second call uses an id from the first result), write_note, identity_nini. Usage limitations: tools are simulated and scenarios come from fixed families, so the dataset mainly teaches loop behavior rather than real-world tool knowledge; English only. Assistant wording comes from the 4B model and is accepted as long as behavior and facts are correct, so style may be plain or short. Row counts grow with generator runs; current counts are in status/*.json. scripts/ contains generation scripts to reproduce the entire pipeline; scripts/test_agentloop_env.py shows that a scripted correct agent is accepted on every task while incorrect behavior is rejected. Data and scripts are under Apache-2.0; the generator model Spark-X2.6-4B is also under Apache-2.0.

创建时间:
2026-10-30
原始信息汇总

Zenyx Agentic Loops 数据集概述

基本信息

  • 名称:Zenyx Agentic Loops (simulated tools, verified rollouts)
  • 详情页:https://huggingface.co/datasets/Arko007/zenyx-agentic-loops
  • 许可证:apache-2.0
  • 语言:en
  • 任务类别:text-generation
  • 标签:agents、tool-use、function-calling、sft、synthetic
  • 大小类别:10K<n<100K
  • 配置:
    • default:数据文件位于 https://huggingface.co/datasets/Arko007/zenyx-agentic-loops/tree/main/data 下的 JSONL 文件
    • rejects:数据文件位于 https://huggingface.co/datasets/Arko007/zenyx-agentic-loops/tree/main/rejects 下的 JSONL 文件

用途与目标

  • 面向小型聊天模型 Zenyx-Mini(约 151M 参数)的多轮 tool-use / agent-loop SFT 数据。
  • Zenyx-Mini 链接:https://huggingface.co/Arko007/Zenyx-100M-Base
  • 目标行为包括:
    • 使用工具实际返回的内容
    • 从错误中恢复
    • 在未找到时说明“nothing found”,而不是编造
    • 询问并等待用户回答
    • 在执行破坏性操作前确认
    • 轮询作业直到真正完成

生成与可信度

  • 本地 4B 模型 Spark-X2.6-4B(Q8_0 GGUF,通过 llama.cpp,Apache-2.0)仅扮演 assistant。
  • 小程序 https://huggingface.co/datasets/Arko007/zenyx-agentic-loops/blob/main/scripts/agentloop_env.py 扮演工具和用户。
  • 每个工具调用由模拟世界执行,包括虚拟文件、天气/时间表、计算器、单位转换、订单/客户、电子邮件/日历、异步作业,因此工具输出是真实的,包括错误、空结果和“still running”。
  • 用户轮次脚本化,由数百模板变体与随机槽生成。当 assistant 提出必要问题时,程序回答;当请求确认时,程序约 70% 回答 yes,否则 no。
  • 仅真正成功的 rollout 被接受。裁判检查世界状态和对话记录,例如:
    • 最终答案必须包含工具返回的值,且不能包含未出现在观察中的数字
    • 电子邮件必须发送到用户给出的地址
    • 文件必须仅在用户确认后消失
    • 作业必须轮询直到 done
    • assistant 不得在确认前调用工具
  • 被拒绝的 rollout 保留在 https://huggingface.co/datasets/Arko007/zenyx-agentic-loops/tree/main/rejects 下,并附原因,可用于 negatives / DPO pairs。
  • https://huggingface.co/datasets/Arko007/zenyx-agentic-loops/tree/main/data/identity_nini 是程序化生成(无模型):包含 Zenyx-Mini(“Nini”)的身份、大小、创建者、能力与限制,并包含希望它陈述的事实。

数据格式

  • 每行位于 https://huggingface.co/datasets/Arko007/zenyx-agentic-loops/tree/main/data 下的 JSONL 文件。
字段 含义
messages {role, content} 列表,角色包括 system(可选)、user、assistant、tool。Assistant 工具调用仅为 <tool_call>[{"name": ..., "arguments": {...}}]</tool_call>;结果为 tool 消息,包含原始结果文本。
tools JSON 字符串:该行可用的 OpenAI 风格工具 schema
domain agentloop_<task> 或 identity_nini
provider llama.cpp:Spark-X2.6-4B-Q8_0.gguf 或 program:templates
seed, task_info 可复现信息(JSON 字符串)
  • 采用 Zenyx chat format:工具 schema 放入 system 轮次,工具结果以 <|im_start|>tool 轮次返回;仅训练 assistant 内容。

任务家族

  • weather
  • time
  • calc
  • convert
  • read_note:先列出再读取
  • error_recovery:错误文件名、临时 503、永久权限错误
  • empty_result:未找到,不编造
  • ask_then_act:缺少城市 / 收件人 / 时间;另含控制行,所有信息已给出时 assistant 不得询问
  • confirm_destructive:仅在 yes 后删除
  • async_job:启动、轮询、仅在 done 后回答
  • no_tool_needed
  • tool_unavailable:诚实表示“I cant do that with these tools”
  • multi_call
  • dependent_calls:第二次调用使用第一次结果中的 id
  • write_note
  • identity_nini

限制

  • 工具是模拟的,场景来自固定家族:用于教授循环行为,而不是真实世界工具知识。仅英语。
  • assistant 措辞来自 4B 模型:当行为和事实正确时被接受,因此风格可以平实或简洁。
  • 行数在生成器运行时增长;当前计数位于 https://huggingface.co/datasets/Arko007/zenyx-agentic-loops/tree/main/status 下的 JSON 文件。
  • 脚本位于 https://huggingface.co/datasets/Arko007/zenyx-agentic-loops/tree/main/scripts,可复现整个流程。
  • https://huggingface.co/datasets/Arko007/zenyx-agentic-loops/blob/main/scripts/test_agentloop_env.py 显示:脚本化正确代理在每个任务上被接受,错误行为被拒绝。

许可与生成器

  • 许可证:Apache-2.0(数据和脚本)
  • 生成器模型:Spark-X2.6-4B(Apache-2.0)
搜集汇总
数据集介绍
zenyx-agentic-loops 数据集图片
构建方式
在大语言模型智能体从单轮问答迈向多轮工具编排的背景下,Zenyx Agentic Loops 的构建遵循模拟环境与自动裁决相结合的路线。本地4B模型 Spark-X2.6-4B 经 llama.cpp 以 Q8_0 GGUF 运行,仅承担助手角色;小型程序 agentloop_env.py 则扮演工具与用户。虚拟文件、天气与时间表、计算器、单位换算、订单客户、邮件日历以及异步任务等模块实际执行每一次工具调用,因而观测结果包含错误、空返回与任务仍在运行等真实状态。用户话语由数百个模板变体与随机槽位脚本化生成,并在助手提出必要问题或确认请求时给出回答,约七成确认获得肯定。裁判依据世界状态与对话记录进行核验,仅接受真正成功的 rollout;失败样本连同原因保留于 rejects 目录。identity_nini 子集由程序化规则生成。
特点
面向小规模聊天模型的智能体循环能力,该数据集的核心特点体现为对失败模式与行为规范的精细覆盖。其任务族囊括天气查询、时间获取、计算、单位换算、笔记读取、错误恢复、空结果处理、先问后做、破坏性操作确认、异步任务轮询、工具不可用以及多调用与依赖调用等场景,并设 identity_nini 身份子集。数据规模介于一万至十万行,语言为英文,采用 Apache-2.0 许可。每行包含 messages、tools、domain、provider、seed 与 task_info,遵循 Zenyx 聊天格式:工具模式置于系统轮,工具结果以 <|im_start|>tool 轮返回,监督仅施加于助手内容。rejects 分支提供经裁决拒绝的轨迹,可用于负例或偏好优化。工具均为模拟,任务家族固定,助手措辞源自4B模型,行数随生成器运行而增长。
使用方法
在将数据用于指令微调与偏好对齐时,使用者可从 data 目录下的 jsonl 文件读取样本,亦可通过 datasets 库加载默认配置。训练流程应解析 messages 中的 system、user、assistant 与 tool 角色,将 tools 字段所载的 OpenAI 风格模式注入系统轮,并以 tool 消息作为环境观测,还原 Zenyx 聊天模板后仅对助手回复计算损失。rejects 目录中的拒绝轨迹可与接受样本配对,用于 DPO 或对比学习,以增强对错误行为的区分。scripts 目录包含完整的生成与验证脚本,其中 test_agentloop_env.py 表明脚本化正确智能体在各任务上均可被接受,而错误行为会被拒绝,便于复现与扩展。该数据适合小模型习得工具调用循环行为,不应直接等同于真实世界工具知识。
背景与挑战
背景概述
作为面向小规模语言模型的工具调用与智能体循环监督微调语料,zenyx-agentic-loops 的发布页面未明确标注创建时间,其技术脉络与 Zenyx-Mini 约1.51亿参数基座及 Spark-X2.6-4B 生成模型紧密相连。核心研究问题在于小基座模型常误用工具返回、无法从错误中恢复、以编造替代空结果、忽略用户答复、未经确认执行破坏性操作、未轮询异步任务至真正完成。该数据集以模拟工具、脚本化用户与成功回滚验证为方法,将真实世界状态与多轮对话对齐,涵盖天气、计算、文件、邮件、日历与异步作业等任务族。其影响力在于为紧凑智能体提供可复现的 SFT 数据与拒绝样本,支撑 SFT 与 DPO 研究,并推动小模型工具使用行为评估。
当前挑战
在工具使用与函数调用领域,智能体需在忠实性、错误恢复、不确定性表达、交互协议与安全确认之间取得平衡;小规模模型尤其容易虚构工具未见数值、跳过必要询问、在未获确认时执行删除,或将仍在运行的异步作业误判为完成。zenyx-agentic-loops 构建过程中的挑战包括:设计可执行且能产生真实错误、空结果与运行中状态的模拟世界;以脚本化用户模板覆盖缺参询问、确认拒绝与多轮依赖;编写判定器核验世界状态与转录,仅接受真正成功的回滚;保留拒绝样本及其原因以支持负例与偏好优化;在英语单语、固定任务族与4B模型措辞风格之间权衡行为正确性与语言多样性,并随生成器运行维护动态行数。
常用场景
经典使用场景
在智能体工具调用数据资源谱系中,Zenyx Agentic Loops 的经典用途是面向约1.51亿参数级小型聊天模型开展多轮工具使用与智能体循环的监督微调。该数据集以 messages、tools、domain 等字段组织对话,助手工具调用严格采用 <tool_call> JSON 片段,工具结果以原始文本回传,因而可直接用于训练模型在天气、时间、计算、单位转换、笔记读写、错误恢复、空结果、先问后做、破坏性确认与异步轮询等任务族中的行为。研究者常将其作为 SFT 语料,并借助 rejects 目录中的拒绝轨迹构造负例或偏好对,使小模型学会依据真实观察作答而非凭空生成。
实际应用
从应用落地视角看,该数据集服务于端侧或低资源环境中的小型聊天助手,使其在计算器、单位转换、天气时间、笔记管理、订单客户、邮件日历及异步作业等场景中形成稳定的工具调用循环。虽然工具为模拟实现,所传授的是循环行为而非具体领域知识,但其中对观察遵循、澄清提问、破坏性确认与轮询完成的训练,可迁移至真实 API 编排与自动化工作流。开发者可借此构建本地小模型代理原型,降低对云端大模型的依赖,并在受控环境中评估工具可用性、缺失参数与临时失败等实际交互条件。
衍生相关工作
围绕 Zenyx Agentic Loops,已形成若干相互衔接的配套工作与衍生路线。该数据集直接支撑 Zenyx-Mini 的工具调用能力调优,并关联 Zenyx 聊天格式、工具模式注入系统轮与工具结果回传机制等实现资产;scripts/agentloop_env.py 与 test_agentloop_env.py 提供可复现的模拟环境和行为验收,rejects 目录则催生负例筛选、DPO 配对与失败模式分析等后续利用方式。生成模型 Spark-X2.6-4B 的参与也使其成为小模型智能体合成数据流水线的示例,为后续工具使用数据构建、验证式 rollout 生成与安全循环训练提供了可借鉴范式。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务