feat(ppt-ai): inject shared 2026 Taiwan e-commerce market knowledge to all 6 prompts
All checks were successful
CD Pipeline / deploy (push) Successful in 2m25s

完成 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) <noreply@anthropic.com>
This commit is contained in:
OoO
2026-05-03 01:42:43 +08:00
parent 9010a4e6fa
commit 993bdda1fd
2 changed files with 49 additions and 13 deletions

View File

@@ -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"
" • PChome3C/家電優勢、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(

View File

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