Skip to content

完整使用场景示例

本文档提供端到端的实战案例,展示如何使用 Sira AI 构建真实的 AI 应用。

案例 1:智能客服系统

业务需求

某电商公司需要一个智能客服系统:

  • 7×24小时在线
  • 自动回答常见问题(商品、订单、物流)
  • 复杂问题转人工
  • 支持图片识别(用户发送订单截图)
  • 多渠道接入(企业微信、官网)

系统设计

架构

用户 → Application (企微/Web)
     → Orchestrator (Conditional 路由)
        ├→ 商品咨询 Agent
        ├→ 订单查询 Agent
        ├→ 物流查询 Agent
        └→ 通用客服 Agent (默认)

实施步骤

第 1 步:准备 AI 模型

yaml
模型配置:
  名称: gpt-4o-mini
  提供商: OpenAI
  API Key: sk-xxx
  模型类型: [LLM, VISION]  # 支持图片识别
  Temperature: 0.3  # 客服需要确定性强的回复

第 2 步:创建知识库

yaml
知识库 1: 商品信息
  文档:
    - 商品目录.pdf
    - 产品规格书.docx
    - 常见问题.md

知识库 2: 订单流程
  文档:
    - 下单流程.md
    - 退换货政策.pdf
    - 发票说明.docx

知识库 3: 物流信息
  文档:
    - 配送时效.md
    - 快递公司列表.xlsx

第 3 步:创建专业 Agents

Agent 1: 商品咨询专家

yaml
名称: product_consultant
显示名称: 商品咨询专家
模型: gpt-4o-mini
模型类型: [LLM, VISION]

系统提示词: |
  你是电商平台的商品咨询专家。

  【职责范围】
  - 解答商品功能、规格、价格问题
  - 提供选购建议
  - 对比不同商品
  - 识别用户发送的商品图片

  【回复规范】
  - 专业、准确、易懂
  - 重点突出商品优势
  - 适时推荐相关商品
  - 不做不实承诺

  【限制】
  - 不处理订单问题(引导咨询订单专家)
  - 不处理物流问题(引导咨询物流专家)
  - 价格以系统为准,不承诺额外优惠

知识库: [商品信息]
MCP 工具: []  # 商品咨询不需要外部工具

Agent 2: 订单查询专家

yaml
名称: order_specialist
显示名称: 订单查询专家
模型: gpt-4o-mini
模型类型: [LLM, VISION]  # 识别订单截图

系统提示词: |
  你是订单查询专家。

  【职责范围】
  - 查询订单状态
  - 处理订单修改
  - 解答订单问题
  - 识别订单截图获取订单号

  【使用工具】
  - order_query_tool: 查询订单信息

  【回复流程】
  1. 获取订单号(用户提供或从截图识别)
  2. 调用工具查询订单
  3. 解释订单状态
  4. 提供后续操作建议

  【限制】
  - 不处理商品咨询(引导咨询商品专家)
  - 敏感操作需验证用户身份

知识库: [订单流程]
MCP 工具: [order_query_tool]  # 需要配置订单查询工具

Agent 3: 物流查询专家

yaml
名称: logistics_specialist
显示名称: 物流查询专家
模型: gpt-4o-mini

系统提示词: |
  你是物流查询专家。

  【职责范围】
  - 查询物流信息
  - 预估配送时效
  - 处理物流异常
  - 解答配送问题

  【使用工具】
  - logistics_query_tool: 查询物流轨迹

  【回复规范】
  - 及时告知物流状态
  - 异常情况主动说明
  - 提供联系方式

知识库: [物流信息]
MCP 工具: [logistics_query_tool]

Agent 4: 通用客服

yaml
名称: general_service
显示名称: 通用客服
模型: gpt-4o-mini

系统提示词: |
  你是通用客服助手。

  【职责范围】
  - 处理未分类的问题
  - 基础咨询和问候
  - 引导用户到专业客服
  - 收集反馈建议

  【转接规则】
  - 商品问题 → 咨询商品专家
  - 订单问题 → 咨询订单专家
  - 物流问题 → 咨询物流专家
  - 复杂问题 → 转人工客服

知识库: []
MCP 工具: []

第 4 步:创建 Orchestrator(Conditional 路由)

