提示:AI 结果必须带引用;若证据不足会提示“未找到可靠证据”。
提示词资产化系统增强方案(v1.1)
文档日期:2026-02-17
适用系统:提示词资产化系统(已上线版本)
约束延续:所有存储访问必须经cloud-data-proxy,禁止直连数据库。
1. 背景与问题
当前系统已具备“资产录入、结构拆解、模板/变量、渲染导出、评估发布”等基础能力,但在“可编辑的结构抽象”和“面向使用者的可理解性”上仍有明显缺口:
- 使用者不知道哪些内容是固定公用、哪些可以替换。
- 变量虽然存在,但模板结构与变量绑定关系不够直观。
- 缺少“示例输入 -> 预期输出”的教学与验证面板,用户不容易判断模板质量与适用边界。
- 宽屏场景下的编辑效率与信息密度仍可提升。
- 已保存资产缺少系统内编辑入口,导致小改动也要新建资产,管理成本高。
2. 目标与收益
2.1 目标
- 支持用户显式标记提示词结构块:
公用固定、可替换变量、混合模板。 - 支持填写变量后“一键生成 + 一键复制”最终提示词。
- 支持为每个模板维护“示例 + 预期效果”,用于教学、验收与质量基线。
- 构建从“结构设计 -> 变量配置 -> 示例验证 -> 复制使用”的完整闭环。
- 支持对已保存资产进行修改、保存与审计追踪,避免重复新建。
2.2 预期收益
- 模板复用率提升,减少重复编写。
- 新用户上手时间降低。
- 输出一致性增强,降低提示词质量波动。
- 评审与发布有更可解释的依据。
3. 术语定义
结构块(Block):提示词中的语义分段(角色/目标/约束/输出格式等)。公用固定(STATIC):不可替换,面向同场景复用。可替换变量(VARIABLE):完全由变量填充值决定。混合模板(MIXED):固定文本 + 变量占位符组合。示例(Example):一组输入变量、渲染结果、预期输出与质量说明。
4. 范围定义
4.1 本期范围(In Scope)
- 模板结构编辑器(块级模式配置)。
- 变量管理增强(类型、必填、默认值、校验)。
- 渲染预览与复制增强。
- 示例与预期效果模块。
- 对应后端 API、持久化模型、前端交互与测试。
- 已保存资产编辑能力(内容、标签、类型、状态等)与审计留痕。
4.2 非本期范围(Out of Scope)
- 自动 AI 拆分建议(可作为后续 v1.2)。
- 模型在线评测回路(本期先支持人工预期输出与评分基线)。
- 多租户权限系统重构。
v1.2 对应文档:
/Users/Zhuanz/work-space/hot-docs/content/docs/reference/prompt-asset-system-v1.2-ai-assisted-parsing-solution.md/Users/Zhuanz/work-space/hot-docs/content/docs/reference/prompt-asset-system-v1.2-executable-development-plan.md/Users/Zhuanz/work-space/hot-docs/content/docs/reference/prompt-asset-system-v1.2-development-tracker.md
5. 用户角色与核心场景
- 模板设计者:配置结构块、变量和示例。
- 模板使用者:输入变量、查看渲染结果、复制使用。
- 审核者:查看示例与预期效果,判断是否可发布。
核心场景:
- 设计者把原始提示词拆成结构块,并标注每块模式。
- 设计者定义变量规则(必填、默认、枚举、校验)。
- 设计者录入 1~N 条示例,形成“预期效果库”。
- 使用者在实例页填变量,实时渲染并复制。
- 审核者基于示例对照和评分结果做发布决策。
- 设计者在资产详情页修改已保存资产并即时生效到后续结构拆分与模板流程。
6. 功能需求(FR)
| ID | 功能点 | 说明 | 优先级 | 验收标准 |
|---|---|---|---|---|
| FR-101 | 结构块模式配置 | 每个结构块可设为 STATIC/VARIABLE/MIXED | P0 | 可保存并查询块模式 |
| FR-102 | 变量绑定管理 | VARIABLE/MIXED 块可绑定变量定义 | P0 | 变量引用一致性校验通过 |
| FR-103 | 变量规则校验 | 必填、默认值、枚举、正则、长度校验 | P0 | 渲染前校验可阻断非法输入 |
| FR-104 | 渲染预览 | 根据变量生成最终提示词预览 | P0 | 预览与保存模板规则一致 |
| FR-105 | 一键复制 | 支持复制纯文本与 Markdown 两种格式 | P0 | 复制结果与预览一致 |
| FR-106 | 示例管理 | 模板可维护多条示例(输入/预期输出) | P1 | 示例支持增删改查 |
| FR-107 | 预期效果展示 | 显示示例渲染结果与预期输出对照 | P1 | 页面可清晰对照差异 |
| FR-108 | 反例标注 | 示例支持“正例/反例”标签 | P1 | 可用于评审说明 |
| FR-109 | 审计留痕 | 结构/变量/示例变更写审计事件 | P1 | 可按 request_id 回溯 |
| FR-110 | 宽屏编辑优化 | 宽屏下支持高密度双栏编辑体验 | P1 | 1920 宽下核心区域无明显浪费 |
| FR-111 | 已保存资产编辑 | 支持修改已保存资产并即时保存 | P0 | 资产可编辑并生成审计记录 |
7. 数据模型设计(逻辑字段)
7.1 模板结构块表 prompt_template_blocks
| 字段 | 类型建议 | 必填 | 说明 |
|---|---|---|---|
| id | varchar(64) | 是 | 主键 |
| template_id | varchar(64) | 是 | 关联模板 |
| block_key | varchar(64) | 是 | 结构键(如 role/goal/output_schema) |
| block_title | varchar(128) | 是 | 显示名 |
| block_order | int | 是 | 排序 |
| mode | varchar(16) | 是 | STATIC/VARIABLE/MIXED |
| content_template | longtext | 否 | 块模板内容(MIXED 支持占位符) |
| variable_name | varchar(64) | 否 | VARIABLE 模式下变量名 |
| required | tinyint | 是 | 块是否必填 |
| status | varchar(16) | 是 | active/archived |
| created_at | varchar(64) | 是 | 创建时间 |
| updated_at | varchar(64) | 是 | 更新时间 |
7.2 模板变量表 prompt_template_variables_v2
| 字段 | 类型建议 | 必填 | 说明 |
|---|---|---|---|
| id | varchar(64) | 是 | 主键 |
| template_id | varchar(64) | 是 | 关联模板 |
| var_name | varchar(64) | 是 | 变量名(占位符名) |
| display_name | varchar(128) | 是 | 显示名 |
| data_type | varchar(32) | 是 | string/number/enum/boolean/text |
| required | tinyint | 是 | 是否必填 |
| default_value | text | 否 | 默认值 |
| enum_options_json | text | 否 | 枚举值数组 |
| validation_regex | text | 否 | 正则校验 |
| min_len | int | 否 | 最小长度 |
| max_len | int | 否 | 最大长度 |
| help_text | text | 否 | 输入说明 |
| sort_order | int | 是 | 排序 |
| created_at | varchar(64) | 是 | 创建时间 |
| updated_at | varchar(64) | 是 | 更新时间 |
7.3 模板示例表 prompt_template_examples
| 字段 | 类型建议 | 必填 | 说明 |
|---|---|---|---|
| id | varchar(64) | 是 | 主键 |
| template_id | varchar(64) | 是 | 关联模板 |
| name | varchar(128) | 是 | 示例名 |
| scenario | varchar(128) | 否 | 场景标签 |
| input_vars_json | longtext | 是 | 输入变量样例 |
| rendered_prompt | longtext | 是 | 样例渲染结果 |
| expected_output | longtext | 是 | 预期输出示例 |
| quality_notes | longtext | 否 | 质量标准说明 |
| example_type | varchar(16) | 是 | good/bad |
| status | varchar(16) | 是 | active/archived |
| created_at | varchar(64) | 是 | 创建时间 |
| updated_at | varchar(64) | 是 | 更新时间 |
7.4 资产主表增强 prompt_assets(增量字段)
| 字段 | 类型建议 | 必填 | 说明 |
|---|---|---|---|
| version | int | 是 | 乐观锁版本号,编辑成功后 +1 |
| last_editor | varchar(128) | 否 | 最近编辑人 |
| update_reason | varchar(256) | 否 | 本次修改说明 |
| updated_at | varchar(64) | 是 | 最近更新时间 |
8. API 契约(新增/增强)
统一前缀:
/api/v1
统一响应:保留request_id与标准错误结构。
8.1 结构块
GET /templates/{id}/blocksPUT /templates/{id}/blocks(批量覆盖保存)
PUT 请求示例:
{
"items": [
{
"block_key": "role",
"block_title": "角色",
"block_order": 1,
"mode": "STATIC",
"content_template": "你是一名资深提示词工程师",
"required": true
},
{
"block_key": "goal",
"block_title": "目标",
"block_order": 2,
"mode": "VARIABLE",
"variable_name": "task_goal",
"required": true
},
{
"block_key": "output_schema",
"block_title": "输出格式",
"block_order": 3,
"mode": "MIXED",
"content_template": "请输出 JSON,字段包含:{{fields}}",
"required": true
}
]
}
8.2 变量
GET /templates/{id}/variablesPUT /templates/{id}/variables(批量保存)
8.3 示例
GET /templates/{id}/examplesPOST /templates/{id}/examplesPATCH /templates/{id}/examples/{example_id}DELETE /templates/{id}/examples/{example_id}(逻辑归档)
8.4 渲染与复制
POST /templates/{id}/render-previewPOST /templates/{id}/copy(返回标准文本,前端执行剪贴板复制)
render-preview 请求示例:
{
"variables": {
"task_goal": "为电商客服设计追问策略",
"fields": "intent, confidence, next_action"
}
}
8.5 资产编辑(已保存资产)
GET /assets/{id}(查询资产详情)PATCH /assets/{id}(修改已保存资产)
PATCH 请求示例:
{
"name": "客服追问策略模板(增强版)",
"asset_type": "generic",
"tags": ["analysis", "客服", "追问"],
"content": "你是一名客服质检专家,请基于对话输出追问策略...",
"status": "active",
"update_reason": "补充输出格式要求",
"version": 7
}
说明:
version用于乐观锁防并发覆盖,版本不一致返回CONFLICT。- 资产编辑成功后需写审计事件,并回写最新版本号。
9. 前端交互方案(事件驱动)
9.1 页面结构
建议新增模板工作台页签:
结构拆分变量定义示例与预期渲染与复制资产编辑
9.2 交互原则
- 所有加载/保存/渲染均由显式事件触发(按钮/提交/切换)。
- 默认不使用
useEffect拉取数据,保持事件驱动模型。 - 宽屏采用双栏布局:左编辑、右预览/示例对照。
- 已保存资产编辑页支持“当前版本信息 + 修改说明 + 保存并刷新”。
9.3 可用性要求
- 结构块拖拽排序或显式上移下移。
- 变量面板实时提示未使用变量/未定义变量。
- 示例列表支持快速插入为当前渲染输入。
10. 校验与错误处理
- VARIABLE 模式必须存在
variable_name且该变量已定义。 - MIXED 模式中的占位符必须全部可解析。
- 渲染前进行必填与格式校验,不通过则返回
BAD_REQUEST。 - 复制动作若渲染失败则阻断并提示具体变量错误。
- 资产编辑请求必须校验
name/asset_type/content基本合法性。 - 资产编辑时
version必填,版本冲突返回CONFLICT并给出最新版本。
11. 可观测与审计要求
- 关键动作日志字段:
request_id、operator、action、template_id、duration_ms、error_code。 - 结构/变量/示例变更均写入审计事件。
- 失败渲染写入失败链路,便于在观测面板追踪。
- 资产编辑需记录修改前后摘要、
update_reason与版本号变化。
12. 验收标准
12.1 功能验收
- 任意模板可完成结构块模式配置并保存成功。
- 使用变量渲染后可稳定生成最终提示词并复制。
- 每个模板至少支持维护 1 条示例及预期输出。
- 示例可在页面中完成“输入/渲染/预期”对照展示。
- 已保存资产可在详情页修改并保存成功,刷新后可见最新内容。
- 资产并发修改发生版本冲突时,系统可正确阻断并提示重试。
12.2 质量验收
- 渲染输出正确率(按用例)>= 95%。
- 必填变量遗漏可被 100% 拦截。
- 关键交互在宽屏(>=1600)下无明显可用性阻塞。
12.3 架构验收
- 所有新增读写接口均通过
cloud-data-proxy。 - 新增表结构变更通过
/v1/ddl执行并记录change_reason。 - 无业务直连数据库依赖。
13. 开发任务拆解(建议)
| 任务ID | 任务 | 优先级 | 交付物 |
|---|---|---|---|
| E01 | 需求冻结与字段评审 | P0 | 字段字典与接口清单 |
| E02 | DDL 设计与迁移脚本 | P0 | 新增 3 张表 + 索引 |
| E03 | 后端 Blocks API | P0 | GET/PUT /templates/{id}/blocks |
| E04 | 后端 Variables API 增强 | P0 | 批量保存 + 校验规则 |
| E05 | 渲染预览与复制 API 增强 | P0 | render-preview/copy |
| E06 | Examples API | P1 | 示例增删改查 |
| E07 | 前端结构拆分编辑器 | P0 | 块模式配置 UI |
| E08 | 前端变量规则编辑器 | P0 | 变量规则 UI |
| E09 | 前端示例与预期页面 | P1 | 对照展示 UI |
| E10 | 前端宽屏优化 | P1 | 双栏编辑工作台 |
| E11 | 自动化测试补齐 | P0 | 后端/前端成功+失败路径测试 |
| E12 | 文档与上线门禁更新 | P0 | runbook + checklist + tracker |
| E13 | 已保存资产编辑能力 | P0 | 资产详情编辑 API + 页面 + 审计 |
14. 里程碑建议(M6)
M6-W1:E01~E04(数据模型与后端主干)。M6-W2:E05~E09 + E13(前后端联调与资产编辑能力)。M6-W3:E10~E12(宽屏优化、测试、发布门禁)。
15. 风险与应对
- 风险:结构模式复杂导致学习成本上升。
应对:默认模板提供推荐结构与示例引导。 - 风险:变量规则配置不当导致渲染失败率升高。
应对:引入预发布校验与示例回归。 - 风险:示例内容质量不稳定影响评审一致性。
应对:增加“正例/反例”并附质量备注模板。 - 风险:多人同时编辑同一资产导致覆盖写。
应对:引入乐观锁版本号与冲突提示机制。
16. 决策建议
- 该增强应作为下一阶段
P0项推进。 - 建议先实现“结构块 + 变量 + 渲染复制”,再叠加“示例与预期”。
- “已保存资产编辑”应与核心 CRUD 一并纳入
P0,避免重复建资产带来的治理成本。 - 该方案与现有架构兼容,可在不推翻现有系统的前提下逐步落地。
17. 模板工作台使用案例(书法海报关键词替换)
17.1 原始提示词
纯白背景,“{关键词}”,苍劲有力的毛笔书法风格,真实笔触质感,字体笔画包含{关键词}地标建筑,著名景点完美结合填充,极繁主义,颜色鲜艳,3D效果,红色结印印章点缀。
该提示词中,关键词 是可替换部分,其余内容为固定公用部分。
17.2 在模板工作台中的配置方式
1) 结构拆分(Blocks)
建议配置为 6 个结构块:
{
"items": [
{
"block_key": "bg",
"block_title": "背景",
"block_order": 1,
"mode": "STATIC",
"content_template": "纯白背景,",
"required": true
},
{
"block_key": "keyword_title",
"block_title": "关键词标题",
"block_order": 2,
"mode": "MIXED",
"content_template": "“{{keyword}}”,",
"required": true
},
{
"block_key": "style",
"block_title": "书法风格",
"block_order": 3,
"mode": "STATIC",
"content_template": "苍劲有力的毛笔书法风格,真实笔触质感,",
"required": true
},
{
"block_key": "landmark_fill",
"block_title": "地标融合",
"block_order": 4,
"mode": "MIXED",
"content_template": "字体笔画包含{{keyword}}地标建筑,著名景点完美结合填充,",
"required": true
},
{
"block_key": "visual",
"block_title": "视觉效果",
"block_order": 5,
"mode": "STATIC",
"content_template": "极繁主义,颜色鲜艳,3D效果,",
"required": true
},
{
"block_key": "seal",
"block_title": "印章点缀",
"block_order": 6,
"mode": "STATIC",
"content_template": "红色结印印章点缀。",
"required": true
}
]
}
2) 变量定义(Variables)
只需要定义一个变量 keyword:
{
"items": [
{
"var_name": "keyword",
"display_name": "关键词",
"data_type": "string",
"required": true,
"min_len": 1,
"max_len": 12,
"help_text": "例如:杭州、西安、上海、黄山",
"sort_order": 1
}
]
}
3) 示例与预期(Examples)
建议至少维护 2 条示例(1 条正例 + 1 条反例):
正例:
{
"name": "城市地标正例-杭州",
"scenario": "文生图-地标书法海报",
"input_vars": {
"keyword": "杭州"
},
"rendered_prompt": "纯白背景,“杭州”,苍劲有力的毛笔书法风格,真实笔触质感,字体笔画包含杭州地标建筑,著名景点完美结合填充,极繁主义,颜色鲜艳,3D效果,红色结印印章点缀。",
"expected_output": "画面主体为“杭州”书法字形;笔画中可辨识地标元素(如西湖相关景点轮廓);整体高饱和、3D 质感、附红色印章。",
"quality_notes": "关键词清晰可读,地标融合自然,不出现背景杂色。",
"example_type": "good"
}
反例:
{
"name": "缺失关键词反例",
"scenario": "变量校验",
"input_vars": {},
"rendered_prompt": "",
"expected_output": "系统应阻断渲染并提示 missing required variable: keyword",
"quality_notes": "用于验证必填变量拦截能力。",
"example_type": "bad"
}
17.3 使用者实际操作路径
- 进入
模板工作台 -> 结构拆分,保存上述 6 个块。 - 切换到
变量定义,保存keyword规则。 - 在
示例与预期录入“杭州正例”和“缺失关键词反例”。 - 切换到
渲染与复制,输入keyword=西安后点击“渲染预览”。 - 预览无误后点击“复制”,得到可直接复用的最终提示词文本。
17.4 渲染结果示例(keyword=西安)
纯白背景,“西安”,苍劲有力的毛笔书法风格,真实笔触质感,字体笔画包含西安地标建筑,著名景点完美结合填充,极繁主义,颜色鲜艳,3D效果,红色结印印章点缀。