AI 智能体数据集不是一堆聊天记录。它是围绕具体任务保存的可复跑样例,至少包含稳定 ID、输入、可用工具环境、期望行为和验收规则。训练数据、离线评估集与最终测试集应分开管理。
一个样例应保存什么
- id:稳定且唯一,便于回归追踪。
- input:用户输入和必要上下文。
- tools:当次允许的工具及版本。
- expected:期望工具、关键参数、答案约束或拒答条件。
- metadata:来源、难度、语言和去隐私状态。
标题结论:智能体数据集由任务输入、环境和可执行验收规则组成,JSONL 只是方便逐行读取和追踪的保存格式。

先写两条 JSONL
{"id":"calc-001","input":"计算订单总价","tools":["calculator"],"expected":{"tool":"calculator"}}
{"id":"policy-001","input":"查询不存在的账户","tools":["account_lookup"],"expected":{"must_refuse":true}}
实际文件每行只能有一个 JSON 对象。不要把真实密钥、身份证号或未脱敏客户内容放进样例。
读者下一步:先从一个稳定业务流程写 10 条正常、边界和拒答样例,为每条定义能自动检查的 expected 字段。
校验后再入库
import json
seen = set()
with open("agent_cases.jsonl", encoding="utf-8") as f:
for line_no, line in enumerate(f, 1):
row = json.loads(line)
assert set(["id", "input", "tools", "expected"]) <= row.keys()
assert row["id"] not in seen
assert isinstance(row["tools"], list) and isinstance(row["expected"], dict)
seen.add(row["id"])
print("valid_cases", len(seen))
结果验证:脚本应输出唯一有效样例数;删除字段、复制 ID 或破坏一行 JSON 时必须失败并指出行号。
边界
失败边界:结构校验通过不代表样例正确、无偏或覆盖充分;测试集不能参与提示词反复调优,否则会把回归集变成训练材料。
依据与核验日期
- JSON Lines 规范:说明每行一个有效 JSON 值、UTF-8 和换行约定
- Python json 文档:说明 JSON 编解码和命令行校验方法
- OpenAI Evals 指南:说明以任务目标、样例和评分标准构建评估
以上页面于 2026-10-01 核验。版本更新后,应重新查看参数含义和默认值。
Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/31221.html