From 168bfb3017045f7e6a9d52190e8608ee8a4e059c Mon Sep 17 00:00:00 2001 From: xiamuceer Date: Wed, 22 Apr 2026 14:28:59 +0800 Subject: [PATCH] =?UTF-8?q?update:=20=E6=9B=B4=E6=96=B0=E8=81=8C=E4=B8=9A?= =?UTF-8?q?=E4=BD=93=E7=B3=BB=E7=94=9F=E6=88=90/=E7=AB=A0=E8=8A=82?= =?UTF-8?q?=E5=86=85=E5=AE=B9=E5=88=86=E6=9E=90=E6=8F=90=E7=A4=BA=E8=AF=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/services/prompt_service.py | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/backend/app/services/prompt_service.py b/backend/app/services/prompt_service.py index 4a04d63..fdf9f09 100644 --- a/backend/app/services/prompt_service.py +++ b/backend/app/services/prompt_service.py @@ -1355,6 +1355,10 @@ class PromptService: ✅ 存活状态谨慎:survival_status仅当章节有明确死亡/失踪/退场描写时填写,默认null ✅ 组织覆灭谨慎:is_destroyed仅当组织被彻底消灭时设true,组织受损不算覆灭 ✅ 【伏笔ID追踪】回收伏笔时,必须从【已埋入伏笔列表】中查找匹配的ID填入 reference_foreshadow_id +✅ 【suggestions严格格式】suggestions 必须是“字符串数组”,每个元素都必须是纯字符串 +✅ suggestions 的正确格式示例:"suggestions": ["【节奏问题】...", "【描写不足】..."] +✅ suggestions 中禁止返回对象、字典、键值对或嵌套结构,例如禁止 {{"suggestion": "..."}}、{{"content": "..."}} +✅ 如果没有改进建议,必须返回空数组 [],不要返回 null,不要省略字段 【评分约束 - 严格执行】 ✅ 严格按评分标准打分,支持小数(如6.5、7.2、8.3) @@ -1366,6 +1370,7 @@ class PromptService: - overall 6.0-8.0 → 1-2条建议 - overall≥8.0 → 0-1条建议 ✅ 每条建议必须标注问题类型(如【节奏问题】【描写不足】等) +✅ 每条建议必须直接输出完整文本,不能包裹为对象字段 【禁止事项】 ❌ keyword使用概括或改写的文字 @@ -1376,6 +1381,8 @@ class PromptService: ❌ 无确切剧情依据地标记角色死亡或组织覆灭 ❌ 所有章节都打7-8分的"安全分" ❌ 高分章节给大量建议,或低分章节不给建议 +❌ suggestions 返回 {{"suggestion": "建议内容"}} 这类对象数组 +❌ suggestions 返回带编号对象、content对象、explanation对象等任何非字符串元素 """ # 大纲单批次展开提示词 V2(RTCO框架) @@ -2293,8 +2300,8 @@ class PromptService: 职业体系必须与项目简介中的故事背景和角色设定高度契合。 【数量要求】 -- 主职业:精确生成3个 -- 副职业:精确生成2个 +- 主职业:精确生成1个 +- 副职业:精确生成1个 @@ -2314,16 +2321,14 @@ class PromptService: 【设计要求】 -**1. 主职业(main_careers)- 必须精确生成3个** +**1. 主职业(main_careers)- 必须精确生成1个** - 主职业是角色的核心发展方向 - 必须严格符合世界观规则和简介中的故事背景 -- 3个主职业应该覆盖不同的发展路线(如:战斗型、智慧型、特殊型) - 每个主职业的阶段数量可以不同(体现职业复杂度差异) - 职业设计要能支撑简介中描述的故事情节 -**2. 副职业(sub_careers)- 必须精确生成2个** +**2. 副职业(sub_careers)- 必须精确生成1个** - 副职业包含生产、辅助、特殊技能类 -- 2个副职业应该具有互补性,丰富角色的多样性 - 每个副职业的阶段数量可以不同 - 不要让所有副职业都是相同的阶段数 - 副职业要能为主职业提供辅助或增益 @@ -2381,9 +2386,8 @@ class PromptService: 【必须遵守】 -✅ 主职业数量:必须精确生成3个,不多不少 -✅ 副职业数量:必须精确生成2个,不多不少 -✅ 不同职业的max_stage必须不同 +✅ 主职业数量:必须精确生成1个,不多不少 +✅ 副职业数量:必须精确生成1个,不多不少 ✅ 主职业阶段数建议:8-12个 ✅ 副职业阶段数建议:5-8个 ✅ stages数组长度必须等于max_stage @@ -2391,8 +2395,6 @@ class PromptService: ✅ 职业设计必须支撑项目简介中的故事情节 【禁止事项】 -❌ 生成超过3个主职业或少于3个主职业 -❌ 生成超过2个副职业或少于2个副职业 ❌ 所有职业使用相同的阶段数 ❌ 输出markdown标记 ❌ 职业设计与世界观或简介脱节