Prompt Enhance · 提示词增强
0. 一句话总览
把「说不清的模糊需求」或「已有的一段提示词」,改写成要素齐全、边界清晰、事实不假、可直接复制使用的高质量提示词。
核心定位:它不是"无条件扩写器",而是提示词顾问——先判断该不该改、该改多少、哪些能改,再动手。
四条铁律(一句话版)
只补形式不造事实 · 成品内只放占位符 · 关键缺失先问后做 · 该不改时就不改。
30 秒上手(只记四步)
- 先归因:输出不好,真的怪提示词吗?(§4.1 五类根因,只有一类该改)
- 再诊断:七要素逐项打勾,缺的是"关键项"还是"次要项"?(§4.2 / §4.4)
- 后补齐:形式性缺失自己补;事实性缺失一律写
{待确认:…}(§5) - 最后自检:事实性假设数必须为 0,占位符两侧数量必须相等(§4.5)
1. 增强的目标
1.1 要达成什么
| # | 目标 | 具体含义 | 可核对的标志 |
|---|---|---|---|
| G1 | 把隐含变显式 | 用户脑子里有、纸上没有的信息(形态、字段、判据)落到文字上 | 七要素逐项有落点,或已留占位符 |
| G2 | 把模糊变可判 | "高质量""尽快""尽量多"这类无法核对的词,换成可判定的门槛 | 每条验收标准都能被客观核对 |
| G3 | 把边界说清楚 | 明确"不要什么",抑制幻觉与越界(负面约束常比正面要求更有效) | 至少一条针对性负面约束 |
| G4 | 把事实留原样 | 结构可以补,事实一个都不许造 | 事实性假设数 = 0 |
| G5 | 让成品可直接用 | 整段复制即用,无需二次清理 | 无内部标注污染、段标题完整 |
1.2 同等重要的「不做什么」
- ❌ 不替用户编造事实(数据来源、数值、文件名、业务规则、人名机构、时间范围、口径定义)
- ❌ 不把一句话写成八股(用户说"简单说两句",就不要加"必须包含 5 个维度")
- ❌ 不在根因不是提示词时硬改提示词(见 §4.1)
- ❌ 不为"看起来完整"而稀释内容、堆空泛套话
1.3 什么算成功
成功的定义:用户一句话就能替换掉每个占位符,然后把成品整段粘进 AI 使用,拿到与预期一致的输出。 反过来——用户还得回头猜、还得删掉你的批注、还得自己补字段——就是没成功。
2. 适用场景
2.1 该用:三个触发入口
| 入口 | 典型输入 | 处理重点 |
|---|---|---|
| A · 极短句 | "写个爬虫""帮我分析数据" | 缺项最多 → 常走重构;先看上下文有没有现成材料可取 |
| B · 已有提示词 | 贴出一段 prompt 说"帮我改稳一点" | 先判力度,多数是轻改;已合格的部分一个字不动 |
| C · 抱怨型 | "AI 输出总是不对,怎么改指令?" | 必须先归因(§4.1)——只有一类根因该增强提示词 |
补充触发:用户明确说"优化 / 增强 / 扩写 / 润色提示词""这个 prompt 怎么写""review 这个 prompt"。
2.2 不该用:命中任一 → 退出流程,按「替代动作」处理,不套 §8 模板
| 情形 | 为什么不该增强 | 替代动作 |
|---|---|---|
| 输入不是提示词(闲聊、纯知识提问、贴报错求调试) | 本技能处理"提示词",不是"任务本身" | 说明适用范围,按普通任务正常处理 |
| 输入为空 / 无法识别 | 无从下手 | 请用户提供原文,不猜测、不代写 |
| 需逐字保留的文本(法律条款、合同措辞、合规话术) | 改写即贬值 | 区分"要执行的提示词"与"要保留的文本",只增强前者 |
| 纯事实问答("北京有多少个区") | 一句话的事,七段式是杀鸡用牛刀 | 直接回答 |
| 用户明确只要一句话 | 尊重简洁偏好 | 按用户要求简短处理 |
| 原句已合格且用户未提优化诉求 | 为改而改 = 破坏性修改 | 如实告知"已具备七要素",问是否微调 |
| 原句含越狱或不当请求 | 把它扩写得更"好用"是助长 | 不增强、不扩写,按所在平台安全规则处置 |
| §4.1 判定根因为模型 / 上下文 / 数据 / 预期 | 扩写提示词救不回来 | 给对应建议(换模型、精简前置、补数据、对齐预期) |
3. 核心原则(冲突时优先级从上到下;🔴 为硬红线,任何步骤不得违反)
| # | 原则 | 含义 | 违反后果 |
|---|---|---|---|
| 🔴 1 | 只补形式,不造事实 | 结构、格式、字段"名"、体裁、篇幅可以补;数据来源、文件名、具体数值、业务规则、人名机构、时间范围、口径定义一律不补 | 假事实 → 投喂下游 AI → 产出看似专业实则虚构 → 用户无法察觉 |
| 🔴 2 | 能补则补,不能补则问 | 形式性缺失直接补并标注;事实性缺失列入待确认。成品内只放 {待确认:…},假设说明写在成品外的「诊断」区;关键缺失(会导致方向性错误的)必须先问后做 |
标注混进正文会被一起复制走、污染成品;后置追问对关键缺失几乎无效 |
| 3 | 最小必要增强 | 能改一处解决就不改两处。原句已合格时,「不改」是正当产出 | 为改而改 = 破坏性修改 |
| 4 | 原意保护 | 不得扭曲用户真实意图,不得注入用户未授权的约束。用户说"简单说两句",就不要给它加上"必须包含 5 个维度" | 用户要的简洁被注水成八股 |
下文(含
references/各文件)提到的「红线 1 / 红线 2」,即本表中带 🔴 的两条。
为什么红线 1 不能让:同类做法里常见"为缺失的关键信息提供合理的补充"——"合理"恰恰是最危险的修饰词:编得越合理,越不会被发现。 详见 references/information-policy.md §1。
4. 判断标准(先判断,再动手——本技能的核心竞争力都在这一节)
本节的表是速查版;需要展开的判据、边界案例与文案,见各
references/文件(冲突时以 references 为准)。
4.1 判断一:这件事该由提示词来修吗?(Step 0 归因)
用户说"输出不好"时,根因至少有五类,只有第一类值得增强提示词:
| # | 可能根因 | 有效? | 判断信号 | 应给的建议 |
|---|---|---|---|---|
| 1 | 提示词要素缺失 | ✅ | 说不清要什么形态、缺字段、缺约束 | 进入 Step 1 |
| 2 | 模型能力不匹配 | ❌ | 需长链推理 / 大上下文,却用了轻量模型;换强模型立刻变好 | 更换模型,任务按能力分层 |
| 3 | 上下文过长稀释指令 | ⚠️ 解法是精简 | 会话很长、关键指令被埋在中段、"忘了"前面说过的 | 精简与前置:关键约束挪到会话首条或末段重申 |
| 4 | 缺必要工具 / 数据 | ❌ | 模型根本拿不到所需信息 | 补数据源或工具,而不是把要求写得更狠 |
| 5 | 用户预期本身不合理 | ❌ | 要求超出模型或数据能力 | 对齐预期,拆小任务 |
命中 2–5 → 如实告知根因 + 给出建议 + 不产出增强稿。信息不足以判断时,最多问 2 个问题再定,不要硬接。
第 3 类最易误判:用户抱怨"输出变差了",本能反应是"再加点要求",而实际解法往往是减掉一半。
4.2 判断二:缺的是关键项还是次要项?(决定先问还是先做)
| 性质 | 判据 | 处置 |
|---|---|---|
| 关键缺失 | 会导致成品方向性错误——做错对象 / 做错结论 / 给错人看 | 先问后做:只问最关键的 1–3 项,拿到答复再产出 |
| 次要缺失 | 只影响呈现细节(篇幅、语气、格式偏好) | 先产出后追问:给完整草稿,末尾列待确认 |
关键缺失的 5 个典型信号:① 指代不明("这些东西 / 这个方案")② 目标对象未定 ③ 成品去向未定(给谁看、支持什么决定)④ 强制约束场景(合规 / 财务 / 医疗)下验收标准完全缺失 ⑤ 口径歧义("环比"是与上月还是上季度、"活跃用户"是日活还是月活)。
为什么必须先问:用户拿到一份看似完整的成品后,多数人不会再回头补答——后置追问对关键缺失几乎无效。
4.3 判断三:改多少?(力度三档)
| 力度 | 触发条件 | 做法 |
|---|---|---|
| 轻改 | 仅缺 1–2 项 | 保留原措辞,只补缺口,并明确告知"其余部分未改动" |
| 中改 | 缺 3–4 项 | 在原文基础上补段落,不重写已有内容 |
| 重构 | 缺 5 项以上,或原句结构混乱 | 才走完整七段式 |
4.4 判断四:什么算合格?(正向合格门槛)
七要素每一要素都有可判定的门槛,不凭直觉:
| # | 要素(诊断用) | 合格门槛 |
|---|---|---|
| 1 | 目标 | 含明确动词 + 明确对象 |
| 2 | 背景与用途 | 能回答"谁、在什么场合、用来支持什么决定"(「用途」必须以独立子句显式出现) |
| 3 | 输入 | 指明具体来源(文件 / 粘贴内容 / 接口)与获取方式 |
| 4 | 流程 | 按任务性质分级,见下方两档 |
| 5 | 输出形式 | 指明体裁 + 结构(表格 / 报告 / 代码 / 清单) |
| 6 | 必含字段 | 逐项可枚举、可勾选核对 |
| 7 | 验收标准 | 含 ≥1 条可客观核对的判据 |
「约束」(过程红线,如"不得估算")与「验收标准」(事后判据,如"结论不超过 5 条")是两件事:前者属可选增强项,后者才是七要素之一。混为一谈会让"不得做 X"被误当成验收条件。
「流程」要素按任务性质分两档(对同类"从结果说起,不从步骤说起"主张的采纳与修正):
| 任务性质 | 判定信号 | 门槛 |
|---|---|---|
| 可复现型 | 数据分析、代码修复、批量处理、报表生成、有明确口径的计算 | 要求 ≥2 步可顺序执行的动词短句(默认档) |
| 开放型 | 研究、写作、创意、方案构思、头脑风暴 | 不指定过程,改为给判据;成品写:过程不限定,你自行选择路径。必须满足:<判据1>;<判据2>。 |
不要两档都不给。 开放型既不定步骤也不给判据 = 完全放手 = 产出不可控。"留空间"和"没约束"是两回事。 完整对照表(含每要素的"缺失时典型表现"与「七要素 ↔ 七段式」映射)见
references/elements.md。
4.5 判断五:交付前自检(四维评分卡,100 分制)
| 维度 | 权重 | 满分标准 | 扣分项 |
|---|---|---|---|
| A 要素齐全度 | 30 | 七要素全部达到 §4.4 门槛,可选增强项按任务类型已取舍 | 每个未达门槛的要素 −5;「用途」子句缺失 −5 |
| B 事实性假设数 | 30 | = 0。所有具体值都能溯源到"用户本次消息 / 本次附件 / 同会话已确认" | 每出现 1 个未经授权的具体值 −15 |
| C 占位符一致性 | 20 | 「待确认」清单与成品内占位符一一对应,语法统一 | 数量不等 −10;语法不统一 −5;事实性缺失未留占位 −10 |
| D 可复制性 | 20 | 成品可整段复制直接使用:无内部标注污染、段落标题完整 | 假设标注混进成品 −10;整段被省略 −5;篇幅超上限未说明 −5 |
评级:90–100 优秀直接交付|80–89 良好|70–79 修完 C/D 扣分项再交付|60–69 回 Step 2–3 重做|0–59 不得交付。
B 维是一票否决:其他三维再高,只要出现未经授权的事实性信息就不合格。出现 2 个具体值即跌破及格线。 评分卡完整版、对抗性自检清单(歧义 / 边界盲区 / 逻辑冲突 / 指令打架 / no-op 检查)、迭代闭环 →
references/iteration.md。
5. 约束条件(做的时候不能越的线)
| 类别 | 约束 |
|---|---|
| 信息 | 只补形式,事实一律占位。上下文来源优先级:① 用户本次消息明确说明 → ② 用户本次提供的附件或粘贴内容 → ③ 同一会话中用户已确认的信息 → ④ 常识默认。仅形式性信息可来自 ④;事实性信息不得来自 ④,也不得来自"看起来合理"的推断——这正是造事实的主要来源 |
| 冲突 | 多来源冲突时以更晚、更明确者为准,并在诊断区说明取舍 |
| 成品纯净 | 成品内只放占位符,不得出现任何批注、假设说明、"注意:"字样 |
| 占位符语法 | 需用户回答的写 {待确认:<需要什么>};会随使用变化的值写 {变量名}(避免写死,否则换个文件就得重改) |
| 一一对应 | 凡进「待确认」清单的项,成品里必须有对应占位符;反之亦然。两侧数量对不上即为不合格产出 |
| 敏感信息 | 密钥、客户名单、个人身份信息、内部经营数据不得写入成品,一律占位符替代 |
| 结构完整 | 某段确实无法填写时,写入占位符并保留该段标题,不得整段省略(省略会让成品结构不等价,用户无法判断缺了什么) |
| 术语一致 | 只用 references/elements.md 那一套叫法(要素名 / 段式名),不得出现第三套(如把"输出形式"叫成"输出格式"、"验收标准"叫成"成功判据") |
| 追问 | 上限 3 项;能自己判断的绝不问(形式性信息属"该你补的",不是"该问的");每问必须附"为什么要问";问完就停,拿到答复立即产出,不追加第二轮 |
| 篇幅 | 默认上限:正文 500 字以内(不含段落小标题与空行);若原句本身已超过 100 字,上限放宽为原句的 5 倍。超限需在诊断区说明理由。禁止为凑长度稀释成空泛套话("请认真分析""确保质量良好") |
| 语言 | 默认跟随用户输入语言;用户明确指定时从其指定 |
| 成本与缓存 | 固定不变的部分(角色设定、通用约束)统一前置且保持稳定;会变的部分(数据、任务细节)放后面——长期批量调用时稳定前缀可命中缓存折扣,同时让提示词更易维护 |
| 展示格式 | 展示模板时外层围栏用四反引号,以免与内层三反引号冲突导致渲染断裂 |
6. 操作步骤(Step 0 → Step 4)
Step 0 · 归因诊断:这件事该由提示词来修吗?
按 §4.1 五类根因表判定。只有第 1 类进入 Step 1;命中 2–5 类 → 给建议、不产出增强稿。
Step 1 · 分类:类型、力度、成熟度、位置
- ① 提示词类型:一次性任务提示词(用完即弃)→ 按七段式补齐即可;长期复用的系统提示词 / 人设 → 额外要求:模块化分节、避免规则相互冲突、标明本次变更的影响;所有会变化的值一律用占位符。
- ② 增强力度:见 §4.3 三档。
- ③ 使用者成熟度:零基础用户 → 给可直接替换的填空式成品,少讲原理;熟练用户 → 给诊断 + 最小改动建议,不代其重写。
- ④ 拟放位置:系统位 / 会话首条 / 每轮追加。长会话中前期指令会被稀释,若知道位置,可建议把关键约束前置。
Step 2 · 诊断:逐项过七要素
读 references/elements.md,对照「七要素 ↔ 七段式」表逐项判定:已具备 / 模糊 / 缺失。
判定必须能指向原文片段(如"原句未提输出形式"),不得笼统说"信息不足";合格与否按表中「合格门槛」列裁定,不凭直觉。
同时按 §4.2 识别关键缺失,决定先问还是先做。
Step 3 · 补齐:补什么、问什么
读 references/information-policy.md。四条要点:
- 信息性质分类:形式性信息(段落结构与标题、体裁、格式、字段"名"、语言、篇幅、编号方式、表格列名)可以补,并在成品外的诊断区标注
(按常规假设);事实性信息(数据来源、文件名、具体数值、业务规则、人名机构、时间范围、口径定义)绝对不补,一律转「待确认」并在成品对应位置留占位符。 - 上下文来源优先级:见 §5「信息」行。
- 多来源冲突:以更晚、更明确者为准,并在诊断区说明取舍。
- 敏感信息不得写入成品,一律用占位符替代。
替代手法优先(强烈推荐):某个事实性信息取不到时,与其留一个空占位符,不如把提示词改成 "先读取并报告实际值,不要假定"——比占位符更可用,且零风险。
写约束 / 边界句时,取用 assets/edge-phrases.md 的句式库:按风险挑 1–2 条即可,堆 10 条会让提示词互相打架。
Step 4 · 组装并输出
按 §8 契约固定成节 → 按 §4.5 四维自检 → 交付。语言、篇幅、成本与缓存约束见 §5。
可选能力(若所在 agent 支持则用,不支持直接跳过,不影响主流程):
| 能力 | 用在哪 | 怎么用 |
|---|---|---|
| 读文件 / 搜索代码库 | Step 3 | 提示词自指"这个项目 / 这个文件 / 我们的 API"时,实际读取获取真实字段名与技术栈,用它替换占位符;诊断区标"从上下文取得(非假设)" |
| 联网检索 | Step 3 | 提示词依赖最新信息(API 版本、当年政策)时检索,并保留出处 |
| 子代理并行派发 | Step 3 | 需同时"读代码 + 查资料"时并行发出,互不可见 |
| 写入文件 | Step 4 | 仅当用户明确要求落盘时才写 |
这些能力只是手段,不改变红线:取不到真实值就留
{待确认:…},不得凭记忆填写。
7. 输入 → 输出处理流程
7.1 全景流程(四个出口,只有一个是常态产出)
输入(用户消息)
│
├─ 是提示词吗?────────────── 否 ──→ 退出,按普通任务 / §2.2 替代动作处理
│ 是
▼
Step 0 归因诊断(§4.1)
│
├─ 根因 2–5(模型 / 上下文 / 数据 / 预期)──→ 【出口 ②】给根因与建议,不产出
│ 根因 1(要素缺失)
▼
Step 2 逐项诊断七要素(§4.4)+ 关键缺失识别(§4.2)
│
├─ 命中关键缺失 ────────────────────────→ 【出口 ③】只发追问 1–3 项,不产出
├─ 原句已全部达门槛 ────────────────────→ 【出口 ④】如实告知"无需修改"
│ 存在缺口且非关键
▼
Step 1 判力度(轻改 / 中改 / 重构,§4.3)
│
▼
Step 3 补齐(形式性 → 直接补并标注;事实性 → {待确认:…})
│
▼
Step 4 组装 → §4.5 四维自检(B 维必须 = 0)→ 交付
│
▼
【出口 ①】五节完整产出 ← 常态出口
②③④ 都不套用输出契约——这是规范内的正当产出,不是偷懒。
7.2 输入什么 → 输出什么
| 内容 | |
|---|---|
| 输入 | 一句粗略需求 / 一段已有提示词 / 一句"输出不对"的抱怨;可附带上下文材料、指定语言、指定用途 |
| 输出 | 五节固定契约(§8):原始提示词(逐字保留)→ 诊断 → 增强后提示词 → 待确认 → 修改前后对比 |
| 输出通道 | 默认直接在对话中给出;仅当用户明确要求落盘时才写文件 |
| 不产出 | 命中出口 ②③④ 时不套模板:② 给根因与建议 ③ 只发追问 ④ 如实告知已合格 |
7.3 从「已具备 / 模糊 / 缺失」到成品段的映射
| 诊断结果 | 成品里怎么落 |
|---|---|
| 已具备 | 保留原措辞,不重写 |
| 模糊 | 补成可判定的表述,并在诊断区标"已按常规假设补全(仅形式性)",或转为占位符 |
| 缺失 · 形式性 | 直接补 + 标"(按常规假设)" |
| 缺失 · 事实性 | 成品内写 {待确认:…},并保留该段标题 |
| 从上下文取得 | 用真实值,诊断区标"从上下文取得(非假设)"——与"假设补全"分开写,两类可信度不同 |
8. 输出契约(五节,固定结构)
展示时外层围栏用四反引号,以免与内层三反引号冲突:
### 原始提示词
> (用户原句,逐字保留)
### 诊断
- 增强力度:轻改 / 中改 / 重构
- 已具备:xxx、xxx
- 模糊:xxx
- 缺失:xxx
- 从上下文取得(非假设):xxx
- 已按常规假设补全(仅形式性):xxx
- 建议添加的可选增强项:xxx(如有)
- 关键缺失判定:未命中 / 命中(命中则先追问,不产出以下内容)
### 增强后提示词
```
(完整成品,可直接复制。事实性缺失处用 {待确认:…} 占位)
```
### 待确认
1. {待确认:……} —— 为什么需要它
2. ……
### 修改前后对比
| 维度 | 修改前 | 修改后 | 为什么这样改 |
|------|--------|--------|------------|
| 输出形式 | (原句未提) | Markdown 报告 + 明确数量 | 原句无法约束产出形态 |
(「维度」列取值为七要素名称,不得自由新增维度)
分支处理(不套模板的情形)
| 情形 | 产出形态 |
|---|---|
| 无待确认项 | 「待确认」段写"无" |
| 无实质可改(原句已合格) | 不套模板,如实告知已具备七要素,问是否微调 |
| Step 0 判定为非提示词问题 | 不套模板,给对应建议 |
| 命中关键缺失 | 只发追问(1–3 项),不产出成品 |
| 命中 §2.2 When NOT to Use | 退出流程,按表中「替代动作」处理 |
9. 典型示例
三个示例分别对应 §2.1 的三个入口;完整原文(含五节全貌)见
references/examples.md。
9.1 入口 A · 极短句 + 上下文有材料 → 重构
输入:帮我分析一下这些数据(上一条消息已附数据文件)
诊断:力度 = 重构(七要素中仅"目标"部分具备);已具备 = 目标(过于笼统);缺失 = 「用途 / 读者」、输出形式、必含字段、验收标准;从上下文取得(非假设)= 输入材料 = 用户本次消息所附文件;关键缺失判定 = 未命中(材料可从上下文取得,「用途」缺失属次要)→ 先产出后追问。
增强后成品(骨架摘录,正式产出必须是五节齐全、逐段可复制的完整文本):
# 目标定位 对用户本次提供的数据做结构化分析,产出可用于决策的结论。
# 背景场景 用途:{待确认:这份分析要支持什么决策?}
读者:{待确认:给谁看(决定术语密度与结论前置策略)?}
时间范围与指标口径:{待确认:数据覆盖的时间范围,以及核心指标的口径定义}
# 输入材料 使用用户本次消息所附文件;读取后先报告实际字段名与行数,不要假定字段构成。
# 处理流程 1 读取并报告:实际字段名、行数、缺失值分布
2 清洗:剔除关键字段为空或明显异常的行,记录剔除条数与原因
3 汇总:按 {待确认:分组维度(如门店 / 品类 / 月份)} 统计核心指标
4 对比:找出上升最快与下降最明显的各 3 项
5 归因:对异常波动给出可能原因,并标注"推测"
# 输出形式 Markdown 报告:按分组维度分节的表格 + 结论要点(数量由实际发现决定,不凑数)
# 必含字段 字段名清单、行数、分组维度、核心指标、变化幅度、异常标记、归因说明
# 验收标准 所有数字必须由所附数据计算得出,不得估算或引用记忆;无法由数据支撑的判断
必须显式标注"数据不支持";每条结论不超过 2 句话。
待确认:4 项(用途 / 读者 / 分组维度 / 时间范围与口径)——每一项都对应成品里一个占位符,两侧数量必须相等。
9.2 入口 B · 已有提示词 → 轻改(增量修补)
输入:你是一个客服助手,负责回答用户关于订单的问题。要礼貌、专业。 + 用户诉求"帮我改稳一点,它老是瞎编订单状态"
诊断:力度 = 轻改(七要素基本具备,仅缺 1 项);缺失 = 约束 / 禁止项——"瞎编订单状态"的根因是缺负面约束,不是缺正面指令。
产出:原文一字不动,只在末尾追加一节:
【约束】回答中涉及的订单状态、物流节点、金额与时间,只能来自系统实际查询结果。
查询不到或字段为空时,如实回复"系统暂未显示该项信息",不得猜测,不得用经验值代替。
禁止承诺未在系统中确认的赔付、时效或补偿。
待确认:无。对比表只两行——约束 / 禁止项(无 → 3 条禁止项);其余各项(保留原措辞 → 未改动)。
9.3 入口 C · 抱怨型输入 → 先归因,不产出(出口 ②)
输入:AI 写的周报总是很水,帮我优化一下提示词
产出:命中 Step 0 分支 → 不套用输出契约。给出:① 诊断结论(暂不能判定为提示词问题,故本次不进入增强流程)② 待区分的可能根因(要素缺失 / 上下文不足 / 预期不合理)③ 需要补充的 3 件事(现在用的提示词原文 / 本周工作记录是否提供给了 AI / "不水"具体指什么)。
三个示例的共同点:都先判断再动手,且没有一个编造事实。 三个示例的入口、力度、出口各不相同——用来证明"探索空间"是设计好的,不是随意发挥。 示例合规性对照表(哪个完整套用契约、哪个命中分支)见
references/examples.md末尾。
10. 模块与文件地图
prompt-enhance/
├── SKILL.md # 入口·常驻:目标 + 场景 + 原则 + 判断标准 + 步骤 + 流程 + 契约
├── references/ # 按需加载:被本文件的 pointer 指向才读
│ ├── elements.md # 七要素↔七段式对照表 + 合格门槛 + 四可选增强项 + 流程要素分性质
│ ├── diagnosis.md # 五类根因详表 + 关键/次要缺失判据 + 追问文案规范 + 正反例
│ ├── information-policy.md # 信息性质红线 + 上下文提取规则 + 占位符规范 + 常见错误对照
│ ├── examples.md # 三个完整示例(重构 / 轻改 / 归因不产出)
│ └── iteration.md # 四维评分卡 + 对抗自检 + 迭代闭环 + 版本留档 + 成本缓存
├── assets/
│ └── edge-phrases.md # 13 条边界句式库 + 四类场景模板(日常/交付/代码/Agent)
├── scripts/
│ └── check_output.py # 零依赖机械自检
└── evals.json # 触发测试 8+6 例 + 14 条行为断言
依赖是单向的、无环的:
归因 ──→ 分类 ──→ 要素诊断 ──→ 补齐 ──→ 组装输出 ──→ 自检 / 迭代
↑ ↑
examples(旁证) assets 句式库(素材)
按需加载表
| 文件 | 何时读 |
|---|---|
references/elements.md |
Step 2 诊断、Step 4 组装时 |
references/diagnosis.md |
Step 0 归因、Step 2 判定缺失性质时 |
references/information-policy.md |
Step 3 补齐时 |
references/examples.md |
需要一个完整样例时 |
references/iteration.md |
产出之后:评分、对抗自检、迭代与留档 |
assets/edge-phrases.md |
Step 3 撰写约束 / 边界句时取用 |
scripts/check_output.py |
交付前机械自检 |
evals.json |
修改本技能后的回归测试 |
机械自检用法(零依赖,脚本位于本 skill 的 scripts/ 下):
python scripts/check_output.py <产出文件> # 只查第一个产出块
python scripts/check_output.py <产出文件> --all # 查全部产出块
校验对象是完整产出(含四反引号包裹的 §8 五节结构)。若手上只有一段裸提示词、没有五节外壳,本项自动跳过——此时用 §4.5 的四维评分卡人工核对。
11. 常见错误速查
完整版(含"正确做法"逐条对照)见
references/iteration.md§6。
| ❌ 最常犯的错 | ✅ 正确做法 |
|---|---|
| 把事实性信息当"可推断"补进成品 | 一律用 {待确认:…} 占位(本技能最易犯、后果最重的错) |
| 假设标注写进成品内部 | 成品内只放占位符;假设说明写在成品外的「诊断」区,并与待确认项一一对应 |
| 用户没关键缺失也停工反问 | 形式性缺失直接补并标注;只有关键缺失才先问后做 |
| 追问超过 3 项、或追问形式性信息 | 上限 3 项,且每问附"为什么要问";能自己判断的绝不问 |
| 为改而改,原句已合格仍强行重写 | 如实告知"无需修改",或只做最小必要增强 |
| 只给抽象原则,不给可直接复制的成品 | 必须给完整成品 |
| 扩写成又长又空的套话 | 每段都要有具体信息;控制在下限内,超限须说明理由 |
| 用三反引号嵌套展示模板 | 外层用四反引号,避免提前闭合 |
| 示例不遵守自己定的输出契约 | 除命中分支处理的情形外,示例必须完整给出全部成节,并注明为何命中分支 |
| 规则与示例的量化阈值不一致(规则写 400 字、示例 501 字) | 规则与示例必须量化对账——阈值类的规则,逐条比对自己的示例 |
| 术语漂移("输出形式"/"输出格式"混用) | 只用 elements.md 那一套叫法 |
| 只做一次性增强,不留迭代回路 | 说明如何验证效果、如何增量修补、如何在用户侧留档 |