37 lines
2.0 KiB
Markdown
37 lines
2.0 KiB
Markdown
# 输出能力
|
||
|
||
这里维护“最终 target 怎么写”的知识。它和 `标签/` 目录不同:
|
||
|
||
- `标签/` 负责判断 query 属于哪个业务能力范围。
|
||
- `输出能力/` 负责判断最终监督标签应该写成 function program、`Agent(tag="xxx")`,还是多指令/自动任务等结构化输出。
|
||
|
||
## 三类返回类型
|
||
|
||
| 返回类型 | 含义 | 是否可作为最终 target |
|
||
| --- | --- | --- |
|
||
| object | 给 function 当参数的对象,例如 `Location`、`PersonalDate`、`Resource` | 通常不单独作为最终 target |
|
||
| function | 可直接输出的函数调用,例如 `CalendarQA(...)`、`VisionQA(...)`、`QA()` | 可以作为最终 target |
|
||
| intent | 业务意图名,例如 `地图导航`、`餐饮服务`、`商品购买` | 当前数据开发默认不作为首选最终 target,通常映射为 `Agent(tag="xxx")`;也可用于多指令/自动任务结构里的意图字段 |
|
||
|
||
## 使用原则
|
||
|
||
1. 先判断业务标签,再判断输出能力。
|
||
2. 只有 function 需要参数时才抽取 object;不要为所有 function 强行生成 object。
|
||
3. function 可以是多行 program,例如先创建 object,再调用 function:
|
||
|
||
```text
|
||
x0=Location(country="美国",province="华盛顿",city="西雅图")
|
||
CalendarQA(type="TIME",target_time="现在",location=x0)
|
||
```
|
||
|
||
4. `Agent` 字段表示由哪个 Agent 承接,是知识维度,不等于最终 target 一定写 `Agent(tag="ToolsAgent")`。
|
||
5. 当前数据开发默认口径:已 function 化且签名明确的能力用 function program;未 function 化或只是旧 tag / intent 的能力用 `Agent(tag="xxx")`。
|
||
6. 如果用户明确要求 function program,但当前知识库没有 function 签名,必须向用户确认,不要臆造 function。
|
||
|
||
## 文件说明
|
||
|
||
- `对象目录.md`:object 类型定义。
|
||
- `函数目录.md`:function 类型定义和示例。
|
||
- `意图目录.md`:intent 类型定义、承接 Agent 和示例。
|
||
- `输出组合规范.md`:如何把 object、function、intent 和独立判断维度组合为最终 target。
|