market-assistant/docs/planning/strategy-marketing-content-alignment.md
hub-gif 31e8482442 feat(marketing): 扩展营销内容条数与中长文案(仍禁止编造)
第二步提高标题/卖点/FAQ 等上限;新增详情中段叙事、食用搭配、短图文变体、直播要点提纲;提示词强调更丰富≠编造;normalize 与导出、策略预览 JSON 分区同步;alignment 留痕更新。

Made-with: Cursor
2026-04-22 15:56:30 +08:00

96 lines
8.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 规划留痕:市场策略稿 · 营销内容 · 与竞品报告对齐
**成稿日期**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`**默认多为空** |
| 报告「九、策略与机会提示」节选加载(遗留/兼容) | `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/llm/generate_marketing_detail.py``JobMarketingDetailPackView` |
| 简报与压缩 | `pipeline/reporting/brief_compact.py`**策略/报告链路**;非营销管线默认输入) |
| Markdown→Word/PDF | `pipeline/reporting/md_document_export.py` |
---
## 1. 原则(事实源与禁止项)
| 维度 | 要求 |
|------|------|
| **事实源** | 仅允许来自:同任务 `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` 段首「**全局禁止编造**」(用户引语、活动规则、无依据的落地结果等)。 |
| **报告内「第九章」** | **默认产线**:竞品报告在「九、策略与机会提示」下**不**再附加全任务大模型策略长文,仅为短引导(指向「策略制定」按细类生成)。若调试或历史配置显式开启 `llm_strategy_opportunities` 并落盘正文,仍须遵守 `STRATEGY_OPPORTUNITIES_SYSTEM``generate_strategy.py`)中的硬性条款。 |
| **营销内容** | **仅表达层**:输入为**已定稿策略稿 Markdown + 表单决策 + 业务备注**(及后续可选受众/渠道等),**不新增事实**。**不默认**并入 `compact_brief`、报告第八/九章节选或其它报告正文。与监测数据的一致性由**策略稿所消费的 brief / 矩阵节选 / 表单**先收束;若营销稿与业务认知不符,应修订策略输入,而非在营销接口再拼报告正文。 |
---
## 2. 策略稿:与宿主报告及数据同源(阶段 S1**已修订口径**
**目标**:独立下载的策略稿与同任务**简报与报告中的监测结论**一致(计数、价带、矩阵细类、第五~八章归纳等),**不编造****不再**以「必须与报告内第九章大模型段落方向一致」作为默认验收口径。
**实现要点(与代码一致)**
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` 仍为既有行为;规则版作审计底稿。
**验收**:抽样任务核对策略稿数字与 brief、矩阵节选可对读**不再**要求「第九章要点 ↔ 策略稿 bullet」一一对应默认无第九章长文
---
## 3. 营销内容:仅生成营销稿(阶段 S2S3
**边界(产品定论)**
- **只做一件事**:把**策略已定稿的叙事**转成**可上架/可多触点使用的文案**(核心信息卡、商详与列表侧、主图要点、短视频钩句、客服首句、依据与边界等)。
- **输入**`strategy_markdown``strategy_decisions``business_notes`(与现网 `JobMarketingDetailPackView` 一致);后续可增**可选** `audience_segment``channels` 等,**仍不得**作为新事实来源。
- **刻意不做**:在营销请求里**默认拼接** `compact_brief`、报告 `competitor_analysis.md` 第八/九章节选或其它报告正文——避免「半篇报告 + 半篇卖点」的混杂产出;策略稿已承载与数据同源的叙事时,营销层信任该输入。
**提示词硬性约束(与实现对齐)**
- 事实、数字、功效、引语**仅可**来自策略稿与表单/备注中已出现内容;食品/健康等合规禁区同策略侧原则。
- 输出中保留 **依据与边界** 类字段,提醒对外宣称限度(**相对策略承诺**,非相对整份 PDF 报告再摘一层)。
**输出与留痕**
- 现网:`run_dir/marketing/marketing_detail_pack_v1.json`;可下载 / Word / PDF 由前端与 `export-document` 支持。第二步 JSON 在**不编造**前提下偏**丰富**:更多标题/卖点/FAQ、详情中段叙事、食用搭配、短图文变体、直播要点提纲以及 **文生图/文生视频** 可复制提示词(见 `generate_marketing_detail.py`)。
**与旧稿差异说明**
- 本文件早期版本曾设想营销与 brief/报告节选**强绑定**;经产品收敛,**以本节边界为准**,不再将「必选 report_excerpts」作为默认架构。
---
## 4. 实施顺序
| 阶段 | 内容 | 产出 |
|------|------|------|
| **S1** | 策略稿 payload 含可选 `report_strategy_excerpt`;与宿主数据同源以 brief + 矩阵节选为主;第九章长文默认弃用 | ✅ 已合并:`report_strategy_excerpt.py`(含空壳 json 不回退、API 响应字段;默认节选为空 |
| **S2** | 营销模块 v1策略驱动两步 LLM + 落盘 + Word/PDF**不**默认并入报告节选 | ✅ 方向与现网 `generate_marketing_detail` 一致,细节以代码为准 |
| **S3** | 前端:策略预览入口、可选受众/渠道、载入上次生成等 | 产品闭环(按需排期) |
| **S4**(可选) | 轻量校验:输出中数字与 brief 同源性启发式检查 | 降低明显幻觉 |
---
## 5. 风险与边界
- LLM 无法 100% 杜绝编造,**规则底稿 + brief + 人工抽检**仍为默认。
- 营销内容需保留「不替代合规/法务审核」类免责声明(可与报告附录表述一致)。
---
## 6. 修订记录
| 日期 | 说明 |
|------|------|
| 2026-04-17 | 首版对齐原则、S1S4、代码锚点、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、能力表。 |
后续变更请在本表追加一行,并在正文相应章节修改。