yaml
Orchestrator:
  名称: customer_service_routing
  显示名称: 智能客服路由
  类型: CONDITIONAL

路由规则:
  规则 1 - 商品咨询:
    名称: 商品咨询
    关键词: [
      "商品", "产品", "价格", "规格", "功能",
      "推荐", "选购", "对比", "参数", "性能"
    ]
    Agent: product_consultant
    优先级: 1

  规则 2 - 订单查询:
    名称: 订单查询
    关键词: [
      "订单", "下单", "支付", "退款", "取消",
      "订单号", "发票", "改地址"
    ]
    Agent: order_specialist
    优先级: 2

  规则 3 - 物流查询:
    名称: 物流查询
    关键词: [
      "物流", "快递", "配送", "发货", "到货",
      "派送", "签收", "运单号"
    ]
    Agent: logistics_specialist
    优先级: 3

  默认 Agent: general_service

第 5 步:创建 Applications

Application 1: 企业微信(内部客服)

yaml
平台: wework_aibot
名称: internal_customer_service
显示名称: 内部客服系统
Orchestrator: customer_service_routing

配置:
  Corp ID: ww123456
  Agent ID: 1000001
  Agent Secret: xxx
  Token: xxx
  Encoding AES Key: xxx

用途: 员工查询订单、物流

Application 2: 官网客服

yaml
平台: webclient
名称: website_customer_service
显示名称: 在线客服
Orchestrator: customer_service_routing

配置:
  自动生成Token: 

用途: 官网访客咨询

测试场景

场景 1:商品咨询

用户: "你们的iPhone 15 Pro有哪些颜色?"

系统路由: 匹配"商品"关键词 → product_consultant

Agent 响应:
  iPhone 15 Pro 提供以下颜色:
  1. 原色钛金属
  2. 白色钛金属
  3. 蓝色钛金属
  4. 黑色钛金属

  您偏好哪种颜色呢?我可以为您提供更多信息。

场景 2:订单查询(含图片)

用户: [发送订单截图] "帮我查下这个订单"

系统路由: 匹配"订单"关键词 → order_specialist

Agent 处理:
  1. 使用 Vision 识别截图中的订单号: "2024010112345"
  2. 调用 order_query_tool 查询
  3. 获取订单信息

Agent 响应:
  已查询到订单 2024010112345:
  - 状态:已发货
  - 商品:iPhone 15 Pro 256GB 蓝色钛金属
  - 预计送达:2024年1月5日
  - 快递单号:SF1234567890

  您的包裹正在派送中,预计明天送达。

场景 3:物流查询

用户: "快递怎么还没到?"

系统路由: 匹配"快递"关键词 → logistics_specialist

Agent 响应:
  请提供您的订单号或快递单号,我帮您查询物流信息。

用户: "订单号2024010112345"

Agent 处理:
  调用 logistics_query_tool 查询

Agent 响应:
  您的包裹物流信息如下:
  - 快递公司:顺丰速运
  - 运单号:SF1234567890
  - 当前状态:派送中
  - 最新动态:[2024-01-04 14:30] 快递员张师傅派送中,电话138xxxx1234

  预计今天送达,请保持电话畅通。

场景 4:未分类问题

用户: "你好"

系统路由: 无匹配 → general_service (默认)

Agent 响应:
  您好!我是智能客服助手,很高兴为您服务。

  我可以帮您:
  • 商品咨询:了解商品功能、价格、规格
  • 订单查询:查询订单状态、物流信息
  • 物流查询:查询配送进度

  请问有什么可以帮您的吗?

效果评估

上线效果

yaml
性能指标:
  - 响应速度: 平均 2.5 秒(从 5 分钟降至秒级)
  - 问题解决率: 82%(自动解决,无需人工)
  - 客户满意度: 4.6/5.0(提升 35%)
  - 人工客服量: 减少 80%

成本节约:
  - 客服人员: 从 20 人减至 5 人
  - 年度成本: 节约约 150 万元
  - ROI: 6 个月回本

案例 2:技术文档助手

业务需求

某软件公司需要技术文档助手:

  • 回答技术问题
  • 提供代码示例
  • 查询最新文档
  • 支持多个技术栈(React、Node.js、Docker)

系统设计

架构

用户 → Web Client
     → Orchestrator (Collaboration 顺序协作)
        ├→ 文档检索 Agent (查询内部文档)
        ├→ 代码生成 Agent (生成示例代码)
        └→ 技术专家 Agent (综合解答)

实施步骤

第 1 步:创建知识库

yaml
知识库: technical_docs
  文档:
    - React 开发指南.md
    - Node.js 最佳实践.pdf
    - Docker 部署手册.docx
    - API 参考文档.md
    - 故障排查指南.md

第 2 步:创建 Agents

Agent 1: 文档检索专家

yaml
名称: doc_retriever
显示名称: 文档检索专家
模型: gpt-4o-mini

系统提示词: |
  你是文档检索专家,负责查找相关技术文档。

  【职责】
  从知识库中检索最相关的文档内容
  提取关键信息和代码片段
  标注信息来源

  【输出格式】
  【文档来源】
  - 文档A: 相关内容...
  - 文档B: 相关内容...

知识库: [technical_docs]
MCP 工具: [Context7]  # 查询最新官方文档

Agent 2: 代码生成专家

yaml
名称: code_generator
显示名称: 代码生成专家
模型: gpt-4o  # 代码生成用更强的模型

系统提示词: |
  你是代码生成专家。

  【职责】
  - 生成高质量代码示例
  - 代码符合最佳实践
  - 添加必要的注释
  - 提供使用说明

  【代码规范】
  - 使用TypeScript/ES6+
  - 遵循ESLint规则
  - 包含错误处理
  - 提供完整可运行的示例

MCP 工具: [Context7]  # 参考官方示例

Agent 3: 技术专家

yaml
名称: tech_expert
显示名称: 技术专家
模型: gpt-4o

系统提示词: |
  你是资深技术专家,负责综合解答技术问题。

  【职责】
  - 整合文档检索和代码生成的结果
  - 提供深入的技术分析
  - 给出最佳实践建议
  - 清晰组织回复结构

  【回复结构】
  1. 问题理解
  2. 技术方案
  3. 代码示例(引用代码生成专家的结果)
  4. 最佳实践
  5. 相关资源(引用文档检索专家的来源)

MCP 工具: [Context7, WebSearch]

第 3 步:创建 Orchestrator

yaml
Orchestrator:
  名称: tech_docs_collaboration
  类型: COLLABORATION

配置:
  Agents:
    - doc_retriever
    - code_generator
    - tech_expert
  协作策略: SEQUENTIAL  # 顺序执行
  启用汇总: false  # 由 tech_expert 自己整合

第 4 步:创建 Application

yaml
平台: webclient
名称: tech_docs_assistant
显示名称: 技术文档助手
Orchestrator: tech_docs_collaboration

使用示例

问题:如何在 React 中使用 useEffect?

用户: "如何在 React 中使用 useEffect 监听状态变化?"

Step 1 - doc_retriever 执行:
  检索知识库 + 调用 Context7
  输出:
    【文档来源】
    - React 开发指南: useEffect 用于副作用处理...
    - Context7: React 19 最新文档 useEffect 说明...

Step 2 - code_generator 执行:
  基于文档生成代码
  输出:
    ```tsx
    import { useEffect, useState } from 'react';

    function UserProfile({ userId }: { userId: string }) {
      const [user, setUser] = useState(null);
      const [loading, setLoading] = useState(true);

      useEffect(() => {
        // 监听 userId 变化
        let cancelled = false;

        async function fetchUser() {
          setLoading(true);
          try {
            const response = await fetch(`/api/users/${userId}`);
            const data = await response.json();

            if (!cancelled) {
              setUser(data);
            }
          } catch (error) {
            console.error('Failed to fetch user:', error);
          } finally {
            if (!cancelled) {
              setLoading(false);
            }
          }
        }

        fetchUser();

        // 清理函数,防止内存泄漏
        return () => {
          cancelled = true;
        };
      }, [userId]); // 依赖数组:userId 变化时重新执行

      if (loading) return <div>Loading...</div>;
      return <div>{user?.name}</div>;
    }
    ```

Step 3 - tech_expert 整合:
  综合文档和代码,给出完整回复

