From c3d47bb3aa07ea9d80350b338576297df78cfe0a Mon Sep 17 00:00:00 2001 From: empty Date: Thu, 8 Jan 2026 12:07:19 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=AE=9E=E7=8E=B0=E7=BB=93=E6=9E=84?= =?UTF-8?q?=E5=8C=96=E6=80=9D=E7=BB=B4=E9=93=BE=E6=B3=A8=E5=85=A5=20(Struc?= =?UTF-8?q?tured=20CoT=20Injection)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - paradigms.js: 为民主生活会添加专业级 System Prompt - 结构公式:定性判断 + 具体表现 + 后果分析 - 关键词库:学用脱节、好人主义、本领恐慌等 - 五维度法:思想、政治、作风、能力、纪律 - 大纲预填充:选择范式后自动生成五个带头框架 - promptBuilder.js: 新增 buildSystemPrompt() 支持范式专用 Prompt - deepseek.js: generateContent 支持传入 paradigm 参数 - appStore.js: 传递 activeParadigm 到 API 层 --- src/api/deepseek.js | 8 +- src/config/paradigms.js | 147 ++++++++++++++++++++++++++++++++----- src/stores/app.js | 20 +++-- src/utils/promptBuilder.js | 23 ++++++ 4 files changed, 170 insertions(+), 28 deletions(-) diff --git a/src/api/deepseek.js b/src/api/deepseek.js index 15ead04..92c75f4 100644 --- a/src/api/deepseek.js +++ b/src/api/deepseek.js @@ -1,4 +1,4 @@ -import { GHOSTWRITER_SYSTEM_PROMPT } from '../utils/promptBuilder.js' +import { GHOSTWRITER_SYSTEM_PROMPT, buildSystemPrompt } from '../utils/promptBuilder.js' class DeepSeekAPI { constructor(config) { @@ -89,11 +89,13 @@ class DeepSeekAPI { } async generateContent(prompt, onContent, options = {}) { - // 使用 Ghostwriter Protocol 系统提示词 + // 构建系统提示词(支持范式专用 Prompt) + const systemPrompt = buildSystemPrompt(options.paradigm) + return this._streamRequest([ { role: 'system', - content: GHOSTWRITER_SYSTEM_PROMPT + content: systemPrompt }, { role: 'user', diff --git a/src/config/paradigms.js b/src/config/paradigms.js index a2c4acd..6836a9a 100644 --- a/src/config/paradigms.js +++ b/src/config/paradigms.js @@ -23,39 +23,146 @@ export const PARADIGMS = { // 专家指令(映射图片中的5点要求) expertGuidelines: [ { - title: '结构典范,逻辑严密', - description: '严格遵循"问题-原因-措施"三段式经典结构,各部分环环相扣,从表象到根源再到行动,形成完整、清晰、有力的论证闭环。', - checkKey: 'structure' + title: '递进式论述结构', + description: '每个问题必须采用 [定性判断] + [具体表现] + [后果/例证分析] 的三段递进结构,不可省略任何一环。', + checkKey: 'progressive_structure', + validationRule: '检查是否包含"导致"、"造成"、"使得"等后果连接词' }, { title: '画像精准,个性鲜明', - description: '问题查摆真正做到了"个人对照",紧密结合分管领域和日常工作,避免了空泛化和"集体病"表述,精准勾勒出个人的思想动态与行为短板。', - checkKey: 'personalization' + description: '问题查摆真正做到了"个人对照",紧密结合分管领域和日常工作,避免了空泛化和"集体病"表述。', + checkKey: 'personalization', + validationRule: '检查是否包含具体的岗位、职责、事件描述' }, { - title: '剖析深刻,直击根本', - description: '原因剖析没有停留在表面,而是从思想、政治、作风、能力、纪律五个维度深挖根源,触及世界观、人生观、价值观这个"总开关"。', - checkKey: 'depth' + title: '党内常用表述嵌入', + description: '自然嵌入"学用脱节"、"上接天线、下接地气"、"好人主义"、"本领恐慌"等党内高频术语。', + checkKey: 'party_terminology', + validationRule: '检查关键词含码率,低于阈值则提示"辣味不足"' }, { - title: '措施务实,路径清晰', - description: '整改措施方向明确、内容具体,部分条款设计了量化指标(如学习篇目、调研天数),并与前文问题严格对应,具备较强的可操作性、可考核性。', - checkKey: 'actionable' + title: '五维度因果溯源', + description: '原因剖析必须覆盖思想、政治、作风、能力、纪律五个维度,形成与问题的因果闭环。', + checkKey: 'five_dimensions', + validationRule: '检查是否包含全部5个维度的剖析' }, { - title: '语言规范,分寸得体', - description: '用语严谨、准确、恳切。在自我批评时,善用"有差距"、"仍需加强"、"有待提升"等谦抑性、建设性表述;在剖析整改时,则使用"持续用力"、"筑牢"、"压实"等坚定有力的词语。', - checkKey: 'language' + title: '语气分寸得体', + description: '批评用语谦抑(有待/不够/有所),整改用语坚定(持续用力/筑牢/压实)。', + checkKey: 'tone_control', + validationRule: '检查程度副词和坚定动词的使用比例' } ], - // System Prompt 约束(注入到 AI 生成指令中) + // 专用 System Prompt(结构化思维链注入) + specializedPrompt: `# Role +你是一名资深的党建材料笔杆子,正在撰写一份高质量的"民主生活会个人对照检查材料"。 + +# Global Goal +全方位、立体化地进行"政治画像"与"能力体检",实现共性要求与个人个性的统一。 + +# Section 1: 存在的主要问题 (The Problems) +## 构思立意 +严格依据"五个带头"要求,每个"带头"领域提炼 2-3 个核心问题。 +## 写作技巧与规范 +1. **结构公式**:必须严格采用 [定性判断] + [具体表现] + [后果/例证分析] 的递进结构。 + - 错误示例:"我学习不够。" + - 正确示例:"理论学习的深度不够(定性)。往往满足于读通报、看标题,缺乏系统钻研(表现)。导致在指导具体工作时,出现'本领恐慌',难以用新理论解决新问题(后果)。" +2. **关键词库**:请自然地嵌入以下术语 —— "学用脱节"、"上接天线、下接地气"、"好人主义"、"本领恐慌"、"红脸出汗"、"刀刃向内"。 +3. **语气控制**:多用"有待"、"不够"、"有所"等程度副词,保持批评的建设性。 + +# Section 2: 产生问题的原因剖析 (The Roots) +## 构思立意 +从"现象描述"跨越到"本质探究",必须与 Section 1 的问题形成因果对应。 +## 写作技巧与规范 +1. **维度锁定**:必须仅从以下 5 个维度溯源 —— [思想]、[政治]、[作风]、[能力]、[纪律]。 +2. **结构公式**:采用 [根源定位] + [具体阐释] 的归纳写法。 + - 示例:"党性锤炼不够严格(根源定位)。在日常繁忙的事务性工作中,逐渐放松了对世界观、人生观、价值观这个'总开关'的改造...(阐释)" +3. **逻辑一致性**:这里的每一个原因,都必须能解释 Section 1 中提出的问题。 + +# Section 3: 整改措施 (The Solutions) +## 写作技巧与规范 +1. 措施必须与问题一一对应 +2. 包含可量化指标(如:每月精读X篇、每季度调研X次) +3. 使用坚定动词:"持续用力"、"筑牢"、"压实"、"锤炼" + +# Workflow +1. 先列出"五个带头"的 5 个小标题 +2. 逐一填充"存在问题",严格使用结构公式 +3. 另起章节写"原因剖析",使用 5 维度法 +4. 最后写整改措施,确保与问题对应`, + + // 大纲预填充模板 + outlineTemplate: `## 一、存在的主要问题 + +### (一)在带头深刻领悟"两个确立"的决定性意义方面 +- 问题1:[请描述具体表现,AI将自动润色为"定性+表现+后果"结构] +- 问题2: + +### (二)在带头用习近平新时代中国特色社会主义思想凝心铸魂方面 +- 问题1: +- 问题2: + +### (三)在带头自觉对标对表、及时校准偏差方面 +- 问题1: +- 问题2: + +### (四)在带头扛起政治责任、强化政治担当方面 +- 问题1: +- 问题2: + +### (五)在带头落实全面从严治党政治责任方面 +- 问题1: +- 问题2: + +## 二、产生问题的原因剖析 + +1. **思想层面**:[AI将侧重分析世界观、人生观、价值观] +2. **政治层面**:[AI将侧重分析政治站位、政治判断力] +3. **作风层面**:[AI将侧重分析工作作风、群众观念] +4. **能力层面**:[AI将侧重分析业务能力、学习能力] +5. **纪律层面**:[AI将侧重分析规矩意识、廉洁自律] + +## 三、下一步整改措施 + +1. +2. +3. `, + + // 关键词库(用于质检) + keywordLibrary: [ + '学用脱节', '上接天线', '下接地气', '好人主义', '本领恐慌', + '红脸出汗', '刀刃向内', '总开关', '政治站位', '党性锤炼', + '有待提升', '不够深入', '有所松懈', '持续用力', '筑牢', '压实' + ], + + // 质检规则 + validationRules: { + progressiveStructure: { + name: '递进式结构检查', + keywords: ['导致', '造成', '使得', '以至于', '从而'], + threshold: 3, + failMessage: '结构不完整:缺少后果分析环节' + }, + partyTerminology: { + name: '党内术语含码率', + minCount: 5, + failMessage: '"辣味"不足:建议增加党内常用表述' + }, + fiveDimensions: { + name: '五维度覆盖检查', + dimensions: ['思想', '政治', '作风', '能力', '纪律'], + failMessage: '原因剖析维度不完整' + } + }, + + // System Prompt 约束(简化版,用于非专用模式) systemConstraints: [ - '结构严格遵循"问题-原因-措施"三段式闭环,各部分必须环环相扣', - '拒绝"脸谱化",问题查摆必须结合分管领域和具体工作实际', - '剖析必须触及世界观、人生观、价值观这个"总开关"', - '整改措施需包含可量化指标,体现可操作性和可考核性', - '自我批评用语谦抑(有差距/待加强/仍需),整改用语坚定(持续用力/筑牢/压实)' + '结构严格遵循"问题-原因-措施"三段式闭环', + '问题查摆采用"定性判断+具体表现+后果分析"递进结构', + '原因剖析必须覆盖思想、政治、作风、能力、纪律五个维度', + '自然嵌入党内常用术语:学用脱节、好人主义、本领恐慌等', + '批评用语谦抑(有待/不够),整改用语坚定(持续用力/筑牢)' ], // 推荐的 UI 标签 diff --git a/src/stores/app.js b/src/stores/app.js index 2683779..1f4e1ee 100644 --- a/src/stores/app.js +++ b/src/stores/app.js @@ -132,9 +132,13 @@ export const useAppStore = defineStore('app', () => { references.value ) - console.log('Store: 开始 Ghostwriter Protocol 生成流程...') + console.log('Store: 开始 Ghostwriter Protocol 生成流程...', { + hasParadigm: !!activeParadigm.value, + paradigmName: activeParadigm.value?.name + }) // 流式接收并实时解析 XML 结构,同时实时显示内容 + // 传入范式配置以使用专用 System Prompt await api.generateContent(userMessage, (chunk) => { rawStreamBuffer.value += chunk const { section, buffer } = streamParser.process(chunk) @@ -165,7 +169,7 @@ export const useAppStore = defineStore('app', () => { if (!thinkingMatch && !draftMatch && buffer.length > 50) { generatedContent.value = buffer } - }) + }, { paradigm: activeParadigm.value }) // 流式完成后,最终解析确保内容完整 const { thinking, draft, hasStructuredOutput } = streamParser.getResult() @@ -344,8 +348,14 @@ ${draft} activeParadigm.value = paradigm expertGuidelines.value = paradigm.expertGuidelines || [] - // 2. 清空写作任务(等用户填具体内容) - inputTask.value = '' + // 2. 预填充大纲模板(如果有) + if (paradigm.outlineTemplate) { + inputType.value = 'outline' + inputTask.value = paradigm.outlineTemplate + } else { + inputType.value = 'text' + inputTask.value = '' + } // 3. 自动挂载默认参考案例 if (paradigm.defaultReference) { @@ -362,7 +372,7 @@ ${draft} selectedTags.value = [...paradigm.recommendedTags] } - // 5. 注入系统约束到自定义要求 + // 5. 注入系统约束到自定义要求(简化版,完整版在 specializedPrompt) if (paradigm.systemConstraints?.length > 0) { customConstraint.value = paradigm.systemConstraints.join(';') } diff --git a/src/utils/promptBuilder.js b/src/utils/promptBuilder.js index 020fc25..c1b0bec 100644 --- a/src/utils/promptBuilder.js +++ b/src/utils/promptBuilder.js @@ -2,6 +2,29 @@ // Ghostwriter Protocol - Chain of Thought Template // ============================================ +// 构建系统提示词(支持范式专用 Prompt) +export const buildSystemPrompt = (paradigm = null) => { + // 如果有范式专用 Prompt,优先使用 + if (paradigm?.specializedPrompt) { + return `${paradigm.specializedPrompt} + +# Output Format +请严格按照以下 XML 格式输出你的思考过程和最终结果: + + +在此处输出你的构思立意分析和大纲规划。 + + + +在此处输出最终的文章内容。 +注意:仅输出正文,不要包含任何"好的,这是文章"之类的废话。 +` + } + + // 默认使用 Ghostwriter Protocol + return GHOSTWRITER_SYSTEM_PROMPT +} + export const GHOSTWRITER_SYSTEM_PROMPT = `# Role 你是一名世界级的"影子写手"和"文体分析专家"。你的核心能力是完美复刻给定的写作风格,并将其应用于新的主题创作。