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 對不上。