最终回复:
  # useEffect 监听状态变化

  ## 问题理解
  您想了解如何使用 useEffect 监听 React 状态变化并执行副作用。

  ## 技术方案
  useEffect 是 React Hooks 中用于处理副作用的 API,通过依赖数组控制执行时机。

  ## 代码示例
  [引用 code_generator 生成的代码]

  ## 关键要点
  1. **依赖数组**: `[userId]` 表示当 userId 变化时重新执行
  2. **清理函数**: return 的函数在组件卸载或effect重新执行前调用
  3. **防止内存泄漏**: 使用 cancelled 标志避免在组件已卸载时更新状态

  ## 最佳实践
  - 避免在 effect 中直接修改依赖的状态(可能导致无限循环)
  - 始终提供依赖数组,避免不必要的执行
  - 异步操作要处理组件卸载的情况

  ## 相关资源
  - [React 开发指南 - useEffect 章节]
  - [React 19 官方文档 - Hooks API](https://react.dev/reference/react/useEffect)

案例 3:数据分析助手

业务需求

销售团队需要数据分析助手:

  • 查询销售数据
  • 生成分析报告
  • 制作可视化图表
  • 提供业务建议

系统设计

架构

用户 → 企业微信 AI Bot
     → Orchestrator (Supervisor 模式)
        ├→ Supervisor (任务分解和调度)
        ├→ 数据分析 Worker
        ├→ 报告撰写 Worker
        └→ 图表制作 Worker

实施步骤

第 1 步:开发自定义 MCP 工具

工具 1:数据库查询工具

python
# mcp_tools/database_query.py

from fastmcp import FastMCP
import mysql.connector

mcp = FastMCP("Database Query Tool")

@mcp.tool()
async def query_sales_data(
    start_date: str,
    end_date: str,
    group_by: str = "day"
) -> str:
    """查询销售数据

    Args:
        start_date: 开始日期 YYYY-MM-DD
        end_date: 结束日期 YYYY-MM-DD
        group_by: 分组维度 (day/week/month)

    Returns:
        JSON 格式的销售数据
    """
    conn = mysql.connector.connect(...)
    cursor = conn.cursor(dictionary=True)

    if group_by == "day":
        sql = """
        SELECT DATE(order_date) as date,
               SUM(amount) as total_sales,
               COUNT(*) as order_count
        FROM orders
        WHERE order_date BETWEEN %s AND %s
        GROUP BY DATE(order_date)
        ORDER BY date
        """
    # ... 其他分组逻辑

    cursor.execute(sql, (start_date, end_date))
    results = cursor.fetchall()

    return json.dumps(results, ensure_ascii=False)

注册到 Sira AI 后命名为 sales_query_tool

第 2 步:创建 Agents

Supervisor Agent

yaml
名称: data_analysis_supervisor
模型: gpt-4o  # Supervisor 需要强模型

系统提示词: |
  你是数据分析任务的协调者。

  【可用专家】
  - data_analyst: 数据分析专家,使用 sales_query_tool 查询数据
  - report_writer: 报告撰写专家,撰写分析报告
  - chart_maker: 图表制作专家,生成可视化图表

  【任务分解流程】
  1. 理解用户需求
  2. 拆分为子任务
  3. 依次委派给专家
  4. 汇总结果

  【委派示例】
  用户: "分析本月销售数据"
  步骤:
    1. 委派 data_analyst 查询并分析数据
    2. 委派 report_writer 撰写报告
    3. 委派 chart_maker 制作图表
    4. 汇总完整分析

MCP 工具: []  # Supervisor 不直接调用工具

Worker 1: 数据分析专家

yaml
名称: data_analyst
模型: gpt-3.5-turbo  # Worker 可用便宜模型

系统提示词: |
  你是数据分析专家。

  【职责】
  使用 sales_query_tool 查询数据并进行分析

  【分析流程】
  1. 调用工具查询数据
  2. 计算关键指标(总销售额、增长率、TOP产品等)
  3. 识别数据趋势和异常
  4. 输出结构化分析结果

MCP 工具: [sales_query_tool]

Worker 2: 报告撰写专家

yaml
名称: report_writer
模型: gpt-3.5-turbo

系统提示词: |
  你是商业报告撰写专家。

  【职责】
  基于数据分析结果撰写专业报告

  【报告结构】
  # 销售数据分析报告

  ## 数据概览
  - 时间范围
  - 总销售额
  - 订单数量

  ## 关键发现
  - 增长趋势
  - 热门产品
  - 异常情况

  ## 业务建议
  - 基于数据的actionable建议

MCP 工具: []

Worker 3: 图表制作专家

yaml
名称: chart_maker
模型: gpt-3.5-turbo

系统提示词: |
  你是数据可视化专家。

  【职责】
  基于数据创建可视化图表建议

  【图表类型】
  - 折线图:展示趋势
  - 柱状图:对比数据
  - 饼图:展示占比
  - 热力图:展示分布

  【输出格式】
  图表类型:折线图
  数据:[...]
  配置:{...}

MCP 工具: []  # 实际图表生成可以集成图表库

第 3 步:创建 Orchestrator

yaml
Orchestrator:
  名称: data_analysis_system
  类型: SUPERVISOR

配置:
  Supervisor: data_analysis_supervisor
  Workers:
    - data_analyst
    - report_writer
    - chart_maker
  启用汇总: true

第 4 步:创建 Application

yaml
平台: wework_aibot
名称: sales_analysis_bot
Orchestrator: data_analysis_system

配置:
  Corp ID: ww123456
  Agent ID: 1000003
  ...

使用示例

用户: "分析本月销售数据并生成报告"

Supervisor 分析:
  这个任务需要三个步骤:数据分析、报告撰写、图表建议

Step 1: 委派 data_analyst
  任务: "查询并分析2024年1月销售数据"

  data_analyst 执行:
    调用 sales_query_tool(start_date="2024-01-01", end_date="2024-01-31")
    返回:
      总销售额: 500万
      环比增长: 15%
      TOP产品: iPhone 15 Pro (120万), MacBook Pro (80万)
      订单数: 3,245笔

Step 2: 委派 report_writer
  任务: "基于以下数据撰写报告: [data_analyst的结果]"

  report_writer 执行:
    生成报告:
      # 2024年1月销售数据分析报告

      ## 数据概览
      - 时间范围: 2024年1月1日 - 1月31日
      - 总销售额: 500万元
      - 订单数量: 3,245笔
      - 环比增长: 15%

      ## 关键发现
      1. 销售强劲增长
         1月销售额较上月增长15%,表现优异

      2. 爆款产品
         - iPhone 15 Pro: 120万(24%)
         - MacBook Pro: 80万(16%)

      3. 订单增长
         订单数环比增长12%,客单价略有提升

      ## 业务建议
      1. 加大iPhone和MacBook库存
      2. 推出配件套餐提升客单价
      3. 分析增长原因,复制成功经验

Step 3: 委派 chart_maker
  任务: "为销售数据创建可视化建议"

  chart_maker 执行:
    建议图表:
      1. 折线图:每日销售额趋势
      2. 饼图:TOP10产品占比
      3. 柱状图:周销售对比

Supervisor 汇总:
  整合完整的分析报告,包含数据、文字和图表建议

效果

yaml
使用前:
  - 数据分析: 需要2小时(手动查询、Excel分析)
  - 报告撰写: 需要1小时
  - 总耗时: 3小时

使用后:
  - 完整分析: 30秒
  - 提升效率: 360倍
  - 准确性: 无人为错误

案例 4:多模态图片分析

业务需求

设计团队需要图片分析助手:

  • 分析设计稿
  • 提供改进建议
  • 从多个角度评价(设计、用户体验、技术实现)

系统设计

用户 → Web Client
     → Orchestrator (Collaboration 并行)
        ├→ 设计专家 (视觉设计分析)
        ├→ UX专家 (用户体验分析)
        └→ 技术专家 (实现难度分析)

实施步骤

创建 Agents(都需要 VISION)

Agent 1: 设计专家

yaml
名称: design_expert
模型: gpt-4o
模型类型: [LLM, VISION]  # 必须支持图片

系统提示词: |
  你是资深视觉设计专家。

  【分析维度】
  - 配色方案
  - 排版布局
  - 字体选择
  - 视觉层次
  - 品牌一致性

  【输出格式】
  【设计分析】
  优点:...
  改进建议:...
  评分:X/10

Agent 2: UX专家

yaml
名称: ux_expert
模型: gpt-4o
模型类型: [LLM, VISION]

系统提示词: |
  你是用户体验专家。

  【分析维度】
  - 信息架构
  - 交互流程
  - 可用性
  - 无障碍访问
  - 用户友好性

  【输出格式】
  【UX分析】
  用户路径:...
  痛点:...
  建议:...
  评分:X/10

Agent 3: 技术专家

yaml
名称: tech_expert
模型: gpt-4o
模型类型: [LLM, VISION]

系统提示词: |
  你是前端技术专家。

  【分析维度】
  - 实现难度
  - 技术选型
  - 性能考虑
  - 响应式设计
  - 兼容性

  【输出格式】
  【技术分析】
  实现方案:...
  技术难点:...
  工期估算:...
  评分:X/10

创建 Orchestrator

yaml
Orchestrator:
  名称: design_review
  类型: COLLABORATION

配置:
  Agents: [design_expert, ux_expert, tech_expert]
  协作策略: PARALLEL  # 并行,独立评审
  启用汇总: true

使用示例

用户: [上传设计稿] "请评价这个移动App首页设计"

三位专家并行分析(同时执行):

design_expert:
  【设计分析】
  优点:
  - 配色清新,符合品牌定位
  - 卡片式布局现代感强
  - 留白适当,视觉舒适

  改进建议:
  - 主CTA按钮可以更突出
  - 部分文字对比度偏低
  - 图标风格统一性待提升

  评分: 8/10

ux_expert:
  【UX分析】
  用户路径:
  首页 → 分类浏览 → 商品详情 → 加购 → 结算
  路径清晰,符合用户习惯

  痛点:
  - 搜索框位置不够明显
  - 分类入口层级过深
  - 缺少快速访问历史记录

  建议:
  - 搜索框置顶
  - 增加常用分类快捷入口
  - 添加"最近浏览"模块

  评分: 7/10

tech_expert:
  【技术分析】
  实现方案:
  - React Native / Flutter
  - 瀑布流布局 (可复用组件)
  - 图片懒加载

  技术难点:
  - 瀑布流性能优化
  - 多种卡片样式的统一管理
  - 深色模式适配

  工期估算: 15人日

  评分: 技术难度适中,可实现

系统汇总:
  综合三位专家的意见:

  【综合评价】
  这是一个整体质量较高的设计方案,视觉设计优秀,用户体验良好,
  技术实现难度适中。

  【设计维度】8/10
  配色和布局优秀,细节需优化

  【UX维度】7/10
  基本流程合理,部分交互需改进

  【技术维度】可行
  15人日工期,技术风险可控

  【优先改进项】
  1. 搜索框置顶(P0)
  2. 主CTA按钮加强(P0)
  3. 增加常用分类入口(P1)
  4. 统一图标风格(P1)

总结

架构选择指南

场景类型推荐架构案例
多场景路由Conditional智能客服(按问题类型路由)
多角度分析Collaboration技术文档助手、设计评审
复杂任务分解Supervisor数据分析助手
固定流程Workflow审批流程、数据处理
简单问答Single天气助手、FAQ

成本优化技巧

  1. 模型分层:Supervisor 用强模型,Worker 用便宜模型
  2. 工具选择:只配置必要的 MCP 工具
  3. 缓存策略:相同问题返回缓存
  4. 提示词优化:减少不必要的输出长度

常见陷阱

  1. 过度配置工具:Agent配置10个工具但只用2个
  2. 提示词不明确:Agent 不知道什么时候调用工具
  3. 架构过复杂:简单任务用了 Supervisor
  4. 忽略测试:没有充分测试就上线

下一步

学完所有教程后,您可以:

  1. 🚀 开始构建自己的 AI 应用
  2. 📖 阅读 API 文档 了解更多细节
  3. 🛠️ 开发自定义 MCP 工具扩展能力
  4. 💬 加入社区交流经验

💡 提示

  • 从简单场景开始,逐步尝试复杂编排
  • 充分测试后再上线生产环境
  • 持续优化提示词和配置
  • 关注成本和性能平衡

Apache-2.0 Licensed