更新时间:2026-09-17 GMT+08:00
分享

数据集格式

在模型优化过程中,数据集扮演的角色与传统的大模型指令微调(SFT)有着本质的差别。在这里,数据集承担着“触发”与“校验”的双重核心作用:

  1. 触发智能体(通过input):作为实际的输入指令传递给智能体环境,触发模型开始思考和作答。
  2. 提供裁判基准(通过reference_output):向系统的“奖励计算中心”提供高质量参考答案,在规则奖励场景下需与模型输出精确匹配,在生成式奖励场景下作为裁判模型打分的参考基准。
  • 模型优化所需的数据集为单轮数据集。即使优化目标是插件、MCP工具能力下的多步工具调用,训练数据仍采用单轮数据集。这里的“多步工具调用”指的是Agent在处理一次用户输入时,可能与插件、MCP发生多次交互;这些中间轨迹由平台在训练过程中在线生成,无需您在数据集中手工编写多轮调用过程。
  • 您完全不需要提供任何中间的推理过程,只需提供input和reference_output,模型优化算法在训练时确实会审视Agent的中间过程数据(比如是否正确调用了工具、是否生成了完整的思维链),但这些过程数据是模型在接收到question后,在平台环境中自主动态生成的(试错轨迹),而不是由您在数据集中提前写好的。您只管出题和给最终答案,探索解题步骤的工作交由算法自动完成。

数据集格式与示例

数据集采用标准的JSONL格式,数据集可以在Agentarts平台上直接创建,可以通过Trace数据回流成数据集,或手动创建。数据集中每行代表一条独立的测试用例,必须包含以下两个核心字段:

  • input(输入):Agent接收到的用户提问。
  • reference_output(期望输出/基准答案):您期望该Agent最终给出的高质量参考答案。

如何判断我的业务属于哪类场景?关键看模型最终输出的形态:

  • 输出是自然语言文本(无固定格式) → 场景一(开放式问答)
  • 输出是一个数值(需数学计算得出) → 场景二(数值类输出)
  • 输出是预设的文字标签(如"故障报修") → 场景三(意图分类)
  • 输出是预设的数字ID或状态码(如"2") → 场景四(数字ID类输出)

场景三和场景四的区别仅在于输出是文字还是数字,奖惩配置方式相同(精确匹配奖励)。场景二与场景四的区别在于:场景二的数值需要模型计算得出,推荐使用数学准确性奖励;场景四的数字是预定义的编码,推荐使用精确匹配奖励。

为了让您更好地理解,以下列举了四种最常见业务场景下的数据集构造示例:

场景一:开放式问答/客服聊天(文本类输出)

  • 特点:输出是一段自然语言,没有绝对唯一的答案格式,重点在于语义正确和逻辑清晰。
  • 数据示例:
    {"input": "你们的退换货政策是什么?", "reference_output": "我们支持自签收之日起7天内无理由退货,15天内非人为损坏换货。请保留原包装及购买凭证。"}
    {"input": "忘记密码怎么办?", "reference_output": "您可以在登录页面单击“忘记密码”,通过绑定的手机号或邮箱获取验证码来重置密码。"}
  • 备注:在配置强化学习奖惩机制时,此类数据集通常配合“生成式奖励”使用,reference_output将作为裁判大模型打分的参考基准。详见开放式问答场景。

场景二:数据计算/工具参数提取(数值类输出)

  • 特点:模型需要进行复杂的思考,但最终落脚点是一个明确的数值。
  • 数据示例:
    {"input": "请帮我计算底面半径为3,高为4的圆柱体体积(保留两位小数,π取3.14)", "reference_output": "113.04"}
    {"input": "将二进制数 1011 转换为十进制", "reference_output": "11"}
  • 备注:示例中reference_output写明最终数值。训练时,系统可通过正则提取模型长篇大论中的数值进行比对。详见工具调用/数学计算场景。

场景三:意图分类与路由(标签类输出)

  • 特点:使用工作流中的意图识别节点。系统输入用户的自然语言诉求,要求模型从预设的分类列表中挑选出一个最匹配的文字标签输出。
  • 数据示例:
    {"input": "我家里的宽带从今天早上开始就完全连不上了,光猫一直闪红灯。", "reference_output": "故障报修"}
    {"input": "请问你们的尊享版套餐每个月包含多少流量?", "reference_output": "业务咨询"}
    {"input": "你们这什么破服务,网速太慢了,我要立刻取消订阅!", "reference_output": "投诉退订"}
  • 备注:这类场景对输出格式要求较为严格。训练时可以通过配置正则表达式进行“精确匹配奖励”,要求模型输出结果与reference_output的文字100%吻合。详见意图识别/分类场景。

场景四:状态判断与分支控制(数字ID类输出)

  • 特点:在某些工作流中,下游程序(如API触发器)只认机器代码或状态码。这就要求模型根据输入,严格输出对应的状态码或数字ID。
  • 数据示例:
    {"input": "我的手机卡突然没信号了,重启了好几次也没用,是不是欠费停机了?", "reference_output": "2"}
    {"input": "我想把现在这个套餐流量升级一下,现在的每个月都不够用。", "reference_output": "3"}
  • 备注:在此类场景下,模型输出的数字将决定工作流的下一步走向。配置模型优化任务时同样建议使用正则进行“精确匹配奖励”,确保输出的纯净度。数字ID类输出的奖惩配置与意图分类场景类似,同样使用精确匹配奖励,详见意图识别/分类场景。

关于如何构造高质量的数据集,请参考高质量数据集标准。

相关文档