refactor: remove hardcoded routing rules and centralize AI master rules
Some checks failed
Pre-commit / run (ubuntu-latest) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_en (ubuntu-latest, 3.10) (push) Has been cancelled
Deploy Sphinx documentation to Pages / build_zh (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (macos-15, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (ubuntu-latest, 3.12) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.10) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.11) (push) Has been cancelled
Python Unittest Coverage / test (windows-latest, 3.12) (push) Has been cancelled

This commit is contained in:
2026-03-02 20:18:51 +08:00
parent baa46156f9
commit 674519709e
6 changed files with 68 additions and 177 deletions

View File

@@ -115,7 +115,9 @@ class RouterAgent(_AgentRuntime):
def __init__(self) -> None:
super().__init__(
"RouterAgent",
"你是客服路由Agent。只输出路由不回复客户。必须先调用工具读取意图/风险/订单后再路由。",
rules_prompt()
+ "\n你是路由Agent。只输出路由 pre_sales/quote/after_sales/risk不直接回复客户。"
+ " 你必须基于上下文语义路由,禁止关键词硬匹配。",
)
async def route(self, context: dict[str, Any]) -> tuple[str, str]:
@@ -132,7 +134,7 @@ class QuoteAgent(_AgentRuntime):
def __init__(self) -> None:
super().__init__(
"QuoteAgent",
rules_prompt() + "\n你是报价专家Agent。必须结合图片数量、尺寸和订单状态给出报价动作",
rules_prompt() + "\n你是报价Agent。负责收图、报价触发、报价回复和报价阶段状态更新",
)
async def decide(self, context: dict[str, Any]) -> Decision:
@@ -144,7 +146,7 @@ class AfterSalesAgent(_AgentRuntime):
def __init__(self) -> None:
super().__init__(
"AfterSalesAgent",
rules_prompt() + "\n你是售后专家Agent。优先维护售后状态并给出下一步动作",
rules_prompt() + "\n你是售后Agent。负责退款/重发/不满意等售后处理与状态推进",
)
async def decide(self, context: dict[str, Any]) -> Decision:
@@ -156,7 +158,7 @@ class RiskAgent(_AgentRuntime):
def __init__(self) -> None:
super().__init__(
"RiskAgent",
"你是风控Agent。遇到地图政治/黄暴/外联高风险优先给 transfer 或拒绝性 reply",
rules_prompt() + "\n你是风控Agent。专注风险识别与风险动作决策",
)
async def decide(self, context: dict[str, Any]) -> Decision:
@@ -168,7 +170,7 @@ class PreSalesAgent(_AgentRuntime):
def __init__(self) -> None:
super().__init__(
"PreSalesAgent",
rules_prompt() + "\n你是售前专家Agent。处理打招呼、询价前引导、收图承接",
rules_prompt() + "\n你是售前Agent。处理咨询承接、收图、澄清需求与转报价前动作",
)
async def decide(self, context: dict[str, Any]) -> Decision: