diff --git a/services/elephant_alpha_autonomous_engine.py b/services/elephant_alpha_autonomous_engine.py
index ee7b4b9..c89d4f6 100644
--- a/services/elephant_alpha_autonomous_engine.py
+++ b/services/elephant_alpha_autonomous_engine.py
@@ -80,20 +80,27 @@ _TRIGGER_ZH = {
"weekly_insight": "全景電商洞察分析",
}
-_AGENT_ZH = {
- "hermes": "Hermes 分析師",
- "nemotron": "NemoTron 監控",
- "openclaw": "OpenClaw 策略師",
- "scheduler": "排程器",
- "?": "未知模組",
+# Agent 名稱保留英文,僅補上角色說明(禁止音譯)
+_AGENT_LABEL = {
+ "hermes": "Hermes",
+ "nemotron": "NemoTron",
+ "openclaw": "OpenClaw",
+ "elephant_alpha": "Elephant Alpha",
+ "scheduler": "Scheduler",
}
_ACTION_ZH = {
- "analyze_price_competition": "競品價格分析",
- "dispatch_alert": "派送告警通知",
- "generate_strategic_analysis": "產出策略分析報告",
- "adjust_price": "調整定價",
- "send_alert": "發送告警",
+ "analyze_price_competition": "競品價格分析",
+ "dispatch_alert": "派送告警通知",
+ "dispatch_price_updates": "派送定價更新",
+ "dispatch_price_update": "派送定價更新",
+ "generate_strategic_analysis": "產出策略分析",
+ "generate_weekly_strategy": "產出全景週報",
+ "generate_market_analysis": "市場分析",
+ "generate_pricing_strategy": "定價策略建議",
+ "generate_meta_analysis": "AI 系統自我審視",
+ "adjust_price": "調整定價",
+ "send_alert": "發送告警",
}
@@ -102,9 +109,13 @@ def _zh_trigger(trigger_type: str) -> str:
def _zh_step(step: dict) -> str:
- agent = _AGENT_ZH.get(step.get("agent", "?"), step.get("agent", "?"))
- action = _ACTION_ZH.get(step.get("action", ""), step.get("action", "?"))
- return f"[{agent}] {action}"
+ agent_key = step.get("agent", "?").lower()
+ agent = _AGENT_LABEL.get(agent_key, step.get("agent", "?"))
+ action = _ACTION_ZH.get(step.get("action", ""), step.get("action", ""))
+ desc = step.get("description", "")
+ # 優先用 description(Gemini 生成的繁中說明),其次用 action 中文對照
+ detail = desc if desc else action
+ return f"[{agent}] {detail}"
@dataclass
@@ -563,17 +574,23 @@ class ElephantAlphaAutonomousEngine:
trigger: AutonomousTrigger,
) -> None:
try:
- from services.telegram_templates import triaged_alert, _send_telegram_raw
- msg, keyboard = triaged_alert(
- base_event={
- "event_type": trigger.trigger_type,
- "title": f"🐘 EA 自主執行完畢 · {_zh_trigger(trigger.trigger_type)}",
- "summary": decision.expected_outcome or "EA 完成自主決策",
- "id": f"ea_{trigger.trigger_type}_{int(datetime.now().timestamp())}",
- },
- tier_label="🐘 Elephant Alpha · 自主執行",
- ai_summary=(decision.reasoning or "")[:300],
- ai_executed=[_zh_step(s) for s in decision.execution_plan[:5]] or ["(無具體執行計畫)"],
+ from services.telegram_templates import _send_telegram_raw
+
+ trigger_zh = _zh_trigger(trigger.trigger_type)
+ steps = [_zh_step(s) for s in decision.execution_plan[:5]] or ["(無執行步驟)"]
+ steps_text = "\n".join(f" • {s}" for s in steps)
+
+ # reasoning 必須含數據;若只是空泛摘要則標記為「待補充」
+ reasoning = (decision.reasoning or "").strip()
+ if len(reasoning) < 30:
+ reasoning = "(AI 推理未提供足夠細節)"
+
+ msg = (
+ f"⚡ 🐘 Elephant Alpha · 自主執行 · {trigger.trigger_type}\n"
+ f"📌 {trigger_zh}\n\n"
+ f"🔍 預期效益:{(decision.expected_outcome or '').strip()}\n\n"
+ f"🧠 決策依據:{reasoning[:400]}\n\n"
+ f"✅ 已執行(信心 {decision.confidence:.0%}):\n{steps_text}"
)
await self._run_with_timeout(_send_telegram_raw, msg, timeout=10)
self._log.info("Telegram audit sent: %s", trigger.trigger_type)
@@ -633,7 +650,7 @@ class ElephantAlphaAutonomousEngine:
ai_cause=(
f"觸發類型:{_zh_trigger(trigger.trigger_type)} | "
f"信心度:{decision.confidence:.2f} | "
- f"參與模組:{', '.join(_AGENT_ZH.get(a, a) for a in decision.agents_required)}"
+ f"參與模組:{', '.join(_AGENT_LABEL.get(a.lower(), a) for a in decision.agents_required)}"
),
ai_actions=[
f"步驟 {s.get('step', i+1)}:{_zh_step(s)}"
diff --git a/services/elephant_alpha_orchestrator.py b/services/elephant_alpha_orchestrator.py
index 0fef4c0..ad73abc 100644
--- a/services/elephant_alpha_orchestrator.py
+++ b/services/elephant_alpha_orchestrator.py
@@ -100,7 +100,11 @@ class ElephantAlphaOrchestrator:
"""Build comprehensive system prompt for Elephant Alpha"""
return f"""You are Elephant Alpha, the Super Orchestrator for momo-pro-system e-commerce AI platform.
-重要語言規定:你的 JSON 回應中所有文字欄位(strategic_assessment、reasoning、expected_outcome、execution_plan 的 description、risk_factors、contingency_plans)必須使用繁體中文(台灣用語)撰寫。嚴禁使用英文或簡體中文。
+重要語言規定:
+1. 所有文字欄位(strategic_assessment、reasoning、expected_outcome、execution_plan 的 description、risk_factors、contingency_plans)必須使用繁體中文(台灣用語)撰寫。
+2. 【禁止翻譯 Agent 名稱】Hermes、NemoTron、OpenClaw、Elephant Alpha 是專有名詞,必須保留英文原名,嚴禁音譯(禁止:赫瑪斯、內莫特朗、開爪等)。
+3. reasoning 欄位必須包含具體數字(如:競品價差 X%、SKU 數量 N 個、業績跌幅 X%),嚴禁使用空泛企業用語(如「提升轉化率」、「擴大利潤邊際」等無數據支撐的說法)。
+4. expected_outcome 必須說明具體預期指標(如:預計 48h 內恢復 N 個 SKU 競爭力、降低平均價差至 X%)。
CURRENT ARCHITECTURE:
- You coordinate 3 specialized AI agents: Hermes (Analyst), NemoTron (Dispatcher), OpenClaw (Strategist)
@@ -264,7 +268,7 @@ Based on the current business context and system state, determine the optimal st
Provide your strategic decision in the specified JSON format.
-重要:所有 JSON 文字欄位必須使用繁體中文(台灣用語)回覆,嚴禁英文或簡體中文。
+重要:所有 JSON 文字欄位必須使用繁體中文(台灣用語)。Hermes、NemoTron、OpenClaw、Elephant Alpha 保留英文原名勿翻譯。reasoning 必須引用上方數據中的具體數字。
"""
return prompt