paper2skills Playbook

AgentRouter — 知识图谱引导的多智能体路由器

Skill-AgentRouter-KG-Guided · 08-知识图谱

causalrecommendationragknowledge_graphmulti_agentfraud_detectionpricing广告与投放客服与VOC推荐与搜索知识图谱与RAGMAS与智能体工程定价与利润风控与合规WF-B 广告优化WF-C 客服分诊WF-D 选品扫描WF-F 动态定价WF-H 复购增长
年化 ROI1900 万元
实现难度⭐⭐⭐☆☆
业务视角
适用角色客服负责人 / 运营负责人 · CTO · 产品经理
适用平台Amazon 客服系统 · 多渠道工单平台 · TikTok Shop 客服
什么情况下用多个 AI 工具和客服渠道各自为政,「技术故障退换货」被路由到政策部门,复杂问题转手多次没人解决;工单分流靠规则,新场景频繁出错
成功是什么样的客服工单自动路由准确率从 61% 提升到 82%,每天减少 1 万条二次转单,年节省运营成本 1900 万元
业务痛点
工单被路由到错误部门复杂问题转手 3 次才解决客服规则维护成本高新场景规则经常失效

1. 解决的问题

大促高峰期每日 5 万条跨领域工单,正确路由率从 61% → 82%,每天减少约 10,500 条二次转单 - 单条转单处理成本约 5 元,节约运营成本 5.25 万元/天;年化 1900 万元 - 用户 CSAT 评分从 3.8 → 4.3(满分 5),复购意愿提升可观

2. 核心算法逻辑

AgentRouter 解决多智能体系统(MAS)中最头疼的调度问题:当一个复杂查询进来时,如何决定把任务交给哪个 Agent?传统路由依赖 LLMasjudge 的 Prompt 规则,看不到查询背后隐藏的深层语义关系,经常把"技术故障导致退换货"错判为纯政策问题。

3. 业务应用场景

大促期间用户抛出跨领域复合型投诉:"我上周买的 A 型号吸奶器,配的 B 充电线插上去闪红灯,而且你们退换货政策说 C 情况不让退,我这算吗?"。传统意图识别只抓住"退换货"关键词,直接转给政策 Agent,导致技术故障原因被忽略,回答残缺不全,用户满意度下降 23%。

| 数据类型 | 格式 | 说明 | |---------|------|------| | 产品知识图谱 | (产品, 配件, 故障类型) 三元组 | 各型号产品的硬件关系图 | | 历史工单 + Agent 处理结果 | JSONL:{query, assigned_agent, csat_score} | 用于训练路由器 | | Agent 能力标签 | 字典:{agent_name: [domain_tags]} | 技术排障/法务政策/订单/推荐 | | 领域实体词典 | 关键词 → 领域映射 | "充电/闪灯" → product_tech |

- 大促高峰期每日 5 万条跨领域工单,正确路由率从 61% → 82%,每天减少约 10,500 条二次转单 - 单条转单处理成本约 5 元,节约运营成本 5.25 万元/天;年化 1900 万元 - 用户 CSAT 评分从 3.8 → 4.3(满分 5),复购意愿提升可观

4. 输入数据要求

请查看原始代码模板获取输入规格。

5. 输出结果

请查看原始代码模板获取输出规格。

6. 业务价值 / ROI

  • ROI 高:路由准确率从 61% → 82% 对应真实可量化的转单成本节省(5元/条 × 10500条/天)
  • 难度中等:核心 GNN 代码已封装(见 model.py),主要工作在于:① 产品/政策知识图谱搭建(约 2 周);② 历史工单标注训练集构建(约 3 周);③ 上线 A/B 验证(约 2 周)
  • 优先级高:直接解决大促高峰的客服分发瓶颈,属于 WF-C(客服工作流)的 P0 基础设施
  • Gap 价值:改变了知识图谱仅作"外部字典"查询的被动角色,让 KG 成为整个多 Agent 团队的调度中枢,属于图谱驱动智能体的核心能力跃升

7. 代码模板

代码块数量:5 · 路径:未检测到

from paper2skills_code.knowledge_graph.agentic_kg_2024.model import (
    AgentRouter, AgentProfile
)
import numpy as np

# 1. 初始化路由器(feat_dim=8, hidden_dim=16, top_k=2)
router = AgentRouter(feat_dim=8, hidden_dim=16, top_k=2)

# 2. 注册业务 Agent
rng = np.random.default_rng(1)
router.register_agent(AgentProfile(
    name="技术排障Agent",
    domains=["product_tech", "product_info"],
    feature_vector=rng.uniform(-1, 1, 8),
))
router.register_agent(AgentProfile(
    name="法务政策Agent",
    domains=["policy"],
    feature_vector=rng.uniform(-1, 1, 8),
))

# 3. 添加领域知识图谱实体
router.add_knowledge_entity("充电故障知识库", ["product_tech"])
router.add_knowledge_entity("退换货政策图谱", ["policy", "order"])

# 4. 路由执行
result = router.route(
    "我的吸奶器充电线插上去闪红灯,而且你们的退换货政策说不让退,我这算吗?"
)

print(f"Top-K 路由: {result.top_k_agents}")
# 输出示例: [('技术排障Agent', 0.68), ('法务政策Agent', 0.32)]
print(f"路由原因: {result.routing_reason}")

# 5. 使用路由权重进行加权协作(示意)
for agent_name, weight in result.top_k_agents:
    response = call_agent(agent_name, result.query, weight=weight)
    # ... 加权聚合 response

8. 论文来源

  • 2510.05445