6.2 KiB
6.2 KiB
提示词与技能审查标准
状态:生效规范
适用范围:.agent/agents/*.md(角色提示词)与muse/lifecycle/quality/harness/manifests/skills.json登记的 Skill 包
门禁工具:muse/lifecycle/quality/harness/skill_harness.py与test_skill_harness.py
新增、修改或定期复核任何智能体提示词与技能时,按本规范逐条审查。
核心原则:一份提示词、一个技能只服务一个明确意图;与意图无关的词、约束、机制都是污染——它让执行者分心,也让合同两张皮。
1. 智能体提示词审查标准(.agent/agents/*.md 与角色系统提示词)
角色稳定合同以 角色合同 为唯一事实源。角色文件可以包含面向智能体的身份、技能路由、推荐工具能力和工作方法;审查硬边界、模型策略、实际工具权限和结构化输出时以中心合同与适配器为准。
审查时逐条核验四个问题:
- 面对谁:这份提示词读给哪个模型/角色?它只该有这一个身份,不该同时背「执行器/评测器/审查器」之类第二身份。
- 每个词都有意义吗:逐词问——它对「这个角色干好本业」有用吗?框架名、schema 名、字段名、运行身份、哈希、评测状态这类机器词,对创作/规划/抽取/检测等本体任务毫无意义,是其它层的泄漏,应予剔除。
- 约束是该有的限制吗:每条约束问——它是角色意图本身需要的,还是支架(harness)本就能强制的?输出格式由结构化输出 Schema 强制、实际工具可用性由调用参数强制、盲化由「输入里压根没有该信息」保证;角色文件可以解释技能和工具的用途,但不能把提示文字当权限或结构门。
- 正向与负向:分清哪些部分帮角色达成意图(正向:本业纪律、领域边界、知情范围),哪些妨碍它(负向:与本业无关的机器约束、诱导照搬输入原文的措辞、让模型惦记评测的暗示)。负向部分删除或移到对应层。
反例与正解:
- 反例(已纠正):评测写手提示词曾塞入「你是 Gate A 离线回放的 writer…只输出 candidateBody…不输出哈希/身份…不访问 MCP」,把评测支架混进创作提示词——既没有写作指导,又诱导写手照抄细纲概述句。
- 正解:角色文件保留写作方法、技能路由和工具用途;输出格式、实际工具权限、盲化和证据绑定交给中心合同、Schema 与适配器。
2. 技能审查标准(Skill Review)
分类取值、八个评分维度、必备节清单和严重度定义的权威是 skill-quality-rubric.md。审查必须先跑机械门,再人工审,严禁用机械门跑绿代替人工判断:
# 静态审计门禁(阻断项与质量发现一并必须为零)
.venv/bin/python muse/lifecycle/quality/harness/skill_harness.py --strict
# 审计器回归测试
.venv/bin/python muse/lifecycle/quality/harness/test_skill_harness.py -q
人工逐条核验以下问题(括号内为对应质量维度):
- 给谁用:消费者必须明确、单一——主会话编排、某个角色智能体,还是别的技能。只能由编排调用的必须声明
orchestrated;"不得由 Agent 自行触发"这类禁令写在散文里不算数。 - 该用时会不会被用上(D1,只对
model_routed适用):description是模型唯一的路由依据,必须写清做什么、何时用、何时不用,并对易混的技能点名交接。 - 目的单一(D2):一个技能只实现一个能力。功能并列、又当编排又当执行的,必须拆分。
- 边界不重叠(D3):显式写出不做什么;集合内不得存在未声明的职责重叠。
- 合同完整(D4):必备节按分类裁剪;
scripts/只放运行时确定性实现与机械门,测试归tests/skills/,清单与模板归references/。 - 可靠性与失败关闭(D5):失败明确关闭,不静默降级、不返回假成功;错误带稳定码、不泄漏原文与密钥;确定性步骤真不调模型;走
.venv,不裸调数据库、接口或模型。 - 机制优先与边界一致(D6、D7):能由 frontmatter、schema、adapter 或
scripts/强制的约束不写成散文叮嘱;引用的路径、合同、字段与现行 SoT 一致,引用已失效合同的不得执行;SKILL.md只留执行时必须常驻的内容。 - 用过之后系统有没有更强(D8,
lifecycle ≠ platform适用):本次的方法与观察有没有沉淀成库内可被后续运行消费的资产(范式卡、规则、声音账、经验登记),还是用完即散。
命名与标识纪律
稳定命名合同以 07-Agent 与 Skill 领域 §3.1 为唯一事实源;下列条目只是审查投影,不另立规则。
- 运行静态支架,确认目录、frontmatter、manifest、名称策略和 NFC 门全部通过。
- 人工核对名称能否直接说明核心动作与对象;
description点名技能时检查目标存在。 - scenario、协议键和不可变历史标识不按技能名称改写。
3. 审查产出规范
每次审查对每个被审对象必须给出标准化产出:
- 面对谁 / 目的:明确调用方与核心功能定位。
- 逐条问题清单:按正向资产与负向污染分类,并逐条标注严重度(阻断 / 严重 / 一般)。
- 具体修改建议:给出明确的重构或裁剪方案。
严重度定义:
- 阻断(Blocker):存在维度 0 分项、违背红线、导致假绿或破坏数据一致性,必须立即修复才能合入。
- 严重(Major):职责重叠、提示词泄漏、缺少机制约束等影响系统健壮性的问题。
- 一般(Minor):措辞冗余、格式微调、非关键参考文档链接失效等。
审查过程只读、不直接改代码;修改需另行取得授权,框架改动与创作内容分开提交。