..

contracts/prompts/ —— 第 8 类契约Prompt Registry

Prompt 即契约。所有生成链路的 LLM prompt 在此 Git 化注册、版本化、过门禁,禁止散落在 Dify 节点/代码里。 治理细则见 .agents/skills/prompt-governance.mddocs/agent-specs/prompt治理体系-execution.md

目录结构8 阶段)

prompts/
├── registry.yaml          # 注册表id@version / owner / stage / file / eval
├── 01-safety/             # Prompt 安全/注入检测
├── 02-intent/             # 意图解析
├── 03-template/           # 模板匹配
├── 04-config/             # GameConfig 生成
├── 05-asset/              # 素材生成ComfyUI 引导)
├── 06-quality/            # 质量评估
├── 07-fix/                # 失败修复/重生成
├── 08-meta/               # 标题/简介/封面文案
└── eval/<id>/             # 每条 prompt 的 Golden eval 集inputs/expect/baseline

引用与变更

  • 引用Dify/aigc 用 {{registry:id@ver}} 引用PromptRegistryLoader 加载注入。
  • 变更:改 prompt 必须升 version,并过四道闸 CISchema 通过率 / 生成成功率≥80% / Golden 回归 diff / 成本延迟);四闸绿后运营 HITL 抽检 K 条方可合入。

Registry 一致性 CI 门check_registry.py

check_registry.py(本目录同级)验证 registry.yaml 里每条 version 与对应 .md frontmatter 的 version 是否完全一致。防止 Java PromptResourceLoader 构建期快照加载的 prompt 版本与注册表宣称版本漂移(二者不一致会导致日志/追溯/审计失真)。

手动跑:

python3 contracts/prompts/check_registry.py
# exit 0 = 全部对齐exit 1 = 有漂移(打印具体 id + 两侧 version

接入 CI / pre-commit推荐

  • CI在流水线加步骤 python3 contracts/prompts/check_registry.py(无三方依赖,标准库即可跑)。
  • pre-commit.pre-commit-config.yaml 加 hookentry: python3 contracts/prompts/check_registry.pypass_filenames: false

触发时机:任何 .mdregistry.yaml 变更都应跑一次CI 全量跑。