Align label output target formats
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
这里维护“最终 target 怎么写”的知识。它和 `标签/` 目录不同:
|
||||
|
||||
- `标签/` 负责判断 query 属于哪个业务能力范围。
|
||||
- `输出能力/` 负责判断最终监督标签应该写成 object、function program、intent,还是需要用户确认。
|
||||
- `输出能力/` 负责判断最终监督标签应该写成 function program、`Agent(tag="xxx")`,还是多指令/自动任务等结构化输出。
|
||||
|
||||
## 三类返回类型
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
| --- | --- | --- |
|
||||
| object | 给 function 当参数的对象,例如 `Location`、`PersonalDate`、`Resource` | 通常不单独作为最终 target |
|
||||
| function | 可直接输出的函数调用,例如 `CalendarQA(...)`、`VisionQA(...)`、`QA()` | 可以作为最终 target |
|
||||
| intent | 业务意图名,例如 `地图导航`、`餐饮服务`、`商品购买` | 可以作为 intent target,也可以按任务要求再包装为 Agent |
|
||||
| intent | 业务意图名,例如 `地图导航`、`餐饮服务`、`商品购买` | 当前数据开发默认不作为首选最终 target,通常映射为 `Agent(tag="xxx")`;也可用于多指令/自动任务结构里的意图字段 |
|
||||
|
||||
## 使用原则
|
||||
|
||||
@@ -24,8 +24,9 @@ x0=Location(country="美国",province="华盛顿",city="西雅图")
|
||||
CalendarQA(type="TIME",target_time="现在",location=x0)
|
||||
```
|
||||
|
||||
4. `Agent` 字段表示由哪个 Agent 承接,是知识维度,不等于最终 target 一定写 `Agent(tag="xxx")`。
|
||||
5. 如果用户没有说明最终数据使用 function、intent 还是 `Agent(tag="xxx")`,生成数据前必须确认。
|
||||
4. `Agent` 字段表示由哪个 Agent 承接,是知识维度,不等于最终 target 一定写 `Agent(tag="ToolsAgent")`。
|
||||
5. 当前数据开发默认口径:已 function 化且签名明确的能力用 function program;未 function 化或只是旧 tag / intent 的能力用 `Agent(tag="xxx")`。
|
||||
6. 如果用户明确要求 function program,但当前知识库没有 function 签名,必须向用户确认,不要臆造 function。
|
||||
|
||||
## 文件说明
|
||||
|
||||
|
||||
@@ -8,11 +8,31 @@
|
||||
|
||||
```text
|
||||
业务标签:这句话属于哪个能力范围
|
||||
输出能力:最终 target 写 function、intent 还是 Agent 包装
|
||||
输出能力:最终 target 写 function program 还是 Agent 包装
|
||||
结构维度:是否多指令、是否自动任务
|
||||
复杂度维度:是否输出 `complex=false` 或 `complex=true`
|
||||
```
|
||||
|
||||
当前数据开发默认口径:
|
||||
|
||||
- 已 function 化且签名明确的能力,最终 target 写 function program。
|
||||
- 未 function 化或只是旧 tag / intent 的业务标签,最终 target 写 `Agent(tag="xxx")`。
|
||||
- intent 名称可以作为业务标签名、拆分子句里的意图字段或兼容中间形态;除非用户明确要求 intent target,否则不作为首选最终 target。
|
||||
- 多指令和自动任务是结构化外壳,不是和 function / Agent 并列的叶子 target。
|
||||
|
||||
## 两层组合方式
|
||||
|
||||
先确定外层结构:
|
||||
|
||||
- 单意图:直接输出一个叶子 target。
|
||||
- 多指令:拆成多个子句,每个子句单独输出一条叶子 target,然后按行组合。
|
||||
- 自动任务:输出 `condition` 和 `querys`,每个子任务有自己的叶子 target。
|
||||
|
||||
再确定叶子 target:
|
||||
|
||||
- function program:例如 `QA()`、`Summarize()`、`CalendarQA(...)`。
|
||||
- Agent 包装:例如 `Agent(tag="地图导航")`、`Agent(tag="餐饮服务")`。
|
||||
|
||||
## function program
|
||||
|
||||
当返回类型是 `function`,输出可以是单行或多行 program。
|
||||
@@ -51,11 +71,11 @@ x0=Location(country="美国",province="华盛顿",city="西雅图")
|
||||
CalendarQA(type="TIME",target_time="现在",location=x0)
|
||||
```
|
||||
|
||||
## intent target
|
||||
## intent 与 Agent target
|
||||
|
||||
当返回类型是 `intent`,可以直接输出 intent 名称,或按当前任务要求映射到 Agent 包装。
|
||||
当返回类型是 `intent`,在当前数据开发默认口径下优先映射到 Agent 包装。
|
||||
|
||||
intent 形式:
|
||||
业务标签 / 中间 intent 名称:
|
||||
|
||||
```text
|
||||
地图导航
|
||||
@@ -71,7 +91,7 @@ Agent(tag="餐饮服务")
|
||||
Agent(tag="商品购买")
|
||||
```
|
||||
|
||||
使用哪一种取决于当前训练/评测数据定义。没有明确说明时必须确认。
|
||||
除非用户明确要求输出 intent target,否则不要把 intent 名称作为首选最终 target。
|
||||
|
||||
## Agent 字段
|
||||
|
||||
@@ -88,20 +108,23 @@ Agent: mapAgent
|
||||
|
||||
## 多指令组合
|
||||
|
||||
如果 query 被拆成多个子任务,最终结构可以包含多个 subquery,每个 subquery 有自己的 function 或 intent。
|
||||
如果 query 被拆成多个子任务,当前数据开发默认按“多行 target”输出:每个子句单独一条 `Agent(query="...",tag="...")` 或 function target。
|
||||
|
||||
complex 是独立维度,如果需要输出,作为单独一行放在最前面,不归属于某个子句。
|
||||
|
||||
示例:
|
||||
|
||||
```json
|
||||
[
|
||||
{
|
||||
"condition": null,
|
||||
"querys": [
|
||||
{"subquery": "关闭卧室的灯", "intent": "设备控制"},
|
||||
{"subquery": "定一个明天下午四点的闹钟", "intent": "闹钟计时器"}
|
||||
]
|
||||
}
|
||||
]
|
||||
```text
|
||||
complex=true
|
||||
Agent(query="退出导航",tag="地图导航")
|
||||
Agent(query="打开后视镜加热",tag="车载控制")
|
||||
```
|
||||
|
||||
再例如:
|
||||
|
||||
```text
|
||||
Agent(query="关闭卧室的灯",tag="设备控制")
|
||||
Agent(query="定一个明天下午四点的闹钟",tag="闹钟计时器")
|
||||
```
|
||||
|
||||
## 自动任务组合
|
||||
@@ -138,7 +161,7 @@ Agent: mapAgent
|
||||
|
||||
如果用户要生成训练/评测数据,需要确认:
|
||||
|
||||
- target 使用 function program、intent,还是 `Agent(tag="xxx")`。
|
||||
- target 是否要求 function program;如果没有明确 function 定义,默认使用 `Agent(tag="xxx")`。
|
||||
- object 是否需要展开进 function target。
|
||||
- 多指令和自动任务是否需要输出结构化 JSON。
|
||||
- complex 是否作为独立字段输出。
|
||||
|
||||
Reference in New Issue
Block a user