From 993bdda1fdcf33a8bd1de02e3972de39eb6731b7 Mon Sep 17 00:00:00 2001 From: OoO Date: Sun, 3 May 2026 01:42:43 +0800 Subject: [PATCH] feat(ppt-ai): inject shared 2026 Taiwan e-commerce market knowledge to all 6 prompts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 完成 project memory 待補事項:抽取共用市場趨勢常數 + 補齊未升級的 prompt。 新增 MARKET_TREND_2026 共用常數(routes/openclaw_bot_routes.py): - 6 大關鍵檔期 + 拉動幅度(母親節 +30~50% 美妝 / 618 全品類 +30~50% / 雙11 +50~80%) - 6 條 2026 熱門賽道(永續美妝/母嬰高端/機能性食品/IP 聯名/男性保養/寵物經濟) - 4 大平台競爭定位(蝦皮/PChome/酷澎/momo) Inject 到 5 條 prompt(monthly/strategy/promo/competitor/else): - 月報、策略、促銷:原 prompt + MARKET_TREND_2026 知識基底 - 競品比較:補上 2026 熱門賽道做美妝/保健/母嬰專項分析的事實基礎 - daily/weekly(else 分支):完整重寫從 250 字 → 350-450 字 SMART 框架 + 含市場機會與風險段(檔期卡位 + 競品風險) bump 版本(所有 6 種 v3.x): - daily v3.0.2 → v3.1.0 - weekly v3.0.2 → v3.1.0 - monthly v3.1.3 → v3.1.4 - strategy v3.0 → v3.1.0 - competitor v3.0 → v3.1.0 - promo v3.0 → v3.1.0 效果:6 種報表 AI 分析現在都有共同的市場事實基底,跨報表敘事一致; 單一資料來源避免「不同報表給的市場數字打架」問題。 Co-Authored-By: Claude Opus 4.7 (1M context) --- routes/openclaw_bot_routes.py | 50 ++++++++++++++++++++++++++++++----- services/ppt_generator.py | 12 ++++----- 2 files changed, 49 insertions(+), 13 deletions(-) diff --git a/routes/openclaw_bot_routes.py b/routes/openclaw_bot_routes.py index a76b141..6a5d849 100644 --- a/routes/openclaw_bot_routes.py +++ b/routes/openclaw_bot_routes.py @@ -1894,6 +1894,31 @@ def _ppt_ai_analysis(prompt_data: str, report_type: str = '') -> str: "5. 繁體中文,語氣專業、精準、業績導向" ) + # ── 2026 台灣電商市場趨勢脈絡(所有 prompt 共用前綴知識)────── + # 任何 AI 分析必須以此知識為背景,不可違反實際市場趨勢。 + MARKET_TREND_2026 = ( + "\n\n【2026 年台灣電商市場知識基底(必須以此為分析背景)】\n" + "── 關鍵檔期與品類拉動幅度 ──\n" + " • 母親節(5 月第 2 週):年度大促,美妝保養 +30~50%、母嬰 +20~35%\n" + " • 520 情人節:禮品/香氛/輕珠寶 +25~40%\n" + " • 618 購物節(年中最大):全品類 +30~50%,主打囤貨型商品(美妝禮盒、母嬰用品)\n" + " • 端午節:應景食品 +40~60%、家庭清潔/紙品 +15~25%\n" + " • 雙11(年度最強):全品類 +50~80%\n" + " • 雙12 / 年末:保健食品 +30~50%、年節禮品 +40~60%\n" + "── 2026 熱門賽道 ──\n" + " • 永續美妝(無毒/敏弱肌/天然成分)\n" + " • 母嬰高端化(NT$2000+ 客單帶、日韓品牌、安全認證)\n" + " • 機能性食品(益生菌、葉黃素、銀髮保健)\n" + " • IP 聯名(角色聯名增加客單與話題)\n" + " • 男性保養(從工具型轉精緻型)\n" + " • 寵物經濟(鮮食、保健、玩具高端化)\n" + "── 平台競爭態勢 ──\n" + " • 蝦皮:免運門檻低(NT$99)、直播帶貨強、年輕族群\n" + " • PChome:3C/家電優勢、24h 到貨、會員忠誠度高\n" + " • 酷澎:火箭快送、選品精緻、高端客群\n" + " • momo:生活百貨/美妝強、電視購物頻道整合、會員訂閱推力\n" + ) + if is_monthly: sys_instruction = ( "你身兼三職:(1) 資深電商策略顧問(10 年 BCG / 麥肯錫零售諮詢經驗)" @@ -1948,6 +1973,7 @@ def _ppt_ai_analysis(prompt_data: str, report_type: str = '') -> str: "要求:每段必須引用至少 2 個具體數字(業績/百分比/排名/客單),全文 900~1200 字," "語氣為資深顧問遞交給 BU 主管的決策報告,不要學術化,要落地。" "禁止使用「可能」「也許」「建議考慮」等模糊用詞,要明確「必須做X、目標Y、期限Z」。" + + MARKET_TREND_2026 + FORMAT_RULES ) max_tokens = 2400 @@ -1982,6 +2008,7 @@ def _ppt_ai_analysis(prompt_data: str, report_type: str = '') -> str: "【風險預警】(1-2句)\n" "指出最大潛在風險(毛利侵蝕/庫存積壓/價格形象破壞),提出防禦建議。\n\n" "要求:每段必須引用至少一個具體數字,全文不超過 600 字,語氣如資深顧問報告。" + + MARKET_TREND_2026 + FORMAT_RULES ) max_tokens = 1400 @@ -2009,6 +2036,7 @@ def _ppt_ai_analysis(prompt_data: str, report_type: str = '') -> str: "【風險預警】(2-3句)指出 2~3 項潛在風險(集中度 / 毛利下滑 / 競品價格戰)," "對應「立即啟動」防禦動作。\n\n" "要求:每段引用至少 2 個具體數字,全文 600~800 字,禁用「可能/也許/建議考慮」。" + + MARKET_TREND_2026 + FORMAT_RULES ) max_tokens = 1400 @@ -2045,20 +2073,28 @@ def _ppt_ai_analysis(prompt_data: str, report_type: str = '') -> str: "【本期 TOP3 業績導向行動建議】(3條,每條以 ✅ 開頭)\n" "每條包含:具體商品或品類 + 行動方向 + 預期業績效益(轉換率↑/客單價↑/市佔↑)。\n\n" "要求:每段必須引用至少一個具體數字或商品名,不超過 500 字,語氣如資深顧問報告。" + + MARKET_TREND_2026 + FORMAT_RULES ) max_tokens = 1200 else: + # daily / weekly 走這條:精煉版顧問報告(時間範圍小,不需深度市場分析,但仍含趨勢脈絡) sys_instruction = ( - f"你是資深電商策略顧問,請根據業績資料和外部市場情報," - f"為{report_type}撰寫精準策略分析與行動建議。\n\n" - "【整體業績解讀】(2句)點出核心表現與最大亮點。\n\n" - "【市場機會與風險】(2-3句)結合外部情報說明當前機會點與潛在風險。\n\n" - "【TOP3 行動建議】(3條,每條以 ✅ 開頭)具體可執行,含量化目標。\n\n" - "要求:引用具體數字、250字以內。" + "你是資深電商營運顧問(10 年台灣電商實戰經驗),擅長從短期業績抓出可執行的" + "戰術建議。客戶是 momo BU 主管,會用本報告做今日/本週的庫存與廣告調整。\n\n" + f"請針對以下{report_type}資料,輸出簡潔但專業的分析與行動建議,結構如下:\n\n" + "【整體業績解讀】(2-3句)\n" + "引用業績、訂單、毛利率、客單價,評估等級(優/良/普/弱),點出最關鍵的亮點與警訊。\n\n" + "【市場機會與風險】(2-3句)\n" + "結合當前檔期(母親節/520/618/雙11/雙12 等),說明本期業績所受影響" + "與下一個應卡位的時機;指出潛在風險(庫存/競品/毛利)。\n\n" + "【TOP3 立即行動建議】(3 條,✅ 開頭)\n" + "每條符合 SMART:具體商品/品類 + 量化目標(補貨 N 組/廣告 +X%/客單 +NT$Y)+ 期限。\n\n" + "要求:每段引用具體數字,全文 350~450 字,禁用「可能/也許」模糊用詞。" + + MARKET_TREND_2026 + FORMAT_RULES ) - max_tokens = 600 + max_tokens = 900 def _call_gemini(prompt: str, tokens: int) -> str: r = requests.post( diff --git a/services/ppt_generator.py b/services/ppt_generator.py index ffa166d..f3d2fdc 100644 --- a/services/ppt_generator.py +++ b/services/ppt_generator.py @@ -41,12 +41,12 @@ REPORTS_DIR.mkdir(parents=True, exist_ok=True) # 路由層會把版本號併入快取 key,舊快取自然 miss → 重新生成。 # Bump 規則:major 設計改版 +0.1;微調文案不需 bump。 TEMPLATE_VERSIONS = { - 'daily': 'v3.0.2', # 2026-05-02 折線稀疏資料防呆:N<=2 時 inset legend、加「資料不足」提示 - 'weekly': 'v3.0.2', # 2026-05-02 同上 - 'monthly': 'v3.1.3', # 2026-05-03 AI 段落 parser:丟棄空 body 段、上限 6→10 容納 SMART 框架 9 段 - 'strategy': 'v3.0', # 2026-05-02 AI 頁去黑改暖紙 + 附錄頁 - 'competitor': 'v3.0', # 2026-05-02 AI 頁去黑改暖紙 + 附錄頁 - 'promo': 'v3.0', # 2026-05-02 AI 頁去黑改暖紙 + 附錄頁 + 'daily': 'v3.1.0', # 2026-05-03 AI prompt 升級:3 段精煉顧問報告 + 共用 2026 市場知識基底 + 'weekly': 'v3.1.0', # 2026-05-03 同上 + 'monthly': 'v3.1.4', # 2026-05-03 AI prompt 補上共用 2026 市場知識基底(強化檔期/賽道/平台對位) + 'strategy': 'v3.1.0', # 2026-05-03 共用市場知識基底 + 'competitor': 'v3.1.0', # 2026-05-03 共用市場知識基底 + 'promo': 'v3.1.0', # 2026-05-03 共用市場知識基底 # ── DEPRECATED:以下 type 從未實際落地(依 ADR-014 校正 2026-04-28)。 # 函式 generate_growth_ppt / generate_vendor_ppt / generate_bcg_ppt 仍存在於本檔, # 但路由層未綁定指令;保留版本字串避免如未來重啟時快取 schema 對不上。