docs(skill): model-auto-config补九步全链工作流+方法论(防编造/验证闭环/排查套路/会话级隔离铁律)+use_last_extract锚定姿势;auto-api-pricing-config同步新工具

This commit is contained in:
yumoqing 2026-09-05 21:29:56 +08:00
parent e03e1fa213
commit 23686b5cb0
2 changed files with 67 additions and 15 deletions

View File

@ -2,7 +2,7 @@
name: auto-api-pricing-config
description: 从API文档/报价文档自动生成uapi接口配置(headers/data/params/response)和定价(pricing YAML)。内部agent配置接口或报价时必读。
capability: auto_api_pricing
tools: [fetch_model_doc, extract_llm_api_spec, apply_llm_config, platform_llm_status]
tools: [fetch_model_doc, extract_llm_api_spec, apply_llm_config, apply_model_pricing, test_model_call, check_model_accounting, platform_llm_status]
---
# 接口与报价自动配置(文档 → uapi + pricing

View File

@ -1,28 +1,48 @@
---
name: model-auto-config
description: 通读模型API文档自动生成模型治理配置供应商/端点/适配模板/模型/定价。内部agent收到文档URL配置模型时必读并严格执行。
description: 通读模型API文档自动生成模型治理配置供应商/端点/适配模板/模型/定价/测试/记账检查。内部agent收到文档URL配置模型时必读并严格执行。
capability: model_auto_config
tools: [fetch_model_doc, extract_llm_api_spec, apply_llm_config, platform_llm_status]
tools: [fetch_model_doc, extract_llm_api_spec, apply_llm_config, apply_model_pricing, test_model_call, check_model_accounting, platform_llm_status]
---
# 模型自动配置(从 API 文档到落库)
# 模型自动配置(从 API 文档到落库到记账验证
内部 agent 的核心能力:用户给一个供应商的模型 API 文档或定价文档URL
自动完成模型治理全套配置。**定价只允许来自文档原文,禁止编造。**
自动完成模型治理全套配置 + 测试 + 记账核对。**定价只允许来自文档原文,禁止编造。**
## 工作流(严格按序)
## 工作流(九步全链,严格按序)
1. **抓取**`fetch_model_doc(url)` → 纯文本。失败/内容不足如实说明,不凭记忆编。
2. **提取**`extract_llm_api_spec(doc_text)` → 结构化规格。重点核对:
1. **抓取**`fetch_model_doc(url)` → 纯文本(末尾自动带 [出处URL] 行)。失败/内容不足如实说明,不凭记忆编。
2. **提取**`extract_llm_api_spec(doc_text)` → 结构化规格。**成功后规格自动锚定到本会话缓存**
(会话级隔离,返回里有 `__anchored__` 提示)。重点核对:
- `endpoints[].base_url / region`domestic 国内 / international 国际)
- `protocol`:能走 `/chat/completions` 的一律 `openai_compat`
- `protocol`:能走 `/chat/completions` 的一律 `openai_compat`;提交+轮询的填 `dashscope_async`
- `models[].capability`:必须在能力字典内(见硬规则)
- `models[].description`:价格按文档原文记录,单位如实标注(如「元/百万tokens」「元/秒」),禁止换算推导
3. **确认**:把端点、协议、每个模型的能力/定价摘要给用户确认后再落库。
4. **落库**`apply_llm_config(spec)`(幂等:供应商按名复用、模型按
(vendor, vendor_model_id) 复用——已存在只更新描述,不重复建)。
5. **定价挂接**:文档里的价格 → 在定价平台建 pricing_program+timing YAML
价格照原文)并把 ppid 挂到模型apply 不再写价格,模型表已无价格字段)。
- `models[].sync_mode`:提交后需轮询的填 async
- `pricing.items[]`:每条带 factor/unit_price/unit/dimensions/doc_quote文档原文定价句
- `doc_url`:照抄 [出处URL] 行
3. **确认**:把端点、协议、每个模型的能力/定价原文/出处摘要给用户确认后再落库。
4. **落库**`apply_llm_config`**{"use_last_extract": true}**——取本会话锚定规格。
用户要求改名等只加 overrides 白名单覆盖项(如 {"overrides":{"vendor_name":"阿里云百炼"}})。
**绝对禁止把规格 JSON 复制/转述进 spec 参数——转述必编造结构(见方法论·防编造)。**
幂等:供应商按名复用、模型按 (vendor, vendor_model_id) 复用。
5. **定价**`apply_model_pricing` 同样传 **{"use_last_extract": true}**pricing+doc_url 已锚定)。
建定价方案+时序YAML并挂 ppid出处URL+文档原文写入描述。
6. **测试**`test_model_call(model_name, prompt, params)` 真实调用走完整治理链。
前置:供应商账号已配 api_key没配如实告知用户去补禁止伪造结果
生成类模型 params 传 image_file/resolution/duration 等;返回 task_ref/usage/media生成物本地URL
7. **记账检查**`check_model_accounting(task_ref)` 查三态 + 独立复算金额:
- accounted 且 amount_match=true → 全链通过,汇报金额
- created → 等 60~120 秒再查(出账循环 60 秒一轮)
- failed → 按 reason/hint 处置(未映射产品→告知用户在产品管理导入产线模型)
8. **复核**`platform_llm_status` 看模型/定价/供应商状态分布。
9. **汇报**:配置/定价/测试/记账四段结果 + 出处 URL + 遗留事项(模板需人工核对项等)。
## 工具报错自救规则
- 报「spec 结构不符/缺少 xxx」→ **不要改写结构重试**,改用 use_last_extract=true
本会话没锚定就重新走 fetch→extract锚定是会话级的跨会话不可见
- 报「能力分类未登记」→ 如实转告用户需先加能力分类(人工评审门,不要绕过)
- 报「media_audit/runtime_note/需人工核对」警告 → 原样转告用户,不假装完成
## 硬规则
@ -106,6 +126,38 @@ t2i 出 `image`。模板不用为同一类能力写多套参数名。
真实可行动repr 异常,含类型),重试记录进应用日志。
- 机构策略配置了 `utility_model_id` 则提取用辅助(便宜)模型,未配回落主链。
## 方法论2026-09-05 实战沉淀——怎么把这件事做对)
### 防编造(最重要)
- **大 JSON 永不转述**extract 输出的规格已锚定会话缓存apply 只传
`{"use_last_extract": true}` + 白名单 overrides。历史教训让 LLM 把规格复制进
spec 参数,三轮全编造出 vendor{}/api_profile{}/rate_limits{} 等契约外字段。
- **价格零编造**:每条价格必须能对应到 doc_quote文档原文逐字句文档没写
就没有,如实报告「文档未提供价格」。
- **测试结果零伪造**test_model_call 没跑成/没 api_key 就如实报,禁止描述
「应该能通」。判断标准:没有真实工具输出支撑的结论一律不许说。
### 验证闭环(每步都要证据)
- 落库后回读核验(查库确认字段值),不拿「写入没报错」当成功。
- 定价后用真实引擎试算check_model_accounting 的 recomputed_amount 就是独立
复算),金额与文档价格×用量手工对得上才算过。
- 测试必须真实调用走完整治理链(门禁→上游→结算→流水),不接受纸面推演。
- 记账检查等出账循环60秒一轮跑完再下结论created 不是失败,是还没轮到。
### 排查套路(工具/链路报错时)
1. 先看报错原文定位是哪一环(门禁/上游/模板/记账),不猜。
2. 模板类错误:把渲染结果打出来对照期望 JSON历史案例媒体数组收尾花括号
顺序错 `}}]``}]}`,渲染断裂在 column 361
3. 记账类 failed按 note 原因对号——未挂ppid→apply_model_pricing未映射产品→
产品管理导入;金额不符→核对 usages 维度值与定价 YAML 的维度值是否逐字一致
480P≠480字符串必须精确匹配
4. 超时类端点默认60秒长任务传 _timeout上限900
### 会话级隔离(缓存类操作的铁律)
- 一切会话态缓存(规格锚定等)键必须含 session_id+user_id+pipeline_id
三段缺一不可;无 session_id 拒绝缓存。跨会话数据永不可见——别的会话提取的
规格,本会话必须重新提取,不许「借用」。
## 验证
配置完成后调 `platform_llm_status` 复核模型/定价/供应商,把结果摘要回给用户。