Files
zk-data-agent/skills/label-master/knowledge/输出能力/输出组合规范.md
T
2026-05-11 11:08:36 +08:00

2.9 KiB
Raw Blame History

输出组合规范

本文件说明如何把业务标签、输出能力和独立判断维度组合为最终 target。

基本结构

最终输出通常需要综合四类判断:

业务标签:这句话属于哪个能力范围
输出能力:最终 target 写 function、intent 还是 Agent 包装
结构维度:是否多指令、是否自动任务
复杂度维度:是否输出 `complex=false` 或 `complex=true`

function program

当返回类型是 function,输出可以是单行或多行 program。

单行:

QA()
FinanceQA(type="股票",name="喜临门")
Summarize()

多行:

x0=Location(country="美国",province="华盛顿",city="西雅图")
CalendarQA(type="TIME",target_time="现在",location=x0)

只有 function 参数需要 object 时才生成 object。

object 不单独输出

LocationPersonalDateResource 等 object 通常不单独作为最终 target。

错误:

Location(city="西雅图")

正确:

x0=Location(country="美国",province="华盛顿",city="西雅图")
CalendarQA(type="TIME",target_time="现在",location=x0)

intent target

当返回类型是 intent,可以直接输出 intent 名称,或按当前任务要求映射到 Agent 包装。

intent 形式:

地图导航
餐饮服务
商品购买

Agent 包装形式:

Agent(tag="地图导航")
Agent(tag="餐饮服务")
Agent(tag="商品购买")

使用哪一种取决于当前训练/评测数据定义。没有明确说明时必须确认。

Agent 字段

Agent 字段表示承接方,例如:

Agent: ToolsAgent
Agent: dialogAgent
Agent: lifeAgent
Agent: mapAgent

它是知识字段,不等于最终 target 必须写成 Agent(tag="ToolsAgent")Agent(tag="地图导航")

多指令组合

如果 query 被拆成多个子任务,最终结构可以包含多个 subquery,每个 subquery 有自己的 function 或 intent。

示例:

[
  {
    "condition": null,
    "querys": [
      {"subquery": "关闭卧室的灯", "intent": "设备控制"},
      {"subquery": "定一个明天下午四点的闹钟", "intent": "闹钟计时器"}
    ]
  }
]

自动任务组合

如果 query 包含条件触发结构,condition 和 querys 组合输出。

示例:

[
  {
    "condition": "上车时",
    "querys": [
      {"subquery": "打开空调", "intent": "设备控制"}
    ]
  }
]

如果 action 是 function,可以写 function

[
  {
    "condition": "明天八点",
    "querys": [
      {"subquery": "提醒我说后天晚上去露营", "intent": "提醒"}
    ]
  }
]

数据生成前的确认

如果用户要生成训练/评测数据,需要确认:

  • target 使用 function program、intent,还是 Agent(tag="xxx")
  • object 是否需要展开进 function target。
  • 多指令和自动任务是否需要输出结构化 JSON。
  • complex 是否作为独立字段输出。