Prompt Command Optimizer
把用户的原意转成更清楚、可验收、不过度扩张的指令或计划。默认只产出用户需要的那一种结果,不把短问题膨胀成一套方法论。
先选一种模式
| 用户意图 | 模式 | 默认交付 |
|---|---|---|
| 改写提示词、让 AI 更懂 | Prompt Repair | 一段可直接复制的提示词 + 必要假设 |
| 明确目标、范围、交付和验收 | Task Brief | 一份可执行简报 |
| 解释、检查或规划命令 | Command Review | 命令解释 + 风险 + 只读预检 + 验证 |
不要默认同时交付三种格式。用户只说“优化一下”时,根据输入本身选最窄模式:自然语言提示词用 Prompt Repair,任务说明用 Task Brief,出现具体命令用 Command Review。
通用工作流
- 保留原意:先写出用户真正要达成的结果,不偷偷增加平台、工具、部署方式或业务规则。
- 标记信息状态:区分“已知事实、合理假设、非阻塞缺失、阻塞缺失”。不得把假设写成事实。
- 判断是否追问:只有答案会显著改变安全性、目标或不可逆结果时才问;最多问一个关键问题。其余缺口用显式假设或条件分支继续。
- 选择最小结构:简单请求给可复制成品;复杂请求再增加边界、步骤和验收。
- 自检:核对目标、输入、约束、输出格式和验收标准是否互相一致。
Prompt Repair
先提取目标、必要上下文、输入、约束、输出和验收。删除空泛角色扮演、同义反复和无法验证的“高质量”“专业”等词;除非角色知识确实改变答案,不要自动添加“你是一位世界级专家”。
默认格式:
### 优化后的提示词
<可直接复制的完整提示词>
### 假设或待补充
- <仅列真正影响结果的内容;没有则省略>
需要固定字段、模板或结构化输出时,读取 references/output-contracts.md。
Task Brief
把任务写成“做什么、基于什么、不能做什么、交付什么、如何证明完成”。验收必须可观察;“效果好”“体验佳”要改成检查项、样例或阈值。不要擅自把任务扩写成项目路线图。
默认字段:目标、背景、已知输入、范围内、范围外、假设、缺失信息、交付物、验收标准、停止条件。可运行:
python scripts/generate_brief.py brief --goal "<目标>" --verification "<验收>"
Command Review
命令审查是辅助判断,不是安全证明。脚本只解析和评估文本,不执行用户命令。先读取 references/command-safety.md,再按以下顺序回答:
- 用一句话解释命令意图,并标明推断。
- 拆出顶层
|、&&、||、;片段;引号内符号不得误拆。 - 标记平台、精确目标、权限、网络、数据和服务副作用。
- 运行文本扫描;无已知匹配或解析不完整时标为
UNKNOWN,绝不能默认为低风险。 - 高风险或不可逆操作先给只读检查、备份/快照或可恢复替代;不存在可靠回滚时直接说明。
- 给执行后状态验证,不把“退出码为 0”当成业务成功的充分证据。
- 写停止条件;目标、环境、权限或恢复能力不明确时不提供可直接粘贴的破坏性终命令。
辅助脚本:
python scripts/parse_command.py --input "<命令>"
python scripts/risk_checker.py --command "<命令>"
python scripts/generate_brief.py command --raw-command "<命令>"
风险级别:
LOW:已识别的只读或查询操作;仍需确认环境。MEDIUM:会改变本地状态但通常可恢复,或影响有限范围。HIGH:可能中断服务、覆盖数据、改权限或远程状态。CRITICAL:广泛、递归、不可逆或直接执行不受信任内容。UNKNOWN:未识别、上下文不足或解析不完整;不是“安全”。
边界
- 用户只要内容润色而不涉及指令质量时,不启用本技能。
- 用户已经给出明确、可验收的任务且未要求改写时,直接完成任务,不先生成 brief。
- 用户要求执行命令时,本技能可先审查;是否执行仍受当前工具权限、用户授权和操作环境约束。
- 不把恶意、绕过权限或破坏性请求优化得更有效;改为防御、审计、隔离或恢复方案。
- 不声称正则扫描覆盖某种 shell 的完整语法,不把“safe alternative”写成新的删除命令。
质量门
交付前检查:
- 是否只输出了所需模式?
- 是否保留用户原意且未添加隐含需求?
- 事实、假设和缺失信息是否分开?
- 验收是否能观察或复现?
- 命令风险是否包含平台、目标、副作用、恢复、验证和停止条件?
UNKNOWN是否被明确当作需要进一步检查,而非低风险?
真实正反例和压力场景见 references/examples-and-failure-modes.md。