From a0868c0ba8df22f0119dcde1ea9039b5e21b8954 Mon Sep 17 00:00:00 2001 From: hub-gif <2487812171@qq.com> Date: Wed, 22 Apr 2026 15:35:06 +0800 Subject: [PATCH] =?UTF-8?q?docs(planning):=20=E7=AD=96=E7=95=A5=E4=B8=8E?= =?UTF-8?q?=E8=90=A5=E9=94=80=E5=AF=B9=E9=BD=90=E6=96=87=E6=A1=A3=E5=8F=8A?= =?UTF-8?q?=E7=AC=AC=E4=B9=9D=E7=AB=A0=E9=BB=98=E8=AE=A4=E5=BC=83=E7=94=A8?= =?UTF-8?q?=E5=8F=A3=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新 alignment、策略框架确定、LLM 快照说明与示例稿核对步骤;营销以独立策略稿为主、报告第九章长文非默认。 Made-with: Cursor --- .../市场策略稿-示例-基于brief-schema样例.md | 2 +- .../strategy-marketing-content-alignment.md | 64 +++++++++---------- docs/planning/策略生成-LLM全量输入快照.md | 4 +- docs/planning/策略生成-框架确定.md | 26 ++++---- 4 files changed, 47 insertions(+), 49 deletions(-) diff --git a/docs/demo/市场策略稿-示例-基于brief-schema样例.md b/docs/demo/市场策略稿-示例-基于brief-schema样例.md index e26dd19..e19d301 100644 --- a/docs/demo/市场策略稿-示例-基于brief-schema样例.md +++ b/docs/demo/市场策略稿-示例-基于brief-schema样例.md @@ -188,7 +188,7 @@ ## 十、下一步与节奏 1. 选定真实品牌与 SKU,替换本稿占位表述。 -2. 用同一 `run_dir` 跑通简报 → 报告 → 策略稿,核对第九章节选与 `report_strategy_excerpt` 一致。 +2. 用同一 `run_dir` 跑通简报 → 报告 → 策略稿,核对策略稿数字与 brief、矩阵细类节选一致(默认产线下 `report_strategy_excerpt` 多为空,见规划 `strategy-marketing-content-alignment.md` §2)。 3. 将对标表与价位带图固化进评审材料(内部)。 --- diff --git a/docs/planning/strategy-marketing-content-alignment.md b/docs/planning/strategy-marketing-content-alignment.md index f0672c8..f4c2424 100644 --- a/docs/planning/strategy-marketing-content-alignment.md +++ b/docs/planning/strategy-marketing-content-alignment.md @@ -1,17 +1,18 @@ # 规划留痕:市场策略稿 · 营销内容 · 与竞品报告对齐 **成稿日期**:2026-04-17 -**目的**:将「策略稿与报告第九章同源、不编造」与「营销内容面向受众痛点与兴趣、仍对齐报告、不编造」落成可执行路线,供产品/研发后续查阅与迭代。 +**目的**:划分**报告 / 策略 / 营销**三层职责:报告与简报管监测与论证;**可执行策略**以**独立策略稿(策略制定)**交付,与同任务 `brief`、报告第五~八章矩阵/评论侧归纳等**同源、不编造**;**营销内容只把已定稿的策略叙事翻成可对外触点文案**,不在营销管线里二次灌入报告原文。 **关联代码(现状)**: | 能力 | 位置 | |------|------| | 规则策略底稿 | `pipeline/reporting/strategy_draft.py` → `build_strategy_draft_markdown` | -| 策略稿 LLM 润色 | `pipeline/llm/generate_strategy.py` → `generate_strategy_draft_markdown_llm`(payload 含 `report_strategy_excerpt`) | -| 第九章节选加载(S1) | `pipeline/reporting/report_strategy_excerpt.py` → `load_report_strategy_excerpt` | -| 报告第九章策略归纳 | `generate_strategy_opportunities_llm`(与 `competitor_brief` + 各章节选对齐) | +| 策略稿 LLM 润色 | `pipeline/llm/generate_strategy.py` → `generate_strategy_draft_markdown_llm`(payload 可选含 `report_strategy_excerpt`,**默认多为空**) | +| 报告「九、策略与机会提示」节选加载(遗留/兼容) | `pipeline/reporting/report_strategy_excerpt.py` → `load_report_strategy_excerpt` | +| 报告内第九章大模型长文(**默认关闭**) | `generate_strategy_opportunities_llm`;runner 默认 `llm_strategy_opportunities: false`,正文第九章为固定读者说明(见 `jd_report._strategy_opportunities_reader_fixed_lines`) | | 策略稿 API / 导出 | `pipeline/views/job_report_views.py` → `JobStrategyDraftView` | -| 简报与压缩 | `pipeline/reporting/brief_compact.py` | +| 营销内容生成(核心信息卡 + 多触点文案) | `pipeline/llm/generate_marketing_detail.py`、`JobMarketingDetailPackView` | +| 简报与压缩 | `pipeline/reporting/brief_compact.py`(**策略/报告链路**;非营销管线默认输入) | | Markdown→Word/PDF | `pipeline/reporting/md_document_export.py` | --- @@ -20,54 +21,48 @@ | 维度 | 要求 | |------|------| -| **事实源** | 仅允许来自:同任务 `build_competitor_brief` 产物、已落盘的 `competitor_analysis.md` 中与策略相关的既定小节、各章 LLM 节选 JSON、`strategy_hints`、第九章策略相关落盘(如 `strategy_opportunities_llm.json`)。 | +| **事实源** | 仅允许来自:同任务 `build_competitor_brief` 产物、已落盘的 `competitor_analysis.md` 中与策略论证相关的既定小节、各章 LLM 节选 JSON、`strategy_hints`、按细类收窄时的 **`report_matrix_group_evidence_md`**(与报告第五~八章同源)。**不再**把「报告第九章大模型长文」当作默认事实源;历史任务若存在 `strategy_opportunities_llm.json.markdown` 可按加载规则视为可选补充。 | | **策略稿** | 以规则底稿为骨架;**先**通过「策略范围与前提」与规划文档「启动前」对齐**针对什么做策略**;LLM 仅做可读性润色与衔接,**不得新增** brief/底稿中不存在的数字、品牌、销量、价格。全文还须遵守 `STRATEGY_DATA_RULES` 段首「**全局禁止编造**」(用户引语、活动规则、无依据的落地结果等)。 | -| **报告第九章** | 继续遵守 `STRATEGY_OPPORTUNITIES_SYSTEM`(`generate_strategy.py`)中的硬性条款:brief 优先、与 `prior_chapter_llm_narratives` 不矛盾、假设性表述等。 | -| **营销内容** | 视为**表达层**:不新增事实;把同一批证据改写成面向某类受众的叙事;可核验结论须能指回 brief 或报告节选。 | +| **报告内「第九章」** | **默认产线**:竞品报告在「九、策略与机会提示」下**不**再附加全任务大模型策略长文,仅为短引导(指向「策略制定」按细类生成)。若调试或历史配置显式开启 `llm_strategy_opportunities` 并落盘正文,仍须遵守 `STRATEGY_OPPORTUNITIES_SYSTEM`(`generate_strategy.py`)中的硬性条款。 | +| **营销内容** | **仅表达层**:输入为**已定稿策略稿 Markdown + 表单决策 + 业务备注**(及后续可选受众/渠道等),**不新增事实**。**不默认**并入 `compact_brief`、报告第八/九章节选或其它报告正文。与监测数据的一致性由**策略稿所消费的 brief / 矩阵节选 / 表单**先收束;若营销稿与业务认知不符,应修订策略输入,而非在营销接口再拼报告正文。 | --- -## 2. 策略稿:与报告内「策略建议」对齐(阶段 S1)— **已落地** +## 2. 策略稿:与宿主报告及数据同源(阶段 S1,**已修订口径**) -**目标**:独立下载的策略稿与宿主报告第九章**方向一致**,避免与已发布报告矛盾。 +**目标**:独立下载的策略稿与同任务**简报与报告中的监测结论**一致(计数、价带、矩阵细类、第五~八章归纳等),**不编造**;**不再**以「必须与报告内第九章大模型段落方向一致」作为默认验收口径。 **实现要点(与代码一致)**: -1. **`load_report_strategy_excerpt(run_dir)`**:优先读 `strategy_opportunities_llm.json` 的 **`markdown`**(runner 在第九章大模型成功时写入);否则从 **`competitor_analysis.md`** 截取 `## 九、策略与机会提示` 至 `## 附录` 之前。 -2. **`STRATEGY_SYSTEM`**:当 `report_strategy_excerpt` 非空时,润色稿须与节选**战略方向一致**;若 `business_notes` / `strategy_decisions` 与节选冲突,须标注「与报告第九章策略归纳不一致之处见业务备注」类表述。节选为空时不得编造第九章结论。 -3. **API**:`POST /api/jobs/{id}/strategy-draft/` 响应增加 `report_strategy_excerpt_source`、`report_strategy_excerpt_chars`(`generator=rules` 时亦返回,便于核对是否加载到节选)。 +1. **`load_report_strategy_excerpt(run_dir)`**(兼容字段):若 `strategy_opportunities_llm.json` 含非空 **`markdown`**(通常仅历史任务或显式开启 LLM 第九章时),则载入;若仅有空壳 JSON,**不再**回退截取 `competitor_analysis.md`,避免把第九章固定读者说明误当策略正文。否则再尝试从 `competitor_analysis.md` 截取 `## 九、策略与机会提示` 至 `## 附录` 之前。 +2. **`STRATEGY_SYSTEM`**:当 `report_strategy_excerpt` **非空**时,润色稿须与该节选**不明显矛盾**;若与 `business_notes` / `strategy_decisions` 冲突,须在成稿中交代依据(如业务备注优先)。**默认**节选为空:成稿以 `structured_brief` + `report_matrix_group_evidence_md` + 底稿与表单为准,**不得**编造「报告第九章已写明的」具体结论。 +3. **API**:`POST /api/jobs/{id}/strategy-draft/` 仍返回 `report_strategy_excerpt_source`、`report_strategy_excerpt_chars`(`generator=rules` 时亦返回),便于核对当前任务是否仍存在遗留节选。 4. 产品侧:`generator: rules | llm` 仍为既有行为;规则版作审计底稿。 -**验收**:抽样任务核对「第九章要点 ↔ 策略稿 bullet」可对应;数字仅来自 brief/底稿。 +**验收**:抽样任务核对策略稿数字与 brief、矩阵节选可对读;**不再**要求「第九章要点 ↔ 策略稿 bullet」一一对应(默认无第九章长文)。 --- -## 3. 营销内容:受众痛点与兴趣,仍对齐报告(阶段 S2~S3) +## 3. 营销内容:仅生成营销稿(阶段 S2~S3) -**定位**:新建管线(建议 `pipeline/reporting/marketing_content.py` + `pipeline/llm/generate_marketing.py`),与策略、报告**共用同一 brief**,并强制附带「依据」块。 +**边界(产品定论)** -**输入(约束)** +- **只做一件事**:把**策略已定稿的叙事**转成**可上架/可多触点使用的文案**(核心信息卡、商详与列表侧、主图要点、短视频钩句、客服首句、依据与边界等)。 +- **输入**:`strategy_markdown`、`strategy_decisions`、`business_notes`(与现网 `JobMarketingDetailPackView` 一致);后续可增**可选** `audience_segment`、`channels` 等,**仍不得**作为新事实来源。 +- **刻意不做**:在营销请求里**默认拼接** `compact_brief`、报告 `competitor_analysis.md` 第八/九章节选或其它报告正文——避免「半篇报告 + 半篇卖点」的混杂产出;策略稿已承载与数据同源的叙事时,营销层信任该输入。 -- `compact_brief_for_llm(brief)`(或可溯源子集); -- **必选** `report_excerpts`:至少含 **第九章策略相关段落** + **第八章评论/文本挖掘摘要中的一小段**(从已生成 md 或 JSON 截取,设长度上限); -- **必选** `audience_profile`:如 `{ "segment": "...", "pain_points_hint": "可选业务补充" }` —— 仅作叙述角度,**不作为新事实来源**; -- **可选** `channels`:如朋友圈短文案、详情页卖点结构、投放标题等,控制输出形态。 +**提示词硬性约束(与实现对齐)** -**提示词硬性约束** - -- 禁止出现 brief / `report_excerpts` 未出现的品牌名、价格、销量、功效承诺; -- 痛点与兴趣须表述为「基于监测摘要已出现的主题/评价方向」的转述; -- 建议结构:**依据摘要**(可溯源) + **受众表达** + **不可用/待核实**(输入未体现的,列明不得对外宣称)。 +- 事实、数字、功效、引语**仅可**来自策略稿与表单/备注中已出现内容;食品/健康等合规禁区同策略侧原则。 +- 输出中保留 **依据与边界** 类字段,提醒对外宣称限度(**相对策略承诺**,非相对整份 PDF 报告再摘一层)。 **输出与留痕** -- 建议落盘 `run_dir/marketing/marketing_pack.md`(或等价路径); -- 任务侧记录 artifact(文件名、时间、输入摘要 hash),便于追溯。 +- 现网:`run_dir/marketing/marketing_detail_pack_v1.json`;可下载 / Word / PDF 由前端与 `export-document` 支持。第二步 JSON 含 **文生图**(主图 + 场景备选)与 **文生视频**(短视频)**可复制提示词**字段,供外接 AIGC 工具使用(见 `generate_marketing_detail.py`)。 -**API 示意** +**与旧稿差异说明** -- `POST /api/jobs/{id}/generate-marketing/` -- Body:`audience_segment`、`channels[]`、`business_notes`(可选)。 +- 本文件早期版本曾设想营销与 brief/报告节选**强绑定**;经产品收敛,**以本节边界为准**,不再将「必选 report_excerpts」作为默认架构。 --- @@ -75,9 +70,9 @@ | 阶段 | 内容 | 产出 | |------|------|------| -| **S1** | 策略稿 payload 增加 `report_strategy_excerpt`,收紧 `STRATEGY_SYSTEM` | ✅ 已合并:`report_strategy_excerpt.py`、runner 落盘 `markdown`、OpenAPI 响应字段 | -| **S2** | 营销模块 v1:单模板 + 强约束提示词 + 落盘 + 复用 Word/PDF 导出 | 可演示的营销初稿 | -| **S3** | 前端:任务页入口、受众与渠道、生成历史 | 产品闭环 | +| **S1** | 策略稿 payload 含可选 `report_strategy_excerpt`;与宿主数据同源以 brief + 矩阵节选为主;第九章长文默认弃用 | ✅ 已合并:`report_strategy_excerpt.py`(含空壳 json 不回退)、API 响应字段;默认节选为空 | +| **S2** | 营销模块 v1:策略驱动两步 LLM + 落盘 + Word/PDF;**不**默认并入报告节选 | ✅ 方向与现网 `generate_marketing_detail` 一致,细节以代码为准 | +| **S3** | 前端:策略预览入口、可选受众/渠道、载入上次生成等 | 产品闭环(按需排期) | | **S4**(可选) | 轻量校验:输出中数字与 brief 同源性启发式检查 | 降低明显幻觉 | --- @@ -95,5 +90,6 @@ |------|------| | 2026-04-17 | 首版:对齐原则、S1~S4、代码锚点、API 示意。 | | 2026-04-18 | S1 落地:`load_report_strategy_excerpt`、`STRATEGY_SYSTEM` 对齐条款、`strategy_opportunities_llm.json.markdown`、策略稿 API 响应字段。 | +| 2026-04-22 | 收敛营销边界(§3);**修订 S1**:默认产线弃用报告内第九章大模型长文,策略稿与数据对齐以 **brief + 第五~八章节选** 为主,`report_strategy_excerpt` 为遗留/空默认;更新 §1、§2、§4、能力表。 | 后续变更请在本表追加一行,并在正文相应章节修改。 diff --git a/docs/planning/策略生成-LLM全量输入快照.md b/docs/planning/策略生成-LLM全量输入快照.md index 16b1234..3388532 100644 --- a/docs/planning/策略生成-LLM全量输入快照.md +++ b/docs/planning/策略生成-LLM全量输入快照.md @@ -2,6 +2,8 @@ > **生成方式**:本机 `pipeline.demos.dump_strategy_llm_input_md` 按与 `generate_strategy_draft_markdown_llm` 相同的 payload 组装逻辑导出。 > **与线上一致性**:与真实接口相比,表单字段此处均为空默认;你只要把当时提交的 `strategy_decisions` / `business_notes` 代入即与线上等价。 +> +> **口径(2026-04)**:默认产线已弃用报告内第九章大模型长文,新任务 `report_strategy_excerpt` 多为空。下文为某次历史导出的**全文留档**,元数据与内嵌 System 片段中若仍出现「第九章」主对齐表述,以 `strategy-marketing-content-alignment.md`、`策略生成-框架确定.md` 现行版为准。 ## 快照元数据 @@ -10,7 +12,7 @@ - **run_dir**:`D:\PythonProject\Low GI\market_assistant\data\JD\pipeline_runs\20260413_104252_低GI` - **矩阵分组**:0 → 「饼干」 - **本任务可选细类(节选)**:['饼干', '西式糕点', '中式糕点', '面点', '干菜类', '米', '风味挂面', '其他杂粮', '冲饮谷物', '药食同源', '酸辣粉', '妈妈专区', '挂面', '混合麦片', '特色米粉/米线'] -- **第九章节选来源**:json_markdown,约 2930 字符 +- **report_strategy_excerpt(本快照)**:json_markdown,约 2930 字符(历史批次;非默认产线形态) - **细类报告节选来源**:competitor_analysis_md,约 2682 字符 - **System 字符数**:6927 - **User 消息字符数**:22226 diff --git a/docs/planning/策略生成-框架确定.md b/docs/planning/策略生成-框架确定.md index 6c96aea..625b593 100644 --- a/docs/planning/策略生成-框架确定.md +++ b/docs/planning/策略生成-框架确定.md @@ -1,6 +1,6 @@ # 策略生成 · 框架确定 -**版本**:2026-04-23(修订:增加「策略范围与前提」与启动前选项) +**版本**:2026-04-22(修订:与 alignment 同步——默认产线弃用报告第九章长文;§3~§5、需求对照表已更新) **目的**:在继续迭代「填表 → 规则底稿 / LLM 成稿 → 导出」之前,把**结构、输入输出、与报告的关系**定死;并明确——**策略成稿不是市场说明书,而是针对用户痛点写清「做什么、怎么做」**。 --- @@ -35,13 +35,13 @@ ## 1. 我们说的「策略生成」指什么 -在本仓库里,**策略生成**特指:**独立市场策略稿**(Markdown),由任务数据 + 业务表单驱动,**不是**竞品报告全文,也**不是**报告里第九章那一小段嵌入块。 +在本仓库里,**策略生成**特指:**独立市场策略稿**(Markdown),由任务数据 + 业务表单驱动,**不是**竞品报告全文。**可执行策略**以本产品交付为准;竞品报告内原「第九章」大模型长文在**默认产线已弃用**(见 `runner` 默认配置与 `strategy-marketing-content-alignment.md` §2)。 | 产物 | 形态 | 主要用途 | |------|------|----------| | **独立策略稿** | **策略范围与前提** → 摘要 → 一至十 → 附录 | 业务讨论、对外删减版、与表单决策对齐 | -| **报告 · 第九章** | 仅 `####` 小节,嵌在「九、策略与机会」下 | 与第五~八章同源、假设性归纳 | -| **营销内容**(规划) | 另管线,共用 brief | 表达层,见 alignment 文档 S2 | +| **报告 ·「九、策略与机会提示」** | 默认仅短引导(指向「策略制定」);历史或调试开启 LLM 时可能含 `####` 块 | **不再**作为默认策略交付;与第五~八章数据仍同源(brief) | +| **营销内容**(规划) | 另管线;默认仅策略稿 + 表单(不默认灌 brief/报告节选) | 表达层;与监测结论一致经策略稿输入收束;见 `strategy-marketing-content-alignment.md` §3 | 框架确定**只锁定第一行**:独立策略稿。 @@ -141,7 +141,7 @@ |----|------|------| | **A. 数据层** | `build_competitor_brief` 的 JSON | 同任务 `run_dir` CSV + `effective_report_config.json`,与报告**同一套计数** | | **B. 决策层** | `strategy_decisions` | 前端策略表单:战场一句话、定位四选一、竞争倾向、四柱、营销/总体策略、风险勾选等 | -| **C. 对齐层(可选)** | `report_strategy_excerpt` | `load_report_strategy_excerpt`:优先 `strategy_opportunities_llm.json` 的 `markdown`,否则从 `competitor_analysis.md` 第九章截取 | +| **C. 对齐层(可选 · 遗留)** | `report_strategy_excerpt` | `load_report_strategy_excerpt`:**默认多为空**(第九章长文已弃用);仅当 json 含历史 `markdown` 或 md 中仍有旧块时非空。主对齐靠 **A + 矩阵细类节选**(`report_matrix_group_evidence_md`) | LLM 路径下:**A** 经 `compact_brief_for_llm` 压缩进 payload;**B** 原样进入;**C** 截断后进入。 **规则路径**无 LLM,仅 **A+B** 写入骨架,**C** 不参与(但 API 仍返回节选元数据便于核对)。 @@ -153,15 +153,15 @@ LLM 路径下:**A** 经 `compact_brief_for_llm` 压缩进 payload;**B** 原 | 模式 | 输出 | 最低验收 | |------|------|----------| | `generator=rules` | 带占位符的 Markdown | 章节齐全;含 **§2.1 针对痛点要怎么做** 表头;**无 §3.2**;数字仅来自 brief 摘录;与 `chapter8_text_mining_probe` 时无关注词条形图口径冲突 | -| `generator=llm` | 可读成稿 | 章节与骨架一致;**全书**遵守 `STRATEGY_DATA_RULES` 段首「全局禁止编造」(数字、品牌名、用户引语、活动规则、落地结果等);已填表单项落实为执行句;节选非空时与第九章方向不矛盾;**全书**能体现「痛点→动作→怎么做」(含摘要、一、三~十);**禁止**仅复述市场描述而无 actionable 句 | +| `generator=llm` | 可读成稿 | 章节与骨架一致;**全书**遵守 `STRATEGY_DATA_RULES` 段首「全局禁止编造」(数字、品牌名、用户引语、活动规则、落地结果等);已填表单项落实为执行句;**若** `report_strategy_excerpt` 非空则不与该节选明显矛盾;**全书**能体现「痛点→动作→怎么做」(含摘要、一、三~十);**禁止**仅复述市场描述而无 actionable 句 | --- -## 5. 与「报告第九章」的边界(防混) +## 5. 与竞品报告正文的边界(防混) -- **第九章**:短、假设性、`####` 标题,服务**已读报告的人**。 -- **独立策略稿**:长结构、服务**要单独拿策略讨论/对外节选的人**。 -- 二者数据同源(brief),**不要求**策略稿复述「第九章原文」,只要求**方向与数字不打架**(见 `STRATEGY_DATA_RULES`)。 +- **默认产线**:报告在「九、策略与机会提示」下**不**再附全任务大模型策略长文;**独立策略稿**是**可执行策略**的主交付。 +- **数据同源**:策略稿与报告仍共用同任务 **brief** 与第五~八章归纳(含矩阵细类节选),数字与口径须一致,**禁止编造**(见 `STRATEGY_DATA_RULES`)。 +- **遗留节选**:`report_strategy_excerpt` 仅兼容历史或显式开启 LLM 第九章的任务;**验收不再依赖**「报告第九章段落 ↔ 策略稿」逐段对齐。 --- @@ -179,11 +179,11 @@ LLM 路径下:**A** 经 `compact_brief_for_llm` 压缩进 payload;**B** 原 | 全文禁止编造(各节、各表) | `STRATEGY_DATA_RULES` 段首「全局禁止编造」;`STRATEGY_SYSTEM`「落实范围」;用户消息前缀自检句 | | 摘要~八与 §2.1「类目/细类」列一致、防「全站」泛化 | `STRATEGY_DATA_RULES`「与 §2.1 类目列一致」;`STRATEGY_SYSTEM`「全书与 §2.1 类目列对齐」;底稿各节 *成稿须…* | | §2 表「痛点简述」可溯源、禁编造用户引语 | `STRATEGY_DATA_RULES` §2 表条款 | -| 报告第九章策略归纳不编造 | `STRATEGY_OPPORTUNITIES_SYSTEM` 引用同一 `STRATEGY_DATA_RULES` + `####` 块说明 | +| 若显式开启报告内第九章 LLM,归纳不编造 | `STRATEGY_OPPORTUNITIES_SYSTEM` 引用同一 `STRATEGY_DATA_RULES` + `####` 块说明(**非默认产线**) | | §三 不设转化障碍小节(免与 §二 重复) | 底稿无 §3.2;`STRATEGY_SYSTEM` §三 | | 口感按细类:酥脆 vs 松软分线,禁止一词盖全站 | `STRATEGY_SYSTEM` **口感/质地与细类** | | 促销:满减/满折/券/跨店,不编造门槛、不全节留空 | `STRATEGY_SYSTEM` **促销**;底稿 §八.3 | -| 报告第九章仍用 `generate_strategy_opportunities_llm`,runner 正文拼装不改 | 代码现状;本文件 §5 | +| 默认 runner:`llm_strategy_opportunities` 为 false;第九章为固定读者说明 | `jd_report._strategy_opportunities_reader_fixed_lines`、`runner` 默认 `report_config` | | 人工可读示例(低 GI) | `docs/demo/市场策略稿-示例-20260413_104252_低GI.md`(含 §2.1;策略稿目录 §8.x 为「战术支柱」促销等,勿与竞品报告第八章节号混淆) | **另行立项(本文件不承诺已编码)**:营销内容管线 S2/S3(见 `strategy-marketing-content-alignment.md`)、仅摘要模板、表单新字段、输出数字同源性自动校验 S4。 @@ -196,7 +196,7 @@ LLM 路径下:**A** 经 `compact_brief_for_llm` 压缩进 payload;**B** 原 - 是否增加「仅摘要 / 仅战术章」等**变体模板**; - 是否在表单增加字段(如新里程碑); -- 营销内容 S2 与策略稿的**强制依赖顺序**(建议:策略稿稳定后再接营销)。 +- 营销内容管线与策略稿的**强制依赖顺序**(建议:策略稿稳定后再接营销;与竞品报告一致不依赖在营销侧拼报告节选)。 ---