# Prompt 管理中心 后台入口为“系统工具 → Prompt 中心”,用于在不重新发布应用的情况下管理 AI Prompt。 ## 能力 - 模板管理:以稳定的 `promptCode` 和生成类型标识业务 Prompt。 - 版本管理:System Prompt 与 User Prompt 模板均进入不可变版本,支持发布、退役和回滚,并保存 SHA-256 指纹。 - 模型配置:每个版本独立绑定 Provider 和 Model;调试时也可以临时选择可用网关与模型。 - 在线调试:草稿、已发布和已退役版本均可测试,记录输入、输出、模型、耗时、成功状态和人工评分。 - A/B 测试:同一模板下选择两个不可变版本,用相同输入运行对比,统计成功次数、平均耗时与人工评分。 ## 初始化 V1 首次启用后,在 Prompt 中心点击“初始化 V1”。系统会把每个生成类型各自的业务 Prompt 写成 `V1` 并立即发布,包括对应任务、输出格式和业务约束的 System Prompt、Builder 合约、`{{input}}` User Prompt 模板和模型网关配置。 初始化是幂等的:处理完全没有版本的模板;早期由系统生成且内容同质化的唯一 V1 会被安全修复。已有人工草稿、后续版本或实验版本的模板都会跳过,不覆盖后台维护内容。 ## 数据库升级 按顺序执行: 1. `sql/factory_prompt_registry.sql` 2. 如果 Prompt 表已在旧版本创建,执行 `sql/factory_prompt_user_template_upgrade.sql` 3. `sql/factory_prompt_lab.sql` 4. `sql/prompt_registry_menu.sql` 然后将 `factory.prompt-registry.database-enabled`(环境变量 `FACTORY_PROMPT_REGISTRY_DATABASE_ENABLED`)设为 `true`,数据库中的已发布版本才会替代内置 Prompt。关闭时仍使用应用内置资源版本作为安全后备。 ## 结构化上下文契约 前台 AI 生成入口只向 Prompt Registry 传递 JSON 动态上下文。角色设定、输出格式、字段约束、禁止项和纠错规则均由 Prompt 中心的 System Prompt 与 User Prompt 模板控制,User Prompt 模板必须保留 `{{input}}`。 当前可执行契约使用 `context-json::v1`。升级前发布的 `legacy-builder:*` 版本依赖 Java 内置规则,系统会将其视为过期版本并安全回退到资源模板;需要在 Prompt 中心基于新的 JSON 契约创建并发布新版本,才能重新由数据库版本接管。 ## 权限 - `generator:prompt:list/query/add/edit` - `generator:prompt:version/publish/rollback` - `generator:prompt:debug` - `generator:prompt:experiment` 在线调试会真实调用模型并产生费用,也会保存测试输入和输出;生产环境应仅授予可信管理员,并避免输入密钥、个人信息等敏感数据。