cms-tbs-scene-create
核心定位
本 Skill 只做编排:按 references/step1-4/*.md 单主线推进。Step1 拉主数据;Step2 多轮采集与回显;Step3 校验通过后生成确认 title 与 sceneBackground;Step4.1 品种知识主题 → Step4.2 匹配/缺失阻断 → Step4.3 生成 doctorOnlyContext 与 coachOnlyContext;Step4.4 用户确认后校验落库。
任务分流(进入链路前先判断意图)
| 用户意图 | 判断依据 | 处理方式 |
|---|---|---|
| 执行类(创建场景) | 表达"创建/新建/开始/生成场景"等主动动作 | 进入 Step1-4 完整编排链路 |
| 咨询类(了解规则/流程) | 提问"这个 Skill 怎么用/流程是什么/为什么要这样做" | 不执行任何脚本;仅结合 SKILL.md 与相关 references/ 解释 |
| 排障类(某步骤失败/结果异常) | 描述具体报错、字段异常、输出不对 | 先读 references/pitfalls.md;若未覆盖,再查 references/failure-examples.md;然后定向到对应 step 文档;不重新执行已通过的前置步骤 |
同一会话内,用户在"咨询"后表达创建意图,才切换到执行类。排障类优先查
pitfalls.md,不重置流程进度。
Quick Reference
每步必读(正常执行路径)
| 阶段 | 必读文档 |
|---|---|
| 鉴权(进 Step1 前) | references/auth.md |
| Step1:拉主数据 | references/step1/tbs-scene-fetch-config.md |
| Step2:采集与回显 | references/step2/interaction-echo-confirmation.md + references/step2/default-input-template.md |
| Step3:校验与标题/背景 | references/step3/tbs-scene-validate.md |
| Step4.1:主题匹配 | references/step4/tbs-knowledge-topic-generate.md |
| Step4.3:上下文生成 | references/step4/scenario-parse.md |
| Step4.4:落库 | references/step4/tbs-scene-create.md |
按需查阅(出错 / 疑问时才读,正常路径不触发)
| 场景 | 查阅文档 |
|---|---|
| 脚本校验失败 / 服务端报错 | references/qa.md |
| 字段名或展示词有疑问 | references/glossary.md |
| 步骤报错 / 输出异常排障 | references/pitfalls.md → references/failure-examples.md |
| 草稿 JSON 字段结构疑问 | references/step3/draft-schema.md |
全局约束(横切)
- 鉴权:细则见
references/auth.md(含必须做/禁止项/失败处理/环境自检)。 sceneBackground与repBriefing:用户确认的场景背景与落库字段repBriefing须一致(同源赋值,禁止两套文案);术语映射见references/glossary.md。scenario-parse:doctorOnlyContext/coachOnlyContext的固定 A/B 与章节顺序以references/step4/scenario-parse.md为准。- 知识匹配:主题名称匹配由
tbs-scene-validate.py --mode topics执行(确定性匹配,禁止 Agent 自行做字符串相似度判断);匹配结果与未命中处理规则见references/step4/tbs-knowledge-topic-generate.md。
门禁(必须遵守)
- 未取得有效
access-token(经cms-auth-skills)→ 禁止调用需要鉴权的脚本(tbs-scene-fetch-config.py、tbs-scene-create.py)。tbs-scene-validate.py可不携带 token。 - Step1:
tbs-scene-fetch-config.py未返回success=true,或state.businessDomains/departments/drugs任一为空数组 → 禁止进入 Step2;必须先解决主数据加载问题(见references/step1/tbs-scene-fetch-config.md失败处理)。 - Step2:业务领域/科室/品种名称未在
state.businessDomains/departments/drugs中命中确认 → 禁止进入 Step3;必须在 Step2 阶段完成名称选定(零命中时展示可用列表、多命中时让用户选定)。 - Step3:
tbs-scene-validate.py --mode step3未返回passed=true→ 禁止进入 Step4。 - Step4.2:任一主题无法匹配且用户未改为可命中项 → 禁止调用
tbs-scene-create.py,仅走上报。 - 用户未明确作出「最终提交」确认 → 禁止落库。
标准执行流程(必须遵循)
- Step1–4 编排:
- 鉴权前置:读取
references/auth.md,通过cms-auth-skills获取有效 TBSaccess-token;token 未就绪时禁止继续 - Step1:读取
references/step1/tbs-scene-fetch-config.md - Step2:读取
references/step2/interaction-echo-confirmation.md;首轮必须逐字复制references/step2/default-input-template.md中```text ```围栏内的正文输出给用户,禁止改写、禁止增删 emoji、禁止调整语序;用户提供业务领域/科室/品种后,立即调用tbs-scene-validate.py --mode step2做名称命中校验,按脚本结果决定是否写入或引导用户重选;未完成脚本校验前禁止输出“已捕捉/已确认”话术;同一字段连续 2 次零命中时输出阻断提示(见interaction-echo-confirmation.md零命中重复处理规则),等用户从现有列表选定或主动放弃 - Step3:读取
references/step3/tbs-scene-validate.md,校验通过后生成并确认title + sceneBackground - Step4.1:读取
references/step4/tbs-knowledge-topic-generate.md(仅在title + sceneBackground已确认后执行),生成并让用户确认品种知识主题 - Step4.2:调用
tbs-scene-validate.py --mode topics执行主题匹配,按结果写入knowledgeIds;有未命中则按tbs-knowledge-topic-generate.md4.1.2.2 阻断并上报 - Step4.3:读取
references/step4/scenario-parse.md,分两步生成:Step4.3a 生成doctorOnlyContext(固定 A/B 节由 Agent 直接拼接,不经模型生成)→ Step4.3b 生成coachOnlyContext;每步完成后向用户输出进度提示 - Step4.4:读取
references/step4/tbs-scene-create.md,仅在前置字段齐全且用户确认提交时进入落库链路
- 鉴权前置:读取
- 若 Step4.2 触发"品种知识缺失上报":
- 不调用落库脚本
- 输出工作汇报草稿(上报载荷)并声明本次不允许落库
- 若品种知识齐全且用户明确确认提交:
- 确认已按 Step4.3 完成
doctorOnlyContext/coachOnlyContext - 落库前强制执行脚本门禁:
仅当 stdout 中python3 scripts/tbs-scene-validate.py --params-json "<当前会话拼装的 scene JSON>" --mode createScenepassed=true时继续。 - 执行:
(可传入python3 scripts/tbs-scene-create.py --params-json "<当前会话拼装的入参>" --access-token "$ACCESS_TOKEN"--base-url/--timeout-sec/--retries,参数说明见references/auth.md。)
- 确认已按 Step4.3 完成
落库前 QA
--mode createScene 脚本校验是正常路径的硬门禁,通过即可继续。references/qa.md(三类自检 + 修复-复验循环)仅在脚本校验失败或落库后服务端报错时按需查阅,不在正常路径中强制读取。字段名/展示词有疑问时,按需查阅 references/glossary.md。