用一手代码证据坐实 17 条 prompt 的 live/fossil/batch-relic 三态,防把 CI 焊在死面上白花钱: - live 10 条:safety.prompt-check(SafetyCheckClient GP9 门真发 LLM)+ tier2×8(roles.py prompts.load 运行时读)+ config.cheap-system(cheap_roles.py) - fossil 5 条:clicker/merge/idle/tycoon(AigcTemplateConstants.SUPPORTED_TEMPLATE_IDS 已整体下架、gamedef 产物形态已废)+ generic-coder(STUB,PromptResourceLoader 只为 isReady/schema 加载、不喂 LLM) - batch-relic 2 条:quality.adversary-review / fix.design-revise(全仓无 live 代码消费方,仅已删 agent-loop v1 evalflow.py 批跑过) 门焊口径写进 registry 头部:段 A 离线版本闸对全部条目生效(改正文必升 version,纯结构纪律零成本);段 B 真模型闸只焊 live——有金标真跑(唯 safety)、无金标 fail-closed(cheap-system/tier2)、fossil/relic SKIP 豁免。 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
185 lines
16 KiB
YAML
185 lines
16 KiB
YAML
# 契约 #8 Prompt Registry —— Prompt 即契约(Git 化注册表)
|
||
# owner:各 prompt 归属工位 | 治理:见 .agents/skills/prompt-governance.md 与 docs/agent-specs/prompt治理体系-execution.md
|
||
# 引用方式:Dify/aigc 用 {{registry:id@ver}} 引用;变更 prompt 必须升 version 并过四道闸(CI)
|
||
version: 1
|
||
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
# 消费面三态对账(W-PCI · 2026-07-04,四道闸 CI 接线步骤 0;用代码证据坐实、非凭注释推断)
|
||
#
|
||
# 为什么要对账:四道闸 CI 只该焊在「真被 live 生产路径消费、喂给 LLM」的 prompt 上;焊在早已下架
|
||
# 的死面上,既白花真模型钱,又给出虚假的治理安全感。下表把 17 条逐条判定三态,段 B 真模型闸据此
|
||
# 决定跑还是豁免。三态定义:
|
||
# · live —— 现行生产生成路径运行时读它、渲染后发给 LLM(改它会真影响线上生成质量)。
|
||
# · fossil —— 代码里仍有加载壳,但产物形态或模板白名单已废,现行不会有任务走到它(改它无线上影响)。
|
||
# · batch-relic —— 只被已删除的 agent-loop v1 批跑编排(evalflow.py)消费过,无任何 live 代码消费方。
|
||
#
|
||
# 逐条结论(证据 = 一手代码,路径见括注):
|
||
# safety.prompt-check live SafetyCheckClient.java:51 构建期加载 01-safety/prompt-safety-check.md,
|
||
# GP9 合规门渲染 {{input.prompt}} 真发 LLM(gp9-safety,独立于模板白名单)。
|
||
# config.clicker-designer fossil PromptResourceLoader.TEMPLATE_RESOURCES 仍构建期加载,但
|
||
# config.merge-designer fossil AigcTemplateConstants.SUPPORTED_TEMPLATE_IDS 已把旧四模板整体下架
|
||
# config.idle-designer fossil (白名单 = generic + 5 品类):提交抛 AIGC_TEMPLATE_NOT_EXISTS、
|
||
# config.tycoon-designer fossil 执行判 no_template_match 不烧 LLM。它们产的 GameConfig 是已废 gamedef 形态。
|
||
# config.generic-coder fossil registry 自标 STUB 0.0.1;PromptResourceLoader 加载它只为 isReady()
|
||
# 通过 + schema 进校验缓存,其类注释明写「后端不在进程内渲染/喂 LLM 该 prompt」;
|
||
# generic 任务实走外置 Python cheap-worker(用 cheap-system.md,非本条)。
|
||
# quality.adversary-review batch-relic 全仓 grep 无任何 .py/.java live 消费方;仅 agent-loop v1 evalflow.py(已删)批跑过。
|
||
# fix.design-revise batch-relic 同上,无 live 消费方。
|
||
# tier2.design-system live tier2 gen-worker roles.py 经 prompts.load 运行时读(design_team 兜底)。
|
||
# tier2.design-systems-designer live roles.py:245 prompts.load 运行时读(阶段 1 工作室专家)。
|
||
# tier2.design-economy-designer live roles.py:246 prompts.load 运行时读。
|
||
# tier2.design-level-designer live roles.py:247 prompts.load 运行时读。
|
||
# tier2.design-presentation-designer live roles.py:248 prompts.load 运行时读。
|
||
# tier2.design-leader-system live roles.py:264 prompts.load 运行时读(阶段 1 leader,带参 brief)。
|
||
# tier2.writer-system live roles.py:280 prompts.load 运行时读(阶段 2 单写 agent 前缀)。
|
||
# tier2.player-system live roles.py:297 prompts.load 运行时读(L3 视觉软检玩家)。
|
||
# config.cheap-system live cheap-worker cheap_roles.py _load_system_prompt() 运行时读(便宜档 A-model 生成)。
|
||
#
|
||
# 门焊接口径(据上表):
|
||
# · 段 A 离线版本闸(check_version_bump.py)对全部 contracts/prompts/ 条目生效——「改正文必升 version」是
|
||
# 纯结构纪律、零成本,无需区分三态,一律强制。
|
||
# · 段 B 真模型闸(eval_gate.py)只焊 live 条目(safety + tier2×8 + cheap-system):
|
||
# - live 且有金标集 → 真跑四道闸(当前仅 safety.prompt-check,见其 eval/ 10 条负例);
|
||
# - live 但无金标集(cheap-system / 8 条 tier2,本表 eval 字段待建)→ fail-closed 报「金标缺失」,绝不假绿;
|
||
# - fossil / batch-relic → 显式 SKIP 豁免(clicker/merge/idle/tycoon/generic-coder/quality/fix),不花真模型钱。
|
||
# · 注:04-config 下 business-sim/narrative/puzzle/trpg/heritage 五个 -designer.md 是 SUPPORTED_TEMPLATE_IDS 内
|
||
# 的 live 白名单模板,但同 generic 一样「只进 schema 缓存、不喂 LLM」,且未登记进本 registry;不在本次对账 17 条内。
|
||
# ─────────────────────────────────────────────────────────────────────────────
|
||
prompts:
|
||
# 【三态·段B处置】safety.prompt-check = live(SafetyCheckClient GP9 合规门真发 LLM),且有 eval/ 10 条负例金标集
|
||
# → 段 B 真模型闸对它真跑四道闸(当前唯一「live 且有金标」的条目)。
|
||
- id: safety.prompt-check
|
||
version: 1.0.0
|
||
stage: "01-safety" # 8 阶段:01-safety 02-intent 03-template 04-config 05-asset 06-quality 07-fix 08-meta
|
||
owner: WS2 # 归属工位
|
||
file: 01-safety/prompt-safety-check.md
|
||
desc: 创作者 Prompt 安全/注入检测(生成链路第 1 节点)
|
||
eval: eval/safety.prompt-check/ # Golden eval 集(四道闸:Schema/成功率/回归diff/成本延迟)
|
||
# —— agent 化生成 QA 闭环 v1 三件套(HJ-AGENT-LOOP-EXEC-001 §5;v1 仅 clicker 走批跑)——
|
||
# 【三态·段B处置】以下 clicker/merge/idle/tycoon 四策划模板 = fossil(已废 gamedef 线,SUPPORTED_TEMPLATE_IDS
|
||
# 已整体下架、不可被生成)→ 段 B 真模型闸对它们 SKIP 豁免(保留条目不删,见头部对账总表)。
|
||
- id: config.clicker-designer
|
||
version: 1.1.0 # v1.1.0:batch-001 冻结告警→新增 designIntent 模板内约束(加规则不改口径)
|
||
stage: "04-config"
|
||
owner: WS2
|
||
file: 04-config/clicker-designer.md
|
||
desc: agent 闭环独立策划:创意一句话→GameDesign 三段(designIntent/expectedPlaySeconds/config;config 受 contracts/templates/clicker.schema.json 约束)
|
||
eval: eval/config.clicker-designer/ # 每批 evalflow.py 强制回流(inputs/labels JSONL)+ C1 spike 52 条种子(D3 转入)
|
||
- id: config.merge-designer
|
||
version: 1.0.0 # 首版:merge 模板策划(结构对齐 clicker-designer,按 merge schema 改字段约束)
|
||
stage: "04-config"
|
||
owner: WS2
|
||
file: 04-config/merge-designer.md
|
||
desc: agent 闭环 merge 模板策划:创意一句话→GameDesign 三段(designIntent/expectedPlaySeconds/config;config 受 contracts/templates/merge.schema.json 约束)
|
||
eval: eval/config.merge-designer/ # 新建 Golden 目录(首版无种子,随批回流;§4.5)
|
||
- id: config.idle-designer
|
||
version: 1.0.0 # 首版:idle 模板策划(结构对齐 clicker/merge-designer,按 idle schema 改字段约束)
|
||
stage: "04-config"
|
||
owner: WS2
|
||
file: 04-config/idle-designer.md
|
||
desc: agent 闭环 idle 模板策划:创意一句话→GameDesign 三段(designIntent/expectedPlaySeconds/config;config 受 contracts/templates/idle.schema.json 约束)
|
||
eval: eval/config.idle-designer/ # 新建 Golden 目录(首版无种子,随批回流)
|
||
- id: config.tycoon-designer
|
||
version: 1.0.0 # 首版:tycoon 模板策划(结构对齐 clicker/merge-designer,按 tycoon schema 改字段约束)
|
||
stage: "04-config"
|
||
owner: WS2
|
||
file: 04-config/tycoon-designer.md
|
||
desc: agent 闭环 tycoon 模板策划:创意一句话→GameDesign 三段(designIntent/expectedPlaySeconds/config;config 受 contracts/templates/tycoon.schema.json 约束)
|
||
eval: eval/config.tycoon-designer/ # 新建 Golden 目录(首版无种子,随批回流)
|
||
# —— P3 生成主线编码 prompt(W-G1,2026-06-14;范式=编码出 bundle 源码,非策划出 GameConfig)——
|
||
# 【三态·段B处置】generic-coder = fossil·STUB(PromptResourceLoader 只为 isReady/schema 加载它、不喂 LLM;
|
||
# generic 任务实走外置 cheap-worker 的 cheap-system.md)→ 段 B SKIP 豁免。
|
||
- id: config.generic-coder
|
||
version: 0.0.1 # ⚠️ STUB 占位骨架(04-config/generic-coder.md 仅 frontmatter+三要点提纲,非正式 prompt);L1 出正式草案时整体替换并升版,两处 version 同步
|
||
stage: "04-config"
|
||
owner: WS2
|
||
file: 04-config/generic-coder.md
|
||
desc: P3 编码 prompt(创意一句话→GameHostFactory 源码→esbuild 打 __GameBundle bundle;非策划出 GameConfig)。【当前为 STUB 占位骨架·L1 出正式草案替换】
|
||
eval: eval/config.generic-coder/ # 新建 Golden eval 目录(首版无种子,随 bake-off 批回流)
|
||
# 【三态·段B处置】quality.adversary-review 与 fix.design-revise = batch-relic(无 live 代码消费方,仅
|
||
# 已删的 agent-loop v1 evalflow.py 批跑过)→ 段 B SKIP 豁免(有金标集也不跑真模型,见头部对账总表)。
|
||
- id: quality.adversary-review
|
||
version: 1.1.2 # v1.1.2:细则①追加 merge 域示例(P0/P1 口径文字仍未动)
|
||
stage: "06-quality"
|
||
owner: WS2
|
||
file: 06-quality/adversary-review.md
|
||
desc: agent 闭环对抗策划:GameDesign→findings[](P0/P1/P2 口径写死;只批不改、不下结论、不可见试玩数据)
|
||
eval: eval/quality.adversary-review/ # 每批 evalflow.py 强制回流;批末稳定性重测一致率素材
|
||
- id: fix.design-revise
|
||
version: 1.0.1 # v1.0.1:+template_schema 注入段/:48 括注中性化
|
||
stage: "07-fix"
|
||
owner: WS2
|
||
file: 07-fix/design-revise.md
|
||
desc: agent 闭环 fix 变体:原 GameDesign+findings(P1) 回灌重出(只修指出项,未指出字段原样保留;回炉额度合计 1 轮)
|
||
eval: eval/fix.design-revise/ # 每批 evalflow.py 强制回流;fix 前后对照跨目录按 rootDesignId 关联(§16 D2-a)
|
||
# ── tier2 富游戏自治生成线 prompt(09-tier2-richgame;range=tier2/gen-worker/worker/roles.py)─────────────
|
||
# 【三态·段B处置】以下 8 条 tier2 = live(roles.py 经 prompts.load 运行时读),但 eval 字段待建、当前无金标集
|
||
# → 段 B 真模型闸对它们 fail-closed 报「金标缺失」(绝不假绿;补金标后即真跑,见头部对账总表)。
|
||
# 范式:AgentScope 2.0.2 ReAct 两阶段角色(阶段 1 工作室多 agent 设计 / 阶段 2 单写 ReAct + L3 软检玩家),
|
||
# 【非】cheap-line 的策划/编码出 GameConfig|bundle 范式。与 Tier0/1 既有条目(01-safety~07-fix)完全隔离、互不影响。
|
||
# 消费方 = roles.py 经 worker/prompts.py 运行时读本段 file 指向的正文;读不到/脏 → 回落 roles.py 内置原文(best-effort,绝不中断生成)。
|
||
# 首版正文 = roles.py 内置原文逐字节对齐(带参的存 {{input.*}} 模板),故默认行为字节不变;调一条 prompt = 改对应 .md 正文升 version 重跑。
|
||
# 注:eval 字段暂留待建(图说 B 族明示 tier2 eval/灰度门当前不存在,配置改动只「下次生效+轨迹留痕」两层保护,非设计缺陷)。
|
||
- id: tier2.design-system
|
||
version: 1.0.0
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/design-system.md
|
||
desc: 阶段 1 单 design agent 兜底(题面→富游戏设计稿七要点;design_team 失败时 degrade 回落用)
|
||
- id: tier2.design-systems-designer
|
||
version: 1.1.0 # v1.1.0:策划知识包 v2——加第 5 条策划判据(可判定句式;不给平衡数值)
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/design-systems-designer.md
|
||
desc: 阶段 1 工作室专家·系统设计师(核心循环/多系统拆解/耦合点/可观测语义 state)
|
||
- id: tier2.design-economy-designer
|
||
version: 1.1.0 # v1.1.0:策划知识包 v2——加第 5 条策划判据(可判定句式;不给平衡数值)
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/design-economy-designer.md
|
||
desc: 阶段 1 工作室专家·经济数值设计师(数据表/经济流转/胜负条件含失败态/难度曲线)
|
||
- id: tier2.design-level-designer
|
||
version: 1.1.0 # v1.1.0:策划知识包 v2——加第 5 条策划判据(可判定句式;不给平衡数值)
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/design-level-designer.md
|
||
desc: 阶段 1 工作室专家·玩法关卡设计师(玩法节奏/关卡阶段编排/操作手感/失败-重试体验)
|
||
- id: tier2.design-presentation-designer
|
||
version: 1.1.0 # v1.1.0:策划知识包 v2——加第 5 条策划判据(可判定句式;不给平衡数值)
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/design-presentation-designer.md
|
||
desc: 阶段 1 工作室专家·表现层与可玩性设计师(Phaser scene 树/UI-HUD 布局与命中映射/进展反馈/可玩性)
|
||
- id: tier2.design-leader-system
|
||
version: 1.0.0
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/design-leader-system.md
|
||
desc: 阶段 1 工作室 leader(拆题面→调四专家工具→汇总成连贯设计稿;带参 input.brief)
|
||
- id: tier2.writer-system
|
||
version: 1.0.0
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/writer-system.md
|
||
desc: 阶段 2 单写 agent system 固定前缀(任务/九工具/工作纪律铁律/典型循环节奏;题面+品类靶+设计稿三块由 roles.py 按入参条件追加)
|
||
- id: tier2.player-system
|
||
version: 1.1.0 # v1.1.0:打磨不降档——fun=5 须记忆点、fun≥4 才 pass(scoreOnly 软检,纯评语口径、零行为影响)
|
||
stage: "09-tier2-richgame"
|
||
owner: WS2
|
||
file: 09-tier2-richgame/player-system.md
|
||
desc: L3 视觉软检玩家 agent(看截图+语义 state 判富游戏体验;只评分绝不当门;带参 input.persona)
|
||
# ── cheap-worker 便宜档 A-model 生成线 prompt(04-config;range=cheap-worker/cheap_roles.py)──────────
|
||
# 【三态·段B处置】config.cheap-system = live(cheap_roles.py 运行时读,便宜档生成主力面),但无 eval 金标集
|
||
# → 段 B 真模型闸 fail-closed 报「金标缺失」(补金标后即真跑,见头部对账总表)。
|
||
# 消费方 = cheap_roles.py 经 _load_system_prompt() 运行时读本段 file 指向的正文;
|
||
# 读不到/脏/缺文件 → 回落 cheap_roles._SYSTEM_PROMPT(best-effort,绝不中断生成)。
|
||
# 首版正文 = _SYSTEM_PROMPT 内置原文逐字节对齐(含 ⟦G⟧/⟦SCAFFOLD_DESC⟧ 占位符),默认行为字节不变;
|
||
# 调一条 prompt = 改 04-config/cheap-system.md 正文 + 升 version,下次生成自动生效。
|
||
- id: config.cheap-system
|
||
version: 1.6.1 # v1.6.1:起局鲁棒性 + targets 键契约进红线——①起局/交互按钮命中矩形必须在状态进入点 onEnter 确定性建立、render 只画(治并发 rAF 饥饿下卡 menu)②点目标玩法 state 键名固定 `targets`(驱动器契约 C5 依赖,改名=盲驱动器选错族=H 门挂)。v1.6.0:打磨不降档(创始人 07-04 定调「档位切 scope 不切 polish」)——删 spike「能跑能玩即可」残留、hitstop 出禁项改结算标配、设计块强制落盘+finish 前收尾自查、新增 ⑩ 难度曲线、⑨ 经营决策模式指针。v1.5.0:策划知识包 v2——⑨ 否决项加判定句式+内嵌正反例;8/9 条计数口径统一;prompt.mjs 冻结为 A/B 史料(不再双源同改)。v1.4.0:W-GENRE 品类路由并集(剧情+6/TRPG+7/非遗+8/解谜+9)
|
||
stage: "04-config"
|
||
owner: WS2
|
||
file: 04-config/cheap-system.md
|
||
desc: 便宜档 LittleJS A-model 生成 agent system prompt(轻量 AI 参与档,入口契约+插件+红线+输入契约+完成判据;运行时热取,回落 cheap_roles._SYSTEM_PROMPT)
|
||
# 其余 prompt 待各工位 Day-0 抽取迁入(Dify 节点/OpenGame 内嵌 prompt → 本 Registry)
|