diff --git a/backend/crawler_copy/jd_pc_search/jd_competitor_report.py b/backend/crawler_copy/jd_pc_search/jd_competitor_report.py index 13800e2..e0686f0 100644 --- a/backend/crawler_copy/jd_pc_search/jd_competitor_report.py +++ b/backend/crawler_copy/jd_pc_search/jd_competitor_report.py @@ -340,6 +340,8 @@ _PROMO_SUBSTRINGS_IN_COPY: tuple[str, ...] = ( "优惠券", "领券", "券后", + "红包", + "京豆", "百亿补贴", "包邮", "赠品", diff --git a/backend/pipeline/llm/generate.py b/backend/pipeline/llm/generate.py index 1fbe7f7..cefecf2 100644 --- a/backend/pipeline/llm/generate.py +++ b/backend/pipeline/llm/generate.py @@ -797,6 +797,7 @@ STRATEGY_OPPORTUNITIES_SYSTEM = """你是 B 端市场与增长顾问。输入 JS - **数字与事实**:价格分位数、集中度份额、条数、占比等**只能**来自输入 JSON 中已有字段;**禁止编造**未出现的品牌销量、具体 GMV、未给出的到手价; - **语气**:分节给出**可操作的假设性建议**(定价区间思路、应对齐的差异化观测点、应规避的风险、促销与机制设计线索、转化与详情页/评价侧改进方向),每条建议用「假设:」「待验证:」等标明不确定性; - **结构**:至少使用 ``####`` 组织以下主题(可合并子条,但须覆盖):**定价与价带**、**差异化与应对齐的优势**、**风险与避免项**、**促销与活动机制**、**转化与体验**; +- **促销与活动机制(硬性)**:该节**必须优先依据** ``competitor_brief.price_promotion_signals``(若存在):对 ``promo_keyword_row_hits_top`` 中**已出现**的活动话术类型(如满减、券、券后、百亿补贴、红包、秒杀、到手价等)逐类给出**假设性**机制建议(如何与标价/券后价差 ``share_coupon_below_list_when_both``、``median_discount_pct_when_coupon_below`` 等字段对照),并说明**待验证**的测试方式。**禁止**编造具体满减门槛、红包面额、补贴比例;**禁止**在输入中完全未出现任何列表侧活动话术或价差信号时,仍写一大段具体「要做满减发红包」而无「输入中未捕获此类信号」的说明。若 brief 中活动信号稀疏,须明确写出并转向「需补充列表/促销字段抓取」类建议。 - **转化与体验(硬性)**:该节须**同时**写清 **正向体验**(如详情呈现、规格可读性、评价中反复被肯定的点、有助于信任与下单的线索,**仅依据** brief 中可见字段)与 **负向体验/摩擦**(如评价侧抱怨主题、体验短板、可能损害转化的信号及**待验证**的改进方向);不得只写一侧;无足够依据时写明「输入中信号不足」而非编造; - **禁止**:不要写完整报告目录;不要复述「研究范围与方法」;不要使用 CR1/CR3 缩写(用「第一大……份额」「前三家合计」);不要输出与输入矛盾的价带描述。