硬化 agent prompt 使其可靠遵循指令的系统化方法。
核心原则:Prompt 不是策略文档,而是错误纠正系统。最可靠的约束不是更好的措辞,而是结构化不可能性。
scripts/audit.sh 审计一遍再决定正确用法:对 SOUL.md 中被反复违反的 dispatch 规则进行硬化 输入: "MUST 通过 dispatch.sh 派发"(一句话,模型 3 次无视) 应用: P1+P2+P3+P5+P7+P16 六模式叠加 结果: 合规率从 ~50% → ~90%(配合 EXEC GUARD plugin P13 达到 ~99%)
错误用法:用 prompt-hardening 替代代码级强制 只改 SOUL.md 不加 plugin hook → prompt 层面永远不是 100% 可靠 关键约束 MUST 同时有代码级强制(P13)作为备份
场景推荐模式强度模型反复违反同一条规则P1 三重强化 + P13 代码级最强模型绕过工具约束P2 工具强制 + P3 穷举枚举强模型"合理化"违规P5 反推理阻断强长对话偏离规则P9 漂移防护 + P11 Echo-Check中新规则首次部署P4 条件触发 + P7 示例对标准
详细说明、示例和来源见 references/patterns.md。
#模式一句话说明来源P1三重强化MUST/NEVER + good/bad example + I REPEATClaude Code, ChatGPTP2工具强制Use X (NOT Y) + 失败原因Claude Code, WarpP3穷举否定✅/❌ 列出所有允许/禁止行为Codex CLIP4条件触发当 X → MUST Y / NEVER ZGemini CLIP5反推理阻断预判模型合理化借口并阻断Claude.aiP6优先级层级显式声明规则冲突时谁赢Gemini, JulesP7行为锚定good/bad example + reasoning 标签Claude CodeP8范围限制做要求的事,不多做Claude Code, WarpP9漂移防护长对话中注入提醒Claude.aiP10信任边界区分可覆盖/不可覆盖的指令源ChatGPTP11Echo-Check执行前复述约束Reddit (40-60% ↑)P12约束优先约束 token > 任务描述 tokensinc-LLM (42.7%)P13结构化不可能代码级强制 > prompt 强制AnthropicP14状态机门禁布尔前置条件锁定阶段Factory DROIDP15自我归因修正第一人称"我刚才做错了"纠正CrewAIP16首尾重复关键约束放 prompt 开头+结尾Lost in the Middle
防护层级可靠性组合使用可靠性软约束40%P1 + P590%MUST/NEVER70%P1 + P5 + P1399%MUST + 示例80%P1 + P5 + P13 + retry100%
bash
# 审计现有 prompt(16 项检查)
~/.claude/skills/prompt-hardening/scripts/audit.sh ~/path/to/SOUL.md
#检查项1P0 规则用了三重强化(MUST + 反面示例 + 重复)?2工具约束用了 Use X (NOT Y) + 失败原因?3禁止行为穷举列出?4关键触发用了 当 X → MUST Y 格式?5有反推理阻断?6优先级层级显式声明?7有好/坏示例对?8范围边界明确?9长对话有漂移防护?10信任边界明确?11关键操作前有 echo-check?12约束 token > 任务描述 token?13最关键约束有代码级强制(L5)备份?14多步操作有状态机门禁?15违规后有自我归因修正模板?16关键约束在 prompt 首尾都出现?
text
1. 读取目标 prompt
2. 识别模型历史违反过的规则(最高优先级硬化)
3. 运行 scripts/audit.sh 获取 16 项检查结果
4. 历史违反 → P1 三重强化 + P13 代码级
5. 重要规则 → P2 + P4 + P5
6. 一般规则 → P3 + P7
7. 验证约束 token 占比 > 40%
请求交付物硬化 prompt重写后的 prompt 文件审计 prompt16 项检查清单 + 改进建议分析违规违规模式分类 + 硬化方案
references/patterns.md — 16 个模式的详细说明和代码示例references/sources.md — 13 个研究来源