mirror of
https://github.com/primedigitaltech/market-assistant.git
synced 2026-07-21 23:41:39 +08:00
docs(strategy): 全局禁止编造贯穿底稿与规划
规则底稿骨架增加全局约束说明;规划与 alignment 文档对照表更新;测试断言骨架含「全局禁止编造」。generate_strategy 中全局条款与用户前缀若未提交则一并纳入。 Made-with: Cursor
This commit is contained in:
parent
71395d217c
commit
812cc1dac7
@ -13,7 +13,15 @@ from ..reporting.strategy_draft import (
|
||||
)
|
||||
from .llm_client import call_llm, estimate_chat_input_tokens, llm_context_window_size
|
||||
|
||||
STRATEGY_DATA_RULES = """**与竞品分析报告的分工(硬性)**:
|
||||
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.1 痛点表证据信号」。
|
||||
- **促销与活动**:**禁止**编造活动名、具体规则、补贴比例;细则见下文促销与第八章探针相关条款。
|
||||
- **策略动作与落地结果**:可写「建议」「假设」「待验证」的动作方向,**不得**编造「已执行」「已上线」「数据显示转化率/复购提升」等**无输入依据**的结果。
|
||||
- **信息不足**:须写「输入未体现」「待核对」「假设:」「待验证:」,**禁止**用确定语气掩盖缺失依据。
|
||||
|
||||
**与竞品分析报告的分工(硬性)**:
|
||||
- 宿主报告已含样本量、价带分布、词频/共现、矩阵、第八章文本挖掘等**统计分析**。策略稿**不得**重复展开同类内容:不重写词频表、细类评论条数罗列、统计方法说明、与报告图表逐条复述。
|
||||
- **允许**:用一两句**结论性**话概括用户侧/评论侧要点;必要时写「详见同任务《竞品分析报告》§× / 附录」。
|
||||
- **必须**把篇幅放在**策略**:痛点归纳、§2.5 动作表、怎么做与验证(后文章节)。
|
||||
@ -38,6 +46,8 @@ STRATEGY_SYSTEM = f"""你是市场策略顾问,根据**结构化监测摘要**
|
||||
|
||||
{STRATEGY_DATA_RULES}
|
||||
|
||||
**落实范围**:上文「全局禁止编造」适用于**摘要、一至十、附录**的每一句话与表格每一格;**不得**因章节不同而放宽。
|
||||
|
||||
**决策边界(硬性)**:
|
||||
- **业务已在 `strategy_decisions` 中填写的项**(角色、时间、成功标准、战场一句话、定位勾选、竞争倾向、四柱、目标客群/对标/资源备注、**营销策略**与**总体策略**等)视为**已定决策**:成稿须**落实为具体执行句**,**不得**改写成相反结论或再要求用户「请选择」。
|
||||
- **表单中为空或占位(如 *待填*、*骨架占位*)的项**:结合 `structured_brief`、节选与数据摘录**补全为可执行表述**;补全须与数据方向一致。
|
||||
@ -77,7 +87,10 @@ STRATEGY_SYSTEM = f"""你是市场策略顾问,根据**结构化监测摘要**
|
||||
|
||||
**输出**:仅 Markdown 正文(不要 ``` 围栏);须收束各小节与全文,勿中途截断。"""
|
||||
|
||||
STRATEGY_USER_PREFIX = """请基于以下 JSON 输出最终策略稿(Markdown)。\n\n"""
|
||||
STRATEGY_USER_PREFIX = (
|
||||
"请基于以下 JSON 输出最终策略稿(Markdown)。"
|
||||
"输出前自检:全文不得包含输入 JSON 中未出现的具体数字、品牌/店铺名、用户引语与活动规则;不确定处须写「假设」「输入未体现」或「待核对」。\n\n"
|
||||
)
|
||||
|
||||
|
||||
def generate_strategy_draft_markdown_llm(
|
||||
@ -218,6 +231,8 @@ STRATEGY_OPPORTUNITIES_SYSTEM = (
|
||||
|
||||
**(与独立下载策略稿的关系)**:独立策略稿使用「摘要→一~十→附录」的六主轴结构;本节**不是**完整策略稿,仅输出下列 ``####`` 主题块,避免与宿主第九章标题重复。
|
||||
|
||||
**全局禁止编造**见上文 `STRATEGY_DATA_RULES` 段首;**本节每个 ``####`` 块**均须遵守(含不得虚构用户引语、未在 ``competitor_brief`` 出现的品牌名与数字)。
|
||||
|
||||
**与前文分析严格对齐(硬性,优先于自由发挥)**:
|
||||
- **定性主题**(各细类讨论焦点、正负向体验、场景与关注词归纳、配料/卖点叙事、促销形态描述等)须与 ``prior_chapter_llm_narratives`` 中已出现的表述**方向一致**,**禁止**另写一套与节选**明显矛盾**的品类判断、品牌举例或用户痛点主题。
|
||||
- **定量与可核验事实**(价带分位数、店铺/品牌占比、条数、评论统计字段等)**以** ``competitor_brief`` **为准**;若节选与 brief 数字冲突,**采纳 brief**,且勿复述与数字冲突的节选句。
|
||||
@ -244,7 +259,8 @@ STRATEGY_OPPORTUNITIES_SYSTEM = (
|
||||
STRATEGY_OPPORTUNITIES_USER_PREFIX = (
|
||||
"请根据以下 JSON 撰写策略归纳正文(Markdown)。"
|
||||
"``competitor_brief`` 为结构化摘要;若含 ``prior_chapter_llm_narratives``,则为 第五至第八章 大模型归纳节选,须与策略正文对齐。"
|
||||
"宿主报告已含章节标题,**勿在输出中写第九章或「策略与机会」类标题**。\n\n"
|
||||
"宿主报告已含章节标题,**勿在输出中写第九章或「策略与机会」类标题**。"
|
||||
"输出前自检:不得编造 brief 与节选未出现的数字、品牌/店铺名、用户引语与活动规则;不确定须用「假设:」「待验证:」「输入未体现」。\n\n"
|
||||
)
|
||||
|
||||
|
||||
|
||||
@ -173,7 +173,8 @@ def build_strategy_draft_markdown(
|
||||
"",
|
||||
"> **骨架说明**:本页为**规则骨架**(占位与少量摘录)。大模型成稿时须写成**短、可执行**的完整策略稿,结构与 [`docs/demo` 市场策略稿示例](docs/demo) 一致:**摘要 → 一~十 → 附录**。"
|
||||
"**不与《竞品分析报告》重复**:统计表、词频/共现、细类样本量、文本挖掘方法等以报告为准;策略稿只写**结论要点 + 怎么做**,可写「详见报告 §×」。"
|
||||
"**决策在策略生成表单完成**;未填项由模型结合本任务摘要与可选节选补全,**成稿不再写「请再选 / 请决策」式套话**。",
|
||||
"**决策在策略生成表单完成**;未填项由模型结合本任务摘要与可选节选补全,**成稿不再写「请再选 / 请决策」式套话**。"
|
||||
"**全局禁止编造**:数字、品牌/店铺名、用户引语、活动规则等须能在 `structured_brief` / 报告节选 / 业务备注中核对;无依据处写「假设」「待核对」「输入未体现」(见 `generate_strategy.py` 中 `STRATEGY_DATA_RULES`)。",
|
||||
"",
|
||||
]
|
||||
if generated_at_iso:
|
||||
|
||||
@ -28,6 +28,7 @@ class StrategyDraftTests(SimpleTestCase):
|
||||
self.assertIn("重点:华东", md)
|
||||
self.assertIn("## 摘要", md)
|
||||
self.assertIn("「证据信号」须与", md)
|
||||
self.assertIn("全局禁止编造", md)
|
||||
self.assertIn("## 一、顾客是谁", md)
|
||||
self.assertIn("## 七、品牌四线", md)
|
||||
self.assertIn("市场策略制定草稿", md)
|
||||
|
||||
@ -21,7 +21,7 @@
|
||||
| 维度 | 要求 |
|
||||
|------|------|
|
||||
| **事实源** | 仅允许来自:同任务 `build_competitor_brief` 产物、已落盘的 `competitor_analysis.md` 中与策略相关的既定小节、各章 LLM 节选 JSON、`strategy_hints`、第九章策略相关落盘(如 `strategy_opportunities_llm.json`)。 |
|
||||
| **策略稿** | 以规则底稿为骨架;LLM 仅做可读性润色与衔接,**不得新增** brief/底稿中不存在的数字、品牌、销量、价格。 |
|
||||
| **策略稿** | 以规则底稿为骨架;LLM 仅做可读性润色与衔接,**不得新增** brief/底稿中不存在的数字、品牌、销量、价格。全文还须遵守 `generate_strategy.py` 中 `STRATEGY_DATA_RULES` 段首「**全局禁止编造**」(用户引语、活动规则、无依据的落地结果等)。 |
|
||||
| **报告第九章** | 继续遵守 `STRATEGY_OPPORTUNITIES_SYSTEM`(`generate_strategy.py`)中的硬性条款:brief 优先、与 `prior_chapter_llm_narratives` 不矛盾、假设性表述等。 |
|
||||
| **营销内容** | 视为**表达层**:不新增事实;把同一批证据改写成面向某类受众的叙事;可核验结论须能指回 brief 或报告节选。 |
|
||||
|
||||
|
||||
@ -131,7 +131,7 @@ LLM 路径下:**A** 经 `compact_brief_for_llm` 压缩进 payload;**B** 原
|
||||
| 模式 | 输出 | 最低验收 |
|
||||
|------|------|----------|
|
||||
| `generator=rules` | 带占位符的 Markdown | 章节齐全;含 **§2.5** 表头;数字仅来自 brief 摘录;与 `chapter8_text_mining_probe` 时无关注词条形图口径冲突 |
|
||||
| `generator=llm` | 可读成稿 | 章节与骨架一致;无编造数字;已填表单项落实为执行句;节选非空时与第九章方向不矛盾;**全书**能体现「痛点→动作→怎么做」(含摘要、一、三~十);**禁止**仅复述市场描述而无 actionable 句 |
|
||||
| `generator=llm` | 可读成稿 | 章节与骨架一致;**全书**遵守 `STRATEGY_DATA_RULES` 段首「全局禁止编造」(数字、品牌名、用户引语、活动规则、落地结果等);已填表单项落实为执行句;节选非空时与第九章方向不矛盾;**全书**能体现「痛点→动作→怎么做」(含摘要、一、三~十);**禁止**仅复述市场描述而无 actionable 句 |
|
||||
|
||||
---
|
||||
|
||||
@ -153,7 +153,9 @@ LLM 路径下:**A** 经 `compact_brief_for_llm` 压缩进 payload;**B** 原
|
||||
| 除 §2 外各章须带可执行句 | `STRATEGY_SYSTEM` 分节要求;规划 §1.1 表 |
|
||||
| 语气:少内部缩写、少反复「对齐第几章」 | `STRATEGY_SYSTEM` **语气**段 |
|
||||
| 分量/规格/克重痛点 | `STRATEGY_SYSTEM` §二;底稿 §2.1 提示 |
|
||||
| 全文禁止编造(各节、各表) | `STRATEGY_DATA_RULES` 段首「全局禁止编造」;`STRATEGY_SYSTEM`「落实范围」;用户消息前缀自检句 |
|
||||
| §2.1「证据信号」可溯源、禁编造用户引语 | `STRATEGY_DATA_RULES` §2.1 证据列硬性条款 |
|
||||
| 报告第九章策略归纳不编造 | `STRATEGY_OPPORTUNITIES_SYSTEM` 引用同一 `STRATEGY_DATA_RULES` + `####` 块说明 |
|
||||
| 负向归因(主题级,可举 brief 已有例证) | `STRATEGY_SYSTEM` §二;底稿 §2.4 |
|
||||
| 口感按细类:酥脆 vs 松软分线,禁止一词盖全站 | `STRATEGY_SYSTEM` **口感/质地与细类** |
|
||||
| 促销:满减/满折/券/跨店,不编造门槛、不全节留空 | `STRATEGY_SYSTEM` **促销**;底稿 §八.3 |
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user