From 76e0723613a164fcdeb164a5de5f8e5e70fdc2de Mon Sep 17 00:00:00 2001 From: baiqing Date: Tue, 12 May 2026 17:32:54 +0800 Subject: [PATCH] =?UTF-8?q?fix(polish):=20Structured=20prompt=20=E5=8A=A0?= =?UTF-8?q?=E5=BC=BA=E5=8F=8D"=E9=99=8D=E7=BA=A7=E5=88=B0=E8=BD=BB?= =?UTF-8?q?=E5=BA=A6=E6=B6=A6=E8=89=B2"=20+=20=E7=BB=84=E5=90=88=E9=9C=80?= =?UTF-8?q?=E6=B1=82=E5=BD=92=E7=B1=BB=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 用户报 DeepSeek V4 Flash 走 Structured 模式时仍只做轻度润色(标点 + 断句 + 去口癖然后输出一段连贯段落),没有按双层 list 结构化输出。模型能力较 弱时容易把"清晰结构"理解成"清楚地表达"而非"双层归类"。 加两条新规则到 Structured task block: 1. **不可降级到轻度润色** —— 明确禁止只补标点然后输出连贯段落,最低 输出形态是双层 list。即使原文听起来连贯,事项 ≥3 都必须双层化。 2. **多个组合需求处理规则** —— 用户原话:"当用户提出多个组合需求时, 要分别归入不同大类,并且按照顺序把这些组合需求做结构化整理"。 写进规则:按语义/领域分大类,按口述顺序排,每个大类用 (a)(b)(c) 子项,不允许合并丢失或重排到错误大类。 加在原有 # 任务(清晰结构) 标题之后、"**重要前提**"之前。前后顺序与 其他段落兼容,不动 ROLE_BLOCK / COMMON_RULES / OUTPUT / 示例。 --- openless-all/app/src-tauri/src/polish.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/openless-all/app/src-tauri/src/polish.rs b/openless-all/app/src-tauri/src/polish.rs index a3ccdc20..535bb1d3 100644 --- a/openless-all/app/src-tauri/src/polish.rs +++ b/openless-all/app/src-tauri/src/polish.rs @@ -1936,6 +1936,15 @@ pub mod prompts { 把口述整理为脉络清晰、可直接复制走的结构化文本:保留用户的口语引子(润色后作为首行过渡),\ 主动按语义把扁平事项归类成 2\u{2013}4 个主题,用双层格式呈现,尾巴查询用自然收尾句。\n\ \n\ + **不可降级到轻度润色**:本任务的最低输出形态是双层 list 结构,\u{4E0D}允许只补标点 / 断句 / 去口癖然后输出连贯段落。\ + 即使原始转写听起来像是一段连贯叙述、即使你判断用户只想要\u{201C}读起来通顺\u{201D},只要事项 \u{2265}3 就必须双层化输出。\ + 输出连贯段落 = 失败。\n\ + \n\ + **多个组合需求处理规则**:当用户在一段话里提出多个组合需求(A 要做这件 + B 要做那件 + C 要查另一件),\ + 必须把它们**分别归入不同大类**(大类按用户给出的语义 / 领域划分,例如代码 / 文档 / 界面 / 客户 / 团队),\ + **按用户口述出现的顺序**作为大类的先后顺序,每个大类下用 (a)(b)(c) 列出该类的具体事项。\ + 组合需求中\u{4E0D}可有任何事项被合并掉、丢失或重排到错误的大类下。\n\ + \n\ **重要前提**:原文是否已有标点、编号、换行、序号 \u{2192} \u{4E0D}是\u{201C}\u{5DF2}\u{7ECF}\u{6574}\u{7406}\u{597D}\u{4E0D}\u{7528}\u{6539}\u{201D}的判断依据。\ 只要可识别的事项 \u{2265}3 条,无论原文是不是看起来已有结构(标号、分行、规整的标点),\ 都必须按语义重新归类成下面定义的双层格式。\u{200D}\u{200D}照抄原结构 = 失败。\n\