mirror of
https://github.com/primedigitaltech/market-assistant.git
synced 2026-07-21 23:41:39 +08:00
feat(strategy): §2.1 表增加类目列并支持分策与待定类
底稿与 STRATEGY_DATA_RULES 明确多细类须分行;不确定可写待业务定类。恢复标题下骨架说明含全局禁止编造。示例与目录模板同步。 Made-with: Cursor
This commit is contained in:
parent
6b33e5ecf3
commit
186ba9bf42
@ -16,7 +16,7 @@ from .llm_client import call_llm, estimate_chat_input_tokens, llm_context_window
|
||||
STRATEGY_DATA_RULES = """**全局禁止编造(适用于输出全文各节、各表、各段;独立策略稿与报告第九章策略归纳**共用**本段,硬性)**:
|
||||
- **事实与数字**:销量、GMV、占比、价带、条数、份额、券面额、满减/满折门槛、到手价、店铺/品牌计数与排名、SKU 数、接口返回量等,**仅可**来自**本次调用输入 JSON** 中已给出的字段(策略稿为 `structured_brief`、`rules_draft_markdown` 内摘录、`report_strategy_excerpt`、`strategy_decisions`、`business_notes`;第九章嵌入为 `competitor_brief`、可选 `prior_chapter_llm_narratives`);**禁止**凭空新增、改口径或写成「已监测证实」而无字段支撑。
|
||||
- **主体与名称**:**禁止**引入上述输入中**未出现**的**具体**品牌名、店铺名、SKU 名、商品标题作为**事实陈述**;若 `strategy_decisions`/备注/brief/节选已含则可写;否则用「头部/同类竞品」等泛称或「待业务指定对标」。
|
||||
- **用户侧表述**:**禁止**虚构评价原文、访谈引语、带引号的「用户说…」;细则见下文「§2 针对痛点要怎么做」表第一列。
|
||||
- **用户侧表述**:**禁止**虚构评价原文、访谈引语、带引号的「用户说…」;细则见下文「§2 针对痛点要怎么做」表**痛点简述**列。
|
||||
- **促销与活动**:**禁止**编造活动名、具体规则、补贴比例;细则见下文促销与第八章探针相关条款。
|
||||
- **策略动作与落地结果**:可写「建议」「假设」「待验证」的动作方向,**不得**编造「已执行」「已上线」「数据显示转化率/复购提升」等**无输入依据**的结果。
|
||||
- **信息不足**:须写「输入未体现」「待核对」「假设:」「待验证:」,**禁止**用确定语气掩盖缺失依据。
|
||||
@ -27,8 +27,9 @@ STRATEGY_DATA_RULES = """**全局禁止编造(适用于输出全文各节、
|
||||
- **必须**把篇幅放在**策略**:§2「针对痛点要怎么做」、后文战术与节奏(**勿**与报告重复统计展开)。
|
||||
|
||||
**数据与口径(硬性,与宿主分析报告同源输入)**:
|
||||
- **§2「针对痛点要怎么做」表(反捏造,硬性)**:
|
||||
- **第一列「用户痛点(简述)」**:**禁止**书写「用户反馈『……』」「评价称『……』」等**带引号的逐字原话**,除非该片段在 `structured_brief`、`strategy_hints`、`report_strategy_excerpt` 或 `business_notes` 中**已出现相同或明显包含**的文本;否则一律**不得**用引号假装引用。
|
||||
- **§2「针对痛点要怎么做」表(反捏造 + 分类目,硬性)**:
|
||||
- **「类目/细类(本决策适用)」列**:须与 `structured_brief` 中类目混排、矩阵分组、§1.2 细类讨论或 `strategy_decisions` 已选战场**可对上**;**禁止**编造未出现的类目名。**多细类并存**(如饼干 vs 面包)时,**必须分行**分策,**禁止**用「全站用户」「整体策略」等**泛化**一句覆盖彼此冲突的动作。**若**类目或主推线尚不确定,该行可写「待业务定类」或「假设:优先××线」,并说明**分类决策依据或待补信息**;仍须避免与数据明显矛盾。
|
||||
- **「用户痛点(简述)」列**:**禁止**书写「用户反馈『……』」「评价称『……』」等**带引号的逐字原话**,除非该片段在 `structured_brief`、`strategy_hints`、`report_strategy_excerpt` 或 `business_notes` 中**已出现相同或明显包含**的文本;否则一律**不得**用引号假装引用。
|
||||
- 若输入仅有主题级信号(关注词、负向归因方向、价差行数等),痛点简述应写**可追溯归纳**,例如「与 brief 中 ×× 字段一致」「与报告第八章/节选已归纳的 ×× 主题一致」「监测摘要见 `strategy_hints` 第 n 条」,或写「**待原评论抽样核实**」——**禁止**把合理推测写成「用户已明确说……」的事实口吻。
|
||||
- **禁止**凭空发明痛点行(如「配料相似」「卖点雷同」「性价比一般」)作为**已监测结论**;此类表述仅当 `structured_brief`、节选或备注中**确有同类主题或措辞**时方可写入,否则不写或标为待验证假设。
|
||||
- **不得编造**销量、GMV、未在 `structured_brief` 与底稿中出现的占比或价格;底稿与摘要中的数字须保持一致。
|
||||
@ -51,7 +52,7 @@ STRATEGY_SYSTEM = f"""你是市场策略顾问,根据**结构化监测摘要**
|
||||
**决策边界(硬性)**:
|
||||
- **业务已在 `strategy_decisions` 中填写的项**(角色、时间、成功标准、战场一句话、定位勾选、竞争倾向、四柱、目标客群/对标/资源备注、**营销策略**与**总体策略**等)视为**已定决策**:成稿须**落实为具体执行句**,**不得**改写成相反结论或再要求用户「请选择」。
|
||||
- **表单中为空或占位(如 *待填*、*骨架占位*)的项**:结合 `structured_brief`、节选与数据摘录**补全为可执行表述**;补全须与数据方向一致。
|
||||
- **成稿阶段避免**:反复「请业务决策」「待确认后再定」;不确定性一句带过即可。
|
||||
- **成稿阶段避免**:反复「请业务决策」「待确认后再定」;**不确定时**须在 §2.1 表中用「类目/细类」列 +「待业务定类」「假设:」**分类**写清,**禁止**只写泛化一句带过。
|
||||
|
||||
**输出结构与阅读顺序(须与 `rules_draft_markdown` 章节一致,勿另起目录)**:
|
||||
**摘要** → **一、顾客是谁**(含人群与路径、细类讨论、本品聚焦)→ **二、产品价值与用户痛点**(**仅 §2.1 针对痛点要怎么做** 表,**勿**再设独立「痛点表/价值对表/负向归因」子节)→ **三、为什么要买「这款产品」**(**仅 §3.1 品类与时机**;**无 §3.2**,转化与价带应对已在 §2 表内则**勿重复**)→ **四、为什么要选「这个品牌」** → **五、与其它品牌有何不同** → **六、阶段目标与路径** → **七、品牌四线**(建设·打造·运营·体验)→ **八、战术支柱**(产品/定价/促销/渠道与传播)→ **九、风险、假设与待验证** → **十、下一步与节奏**(含业务备注)→ **附录**。
|
||||
@ -60,13 +61,13 @@ STRATEGY_SYSTEM = f"""你是市场策略顾问,根据**结构化监测摘要**
|
||||
**语气**:面向业务读者,避免 CR1、心智等内部缩写;**勿在成稿中反复强调「对齐某报告第几章」**,以策略表述为主。
|
||||
|
||||
**策略表述硬性(痛点 → 怎么做,须覆盖全书,不得只写 §2~§8 部分章节)**:
|
||||
- **总原则**:成稿**不是**第二份分析报告,也**不是**市场形势说明书。每条重要内容应能回答:**针对哪条用户痛点**(与 **§2.1** 表对应)、**我们采取什么动作**、**在具体触点怎么做**(商详/主图/短视频/客服/规格/价格呈现等)、**如何验证**(若适用)。
|
||||
- **总原则**:成稿**不是**第二份分析报告,也**不是**市场形势说明书。每条重要内容应能回答:**针对哪条用户痛点、在哪条类目/细类下**(与 **§2.1** 表对应)、**我们采取什么动作**、**在具体触点怎么做**(商详/主图/短视频/客服/规格/价格呈现等)、**如何验证**(若适用)。
|
||||
- **§2.1 针对痛点要怎么做**(若底稿已有表头)须**填写实质内容**;全稿**动作总锚**为 §2.1。若无表,须在 **§二** 或 **§八** 用等价分条写清「痛点—动作—落地—验证」。
|
||||
|
||||
**分节要求(与底稿章节一一对应,勿省略)**:
|
||||
- **摘要**:除范围样本外,**阶段重点**须含 1~2 条**可执行动作**,且能回扣 §2 中的优先痛点(非空泛「加强运营」)。
|
||||
- **一、顾客是谁**:**禁止**重复报告中的细类词频、分品类样本量展开、文本挖掘方法;用 **少量结论句**(谁搜、关心什么)即可,**1.3 本品聚焦**须写清「本期主攻人群/场景」与 **§2.1** 的对应关系。
|
||||
- **二**:**仅 §2.1** 一张表:「用户痛点(简述)| 策略动作 | 具体怎么做 | 如何验证」。须覆盖监测已支撑的主要维度(口感/质地分线、分量/规格、信任与价格等,依数据取舍);**第一列**遵守「§2 表」反捏造条款。**禁止**再写独立「痛点与证据表」「价值对表」「负向归因」子节(与 §二 重复的内容一律并入本表或删去)。
|
||||
- **二**:**仅 §2.1** 一张表:「类目/细类(本决策适用)| 用户痛点(简述)| 策略动作 | 具体怎么做 | 如何验证」。须覆盖监测已支撑的主要维度(**按类目分行**,口感/质地分线、分量/规格、信任与价格等,依数据取舍);**类目列 + 痛点简述列**遵守「§2 表」条款。**禁止**再写独立「痛点与证据表」「价值对表」「负向归因」子节(与 §二 重复的内容一律并入本表或删去)。
|
||||
- **三**:**仅 §3.1**(品类与时机、检索/样本、购买理由);可结合 brief 写价带锚点一句。**禁止**写 §3.2「转化障碍与应对」;若与购买相关的障碍与应对已在 §2.1 表内,§3.1 **勿再复述**。
|
||||
- **四**:品牌承诺与调性须能落到**可感知触点**(如商详第几屏、包装、客服首句),避免只有形容词。
|
||||
- **五**:§5.2 差异化、§5.3 竞争应对须写清**相对竞品多做什么/少做什么、具体一步动作**。
|
||||
|
||||
@ -171,10 +171,7 @@ def build_strategy_draft_markdown(
|
||||
lines: list[str] = [
|
||||
f"# 市场策略制定草稿 · 「{kw}」",
|
||||
"",
|
||||
"> **骨架说明**:本页为**规则骨架**(占位与少量摘录)。大模型成稿时须写成**短、可执行**的完整策略稿,结构与 [`docs/demo` 市场策略稿示例](docs/demo) 一致:**摘要 → 一~十 → 附录**。"
|
||||
"**不与《竞品分析报告》重复**:统计表、词频/共现、细类样本量、文本挖掘方法等以报告为准;策略稿只写**结论要点 + 怎么做**,可写「详见报告 §×」。"
|
||||
"**决策在策略生成表单完成**;未填项由模型结合本任务摘要与可选节选补全,**成稿不再写「请再选 / 请决策」式套话**。"
|
||||
"**全局禁止编造**:数字、品牌/店铺名、用户引语、活动规则等须能在 `structured_brief` / 报告节选 / 业务备注中核对;无依据处写「假设」「待核对」「输入未体现」(见 `generate_strategy.py` 中 `STRATEGY_DATA_RULES`)。",
|
||||
"> **骨架说明**:本页为规则骨架;结构与 [`docs/demo`](docs/demo) 示例一致。**全局禁止编造**见 `generate_strategy.py` 中 `STRATEGY_DATA_RULES`。",
|
||||
"",
|
||||
]
|
||||
if generated_at_iso:
|
||||
@ -291,16 +288,18 @@ def build_strategy_draft_markdown(
|
||||
[
|
||||
"## 二、产品价值与用户痛点",
|
||||
"",
|
||||
"*本节**仅**用下表写清**针对痛点要怎么做**(痛点简述 + 动作 + 落地 + 验证)。**不再**单设「痛点表 / 价值对表 / 负向归因」子节,避免与 §三、§八重复。*",
|
||||
"*本节**仅**用下表写清**针对痛点要怎么做**(**类目** + 痛点简述 + 动作 + 落地 + 验证)。**不再**单设「痛点表 / 价值对表 / 负向归因」子节,避免与 §三、§八重复。*",
|
||||
"",
|
||||
"*「用户痛点(简述)」须与 `structured_brief` / 策略线索 / 报告节选**可核对**;**禁止**编造「用户反馈『……』」式引语,除非原句已出现在上述输入中。*",
|
||||
"",
|
||||
"*「类目/细类」列:写明本行决策**适用于哪一类**(如饼干/面包/全检索池);多细类须**分行**,**禁止**用一句「全站」覆盖彼此冲突的策略;类目未定可写「待业务定类」并附分类假设。*",
|
||||
"",
|
||||
"### 2.1 针对痛点要怎么做",
|
||||
"",
|
||||
"| 用户痛点(简述) | 策略动作 | 具体怎么做(触点/话术/规格/渠道) | 如何验证 |",
|
||||
"|------------------|----------|-----------------------------------|----------|",
|
||||
"| *(成稿依监测与评论归纳,可含口感/分量/价格信任等)* | *(动词句)* | *(可执行)* | *(指标或抽样)* |",
|
||||
"| | | | |",
|
||||
"| 类目/细类(本决策适用) | 用户痛点(简述) | 策略动作 | 具体怎么做(触点/话术/规格/渠道) | 如何验证 |",
|
||||
"|--------------------------|------------------|----------|-----------------------------------|----------|",
|
||||
"| *(如:饼干线 / 西式糕点 / 全池仅当可解释)* | *(口感/分量/价格信任等)* | *(动词句)* | *(可执行)* | *(指标或抽样)* |",
|
||||
"| | | | | |",
|
||||
"",
|
||||
]
|
||||
)
|
||||
|
||||
@ -28,6 +28,7 @@ class StrategyDraftTests(SimpleTestCase):
|
||||
self.assertIn("重点:华东", md)
|
||||
self.assertIn("## 摘要", md)
|
||||
self.assertIn("针对痛点要怎么做", md)
|
||||
self.assertIn("类目/细类", md)
|
||||
self.assertIn("全局禁止编造", md)
|
||||
self.assertNotIn("### 3.2 转化障碍与应对", md)
|
||||
self.assertIn("## 一、顾客是谁", md)
|
||||
|
||||
@ -45,12 +45,12 @@
|
||||
|
||||
### 2.1 针对痛点要怎么做
|
||||
|
||||
| 用户痛点(简述) | 策略动作 | 具体怎么做(触点/话术/规格/渠道) | 如何验证 |
|
||||
|------------------|----------|-----------------------------------|----------|
|
||||
| 分量/规格与场景预期不符 | 主推款参数与视觉诚实 | 商详首屏与参数表写清净含量、包数、建议一次食用量;主图避免「看起来很大包」 | 差评中「量小」占比、问大家置顶答复 |
|
||||
| 口感适配(干、噎、松软;按饼干/面包分线) | 分线承接 | 饼干线强化酥脆/饱腹;面包线补充复热、切片、搭配(牛奶)说明 | 细类差评抽样、复购与晒图 |
|
||||
| 比价与促销不透明 | 到手价与规则可核对 | 标价、券、榜单与后台一致;未监测到的满减/满折上架前与运营对齐后再宣称 | 大促期客诉、价差投诉 |
|
||||
| 健康与信任 | 配料与 GI 叙事可验证 | 配料表、营养成分与商详一致;禁用无依据疗效 | 抽检与法务审核记录 |
|
||||
| 类目/细类(本决策适用) | 用户痛点(简述) | 策略动作 | 具体怎么做(触点/话术/规格/渠道) | 如何验证 |
|
||||
|--------------------------|------------------|----------|-----------------------------------|----------|
|
||||
| 饼干/粗粮饼干 | 分量与场景预期 | 参数与视觉诚实 | 商详写清净含量、包数;主图避免「看起来很大包」 | 差评「量小」、问大家 |
|
||||
| 西式糕点/面包 | 口感适配(干、噎、松软) | 分线承接松软+搭配 | 复热、切片、牛奶搭配说明;与糕点评论高频一致 | 细类差评抽样、晒图 |
|
||||
| 全检索池(价盘共性) | 比价与促销不透明 | 到手价与规则可核对 | 标价、券、榜单与后台一致;满减未监测到的上架前对齐运营 | 大促客诉、价差投诉 |
|
||||
| 本品全线(若仅一条 SKU 可写「主推款」) | 健康与信任 | 配料与 GI 可验证 | 配料表、营养成分与商详一致;禁用无依据疗效 | 抽检、法务记录 |
|
||||
|
||||
*说明:成稿时 §1.2 宜压缩为结论句,避免复述报告词频;负向主题归纳详见同任务《竞品分析报告》第八章。*
|
||||
|
||||
|
||||
@ -47,11 +47,11 @@
|
||||
|
||||
### 2.1 针对痛点要怎么做
|
||||
|
||||
| 用户痛点(简述) | 策略动作 | 具体怎么做(触点/话术/规格/渠道) | 如何验证 |
|
||||
|------------------|----------|-----------------------------------|----------|
|
||||
| 担心「低GI」名不副实、配料与体验不可感知 | 配料与 GI 叙事可验证 | 商详配料表、营养成分与监测/检测一致;口感 QA 与问大家 | 抽检、差评主题 |
|
||||
| 价格带宽、促销复杂,难比「真实到手价」 | 到手价与规则透明 | 卡位接近样本中位 **16.9**;促销表述与 `notes`、价盘一致 | 大促期客诉 |
|
||||
| 品牌与店铺分散,信任成本高 | 证据链与价位锚点 | 与同任务报告价盘一致;不夸大未在简报出现的销量表述 | 商详与报告对照 |
|
||||
| 类目/细类(本决策适用) | 用户痛点(简述) | 策略动作 | 具体怎么做(触点/话术/规格/渠道) | 如何验证 |
|
||||
|--------------------------|------------------|----------|-----------------------------------|----------|
|
||||
| 饼干(`matrix_by_group` 饼干组) | 担心「低GI」名不副实、配料与体验不可感知 | 配料与 GI 叙事可验证 | 商详配料表、营养成分与监测/检测一致;口感 QA 与问大家 | 抽检、差评主题 |
|
||||
| 饼干(同上) | 价格带宽、促销复杂,难比「真实到手价」 | 到手价与规则透明 | 卡位接近样本中位 **16.9**;促销表述与 `notes`、价盘一致 | 大促期客诉 |
|
||||
| 全池共性(列表侧) | 品牌与店铺分散,信任成本高 | 证据链与价位锚点 | 与同任务报告价盘一致;不夸大未在简报出现的销量表述 | 商详与报告对照 |
|
||||
|
||||
**依据**:简报 `price_stats`、`concentration`、`comment_focus_keywords`、`notes`。
|
||||
|
||||
|
||||
@ -78,7 +78,7 @@
|
||||
|------|------|------------------------|
|
||||
| 0 | **摘要** | 除范围样本外,**阶段重点**须含 1~2 条**可感知动作**(如「主推款商详标明规格与克重」),而非仅「加强运营」 |
|
||||
| 1 | **一、顾客是谁** | 1.1 人群与路径 · 1.2 细类/评论侧归纳 · 1.3 本品聚焦(表单:角色、客群、对标) |
|
||||
| 2 | **二、产品价值与用户痛点** | **仅 §2.1 针对痛点要怎么做**(一张表:痛点简述 → 动作 → 落地 → 验证) |
|
||||
| 2 | **二、产品价值与用户痛点** | **仅 §2.1** 表:「类目/细类 → 痛点简述 → 动作 → 落地 → 验证」;多细类**分行**,不确定则「待业务定类」+ 假设 |
|
||||
| 3 | **三、为什么要买「这款产品」** | **仅 §3.1** 品类与时机、购买理由;**无 §3.2**(与 §二 不重复写障碍与应对) |
|
||||
| 4 | **四、为什么要选「这个品牌」** | 承诺与调性 · 信任与证据 · 主定位(表单勾选) |
|
||||
| 5 | **五、与其它品牌有何不同** | 对比对象 · 差异化 · **竞争应对须写可执行应对**(不主动价格战 / 跟价时如何说明等) |
|
||||
@ -93,9 +93,9 @@
|
||||
|
||||
**§2.1 针对痛点要怎么做(推荐列)**:
|
||||
|
||||
| 用户痛点(简述) | 策略动作 | 具体怎么做(触点/话术/规格/渠道) | 如何验证 |
|
||||
|------------------|----------|-----------------------------------|----------|
|
||||
| | | | |
|
||||
| 类目/细类(本决策适用) | 用户痛点(简述) | 策略动作 | 具体怎么做(触点/话术/规格/渠道) | 如何验证 |
|
||||
|--------------------------|------------------|----------|-----------------------------------|----------|
|
||||
| | | | | |
|
||||
|
||||
**全文各章「怎么做」补充(除 §2.1 外,摘要与一、三~五、九、十亦须落地)**
|
||||
|
||||
@ -152,7 +152,7 @@ LLM 路径下:**A** 经 `compact_brief_for_llm` 压缩进 payload;**B** 原
|
||||
|----------|----------|
|
||||
| 六主轴 + 品牌四线、摘要→一~十→附录 | `build_strategy_draft_markdown`、`STRATEGY_SYSTEM` |
|
||||
| 与竞品报告分工、不重复统计展开 | `STRATEGY_DATA_RULES`、底稿骨架说明 |
|
||||
| 痛点 → 怎么做、仅 §2.1 表 | 底稿 §2.1;`STRATEGY_SYSTEM` 全书分节要求 |
|
||||
| 痛点 → 怎么做、仅 §2.1 表(含类目/细类列) | 底稿 §2.1;`STRATEGY_DATA_RULES` + `STRATEGY_SYSTEM` §二 |
|
||||
| 除 §2 外各章须带可执行句 | `STRATEGY_SYSTEM` 分节要求;规划 §1.1 表 |
|
||||
| 语气:少内部缩写、少反复「对齐第几章」 | `STRATEGY_SYSTEM` **语气**段 |
|
||||
| 分量/规格/克重痛点 | `STRATEGY_SYSTEM` §二;底稿 §2.1 提示 |
|
||||
|
||||
6
docs/templates/市场策略稿-目录模板-六主轴与品牌四线.md
vendored
6
docs/templates/市场策略稿-目录模板-六主轴与品牌四线.md
vendored
@ -45,9 +45,9 @@
|
||||
|
||||
### 2.1 针对痛点要怎么做
|
||||
|
||||
| 用户痛点(简述) | 策略动作 | 具体怎么做(触点/话术/规格/渠道) | 如何验证 |
|
||||
|------------------|----------|-----------------------------------|----------|
|
||||
| | | | |
|
||||
| 类目/细类(本决策适用) | 用户痛点(简述) | 策略动作 | 具体怎么做(触点/话术/规格/渠道) | 如何验证 |
|
||||
|--------------------------|------------------|----------|-----------------------------------|----------|
|
||||
| | | | | |
|
||||
|
||||
**依据**:监测摘要 / 报告节选 / 业务备注(可溯源)________
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user