68 lines
3.4 KiB
Markdown
68 lines
3.4 KiB
Markdown
# 能力描述规范(一页)
|
||
|
||
> 模型选工具靠的是能力描述,不是猜。描述写不好,等于意图识别失败——这个锅不在引擎,在平台。
|
||
|
||
**一句话原则**:能力描述是写给模型看的接口文档,不是写给人看的注释。
|
||
|
||
## 1 七要素
|
||
|
||
| # | 要素 | 要求 |
|
||
| --- | --- | --- |
|
||
| 1 | 能力 id | 小写点分:`<系统>.<资源>.<动作>`,如 `aps.schedule.preview`。禁用 `do` / `handle` / `process` 这类含糊动词 |
|
||
| 2 | 一句话用途 | 「做什么 + 对什么对象」,40 字以内 |
|
||
| 3 | 何时不用 | 反例优先。同族能力之间必须写清分界(试排 / 正式排产 / 重排) |
|
||
| 4 | 参数 schema | 每个参数给类型、必填、枚举、单位、默认值。单位写进描述(分钟 / 台 / 件) |
|
||
| 5 | 业务黑话与同义词 | 现场怎么叫就写进去:换型、插单、交期承诺、能力池、抛料、试排 |
|
||
| 6 | 示例 | 一到两条自然语言问法 + 该调用什么 |
|
||
| 7 | 副作用与影响面 | 只读 / 草稿 / 写;影响哪些数据、能否回滚。写操作必须能被确认卡压成参数摘要 |
|
||
|
||
## 2 反例对照
|
||
|
||
| 反例 | 问题 | 改法 |
|
||
| --- | --- | --- |
|
||
| `doSchedule` | 动词含糊、无对象 | `aps.schedule.preview` |
|
||
| 「处理数据」 | 没说做什么 | 「按当前项目数据试排一版方案,不发布到 APS」 |
|
||
| 不写同义词 | 用户说「换型」,模型不认识 | 描述里带上 换型 / setup / 换模 |
|
||
| 枚举不给、默认值不写 | 模型乱填 mode | 枚举锁死 + 明确默认值 |
|
||
| 只说正例 | 模型不知道边界 | 「只读预览用这个;要落库请用 `aps.schedule.publish`」 |
|
||
|
||
## 3 近义能力的裁决规则
|
||
|
||
| 情况 | 规则 |
|
||
| --- | --- |
|
||
| 同一动作多个系统都有(查库存 ERP / EMS) | 不给模型二选一;要么提供一个检索类能力由用户选,要么按项目配置固定数据源 |
|
||
| APS 内部同族动作(试排 / 正式排产 / 重排) | 名称含区别词,描述第一句写分界 |
|
||
| 读与写成对出现 | 成对命名(`preview` / `publish`),描述互相指路 |
|
||
|
||
## 4 提交检查项
|
||
|
||
Provider 作者自检,评审逐条打勾:
|
||
|
||
1. id 符合 `<系统>.<资源>.<动作>`,无含糊动词
|
||
2. 一句话用途 ≤ 40 字,含对象
|
||
3. 写了「何时不用」,同族能力有分界
|
||
4. 参数都有类型、必填、枚举、单位、默认值
|
||
5. 含业务黑话与同义词
|
||
6. 至少一条示例问法
|
||
7. 副作用与影响面写清,写操作可压成参数摘要
|
||
|
||
## 5 示例
|
||
|
||
```yaml
|
||
id: aps.schedule.preview
|
||
用途: 按当前项目的订单与产能试排一版方案,只出结果不发布
|
||
何时不用: 要落库生效请用 aps.schedule.publish;只想看现有方案用 aps.schedule.query
|
||
同义词: 试排、排一下、跑一版、预排、模拟排产
|
||
参数:
|
||
project: 项目 id,必填,默认当前项目
|
||
horizon_days: 排产跨度,整数天,默认 30
|
||
strategy: 规则枚举 rule | cpsat | hybrid,默认项目配置
|
||
示例: 「按新订单试排一版看看」→ aps.schedule.preview
|
||
副作用: 只读;不写 APS,不产生版本
|
||
```
|
||
|
||
## 6 责任与落地
|
||
|
||
- Provider 作者写,平台评审;从 A5 首个真实 Provider 起强制执行
|
||
- 能力描述随 Provider 契约一起入库,纳入 CI 检查(七要素缺项即失败)
|
||
- 规范本身随 Provider 契约文档同步演进,位置:`docs/spec/capability-description.md` |