23.Multi-Agent不是聊天——如何拆分 Data / Strategy / Report Agent
·
这篇要讲清楚一句话:
💥 Multi-Agent 的本质不是“多聊天角色”,而是“职责解耦 + 流程编排”
项目 git 地址:ai-ops-assistant-lab
🧠 一、为什么 Multi-Agent 很多人用错了?
很多人第一次做 Agent 系统时,会这样设计:
客服Agent:
- 问什么都能答
- 查数据
- 写SQL
- 做分析
- 出报告
❌ 问题本质:
👉 一个 Agent 做了所有事
结果:
- Prompt变复杂
- 输出不可控
- 容易“胡说”
- 难维护
- 无法扩展
💥 一句话总结问题:
👉 把系统设计成了“聊天机器人”,而不是“流水线系统”
🧠 二、正确思路:Agent = 职责切片
在 AI 运营助手中,我们必须这样拆:
🧩 三个核心 Agent
1️⃣ Strategy Agent(策略层)
2️⃣ Data Agent(数据层)
3️⃣ Report Agent(输出层)
🟢 三、Strategy Agent(策略层)
🎯 职责
👉 把“用户问题”转成“可执行任务”
💡 它做什么?
- 理解意图
- 拆解指标
- 规划分析路径
📥 输入:
最近7天用户流失情况如何?
📤 输出:
{
"intent": "churn_analysis",
"metrics": ["active_user", "churn_user"],
"time_range": "7d"
}
💥 核心价值:
👉 决定“查什么”
🟡 四、Data Agent(数据层)
🎯 职责
👉 把策略转换成“数据查询”
💡 它做什么?
- SQL生成
- 数据查询
- 数据返回
📥 输入:
{
"metrics": ["active_user"],
"time_range": "7d"
}
📤 输出:
{
"active_user": 1234,
"churn_user": 321
}
💥 核心价值:
👉 决定“怎么查数据”
🔵 五、Report Agent(输出层)
🎯 职责
👉 把数据转成“人类可读报告”
💡 它做什么?
- 数据解释
- 趋势分析
- 输出报告
📥 输入:
{
"active_user": 1234,
"churn_user": 321
}
📤 输出:
# 用户流失分析报告
- 活跃用户:1234
- 流失用户:321
结论:流失率较高,需要优化留存策略。
💥 核心价值:
👉 决定“怎么表达结论”
🧠 六、完整链路(非常重要)
User Question
↓
Strategy Agent
↓
Data Agent
↓
Report Agent
💥 一句话总结架构:
👉 Strategy 决策“查什么”,Data负责“怎么查”,Report负责“怎么说”
🧠 七、为什么这样拆是正确的?
💥 1️⃣ 解耦复杂度
| Agent | 复杂度 |
|---|---|
| Strategy | 业务逻辑 |
| Data | SQL逻辑 |
| Report | 文本生成 |
💥 2️⃣ Prompt更稳定
👉 每个 Prompt 只解决一个问题
💥 3️⃣ 可替换性
你可以:
- 替换 Data Agent → Doris / MySQL
- 替换 Report Agent → GPT / Claude
- 替换 Strategy Agent → 更强模型
💥 4️⃣ 更容易扩展
后面可以加:
- Alert Agent
- Visualization Agent
- Tool Agent
🧠 八、Prompt设计(核心重点)
🟢 1️⃣ Strategy Agent Prompt
你是一个数据策略分析器。
请从用户问题中提取:
- 分析意图
- 指标列表
- 时间范围
输出JSON结构,不要解释。
🟡 2️⃣ Data Agent Prompt
你是SQL生成器,请根据指标生成查询逻辑。
要求:
- 不允许猜字段
- 只能使用给定指标
- 输出SQL或查询计划
🔵 3️⃣ Report Agent Prompt
你是数据分析师,请根据数据生成业务报告。
要求:
- 简洁
- 结构化
- 有结论
🧠 九、工程实现建议(非常重要)
🧩 不要让 Agent“互相调用”
👉 正确方式:
workflow控制调用
❌ 错误方式:
Agent A 调 Agent B
💥 推荐架构:
Workflow(控制层)
↓
Agent1 → Agent2 → Agent3
🧠 十、这一篇的本质(一定要记住)
💥 一句话总结:
👉 Multi-Agent 的核心不是“多模型对话”,而是“职责拆分 + 流程编排”
🚀 下一篇预告
更多推荐


所有评论(0)