路线图

11 产品化与业务集成

星辉 2026-07-02 阅读 4 min 642 字 路线图
11 产品化与业务集成 封面

学习目标:能把 Agent 接入真实业务系统,完成查询、生成、审批、通知、写入等任务。 重点度:需要会(3 分)—— 技术深度低但就业价值高 前置要求:Ch1-10 全部章节


概述#

Agent 最终不是 Demo, 而是要进入真实业务流程。

本章技术深度低(3 分),但在国内"接飞书/企微/钉钉 + 多租户 + 计费"恰恰是把 Demo 变成可交付产品、能直接对应岗位 JD 的关键——就业价值高于其技术分值

很多工程师卡在这一步:技术做得再好,不接进业务系统就没法上线。


企业系统接入#

常见接入方式#

接入方式适用场景特点
REST API通用业务系统标准、易调试
Webhook事件驱动(订单创建/状态变更)异步、被动
GraphQL复杂查询灵活但实现复杂
gRPC内部微服务高性能
消息队列异步任务、解耦Kafka/RabbitMQ/RocketMQ
定时任务批量、定时Cron / Airflow

异步任务模式#

Agent 任务通常耗时较长(几十秒到几分钟),不能让 HTTP 请求阻塞:

text
1. 用户提交任务
   POST /api/agent/run
   → 立即返回 task_id

2. Agent 异步执行
   后台 worker 跑 Agent
   更新 task 状态: pending → running → done

3. 用户查状态
   GET /api/agent/{task_id}/status
   → {status: "running", progress: 60%}

4. 完成通知
   Webhook / WebSocket / IM 推送
   "你的任务完成了, 点击查看"

Webhook 设计#

python
# Agent 完成后回调业务系统
@app.post("/api/agent/{task_id}/webhook")
def register_webhook(task_id, callback_url):
    task = load_task(task_id)
    task.webhook_url = callback_url

async def on_task_complete(task):
    if task.webhook_url:
        await httpx.post(task.webhook_url, json={
            "task_id": task.id,
            "status": "completed",
            "result": task.result
        })

IM 渠道接入(飞书 / 企微 / 钉钉 / Slack)#

为什么 IM 是 Agent 重要入口#

国内企业 Agent 大量通过 IM 渠道使用:

  • 用户已经在 IM 里工作,不用切换工具
  • IM 天然支持多轮对话、富文本、卡片
  • 群聊场景支持多人协作
  • 移动端友好

飞书接入#

python
# 飞书机器人接收消息
@app.post("/feishu/webhook")
def feishu_webhook(event):
    message = event["message"]
    user_id = message["user_id"]
    text = message["text"]
    
    # 异步触发 Agent
    task_id = agent.run_async(user_id, text)
    
    # 立即回复"处理中"
    feishu.reply(message_id, "收到, 正在处理...")

# Agent 完成后推送结果
async def on_agent_complete(task):
    feishu.send_card(
        user_id=task.user_id,
        card={
            "header": {"title": "任务完成"},
            "elements": [
                {"tag": "div", "text": task.result_summary},
                {"tag": "action", "actions": [
                    {"tag": "button", "text": "查看详情", "url": task.detail_url},
                    {"tag": "button", "text": "重新生成", "type": "primary"}
                ]}
            ]
        }
    )

企微 / 钉钉 / Slack#

接入模式类似,差异在:

渠道特点
飞书卡片能力强、API 完善、企业生态好
企微腾讯生态、与微信打通、国内合规友好
钉钉阿里生态、用户量大、审批流强
Slack海外主流、App 生态丰富

多渠道适配#

python
class ChannelAdapter:
    def receive_message(self, raw_event) -> Message: ...
    def send_message(self, user_id, text) -> None: ...
    def send_card(self, user_id, card) -> None: ...
    def send_approval(self, user_id, request) -> Approval: ...

class FeishuAdapter(ChannelAdapter): ...
class WeComAdapter(ChannelAdapter): ...
class DingTalkAdapter(ChannelAdapter): ...
class SlackAdapter(ChannelAdapter): ...

让 Agent 逻辑与渠道解耦——同一套 Agent 能接多个 IM。


浏览器接入与 Agent UI#

Web Agent UI#

除了 IM,还有 Web 界面:

  • 聊天界面:类 ChatGPT 的对话交互
  • 任务面板:列表展示进行中/已完成任务
  • 审批中心:集中处理待审批操作
  • 结果展示:报告/图表/代码 diff 等富内容

Agent UI 关键设计#

  • 流式输出:长回答边生成边显示
  • 工具调用展示:让用户看到 Agent 在调用什么工具
  • 进度反馈:长任务显示进度条
  • 打断与取消:用户能随时打断
  • 历史会话:可回看历史任务
  • 审批入口:高风险操作有醒目审批 UI

多租户与计量#

多租户隔离#

text
Tenant A (公司 A)
  ├── 用户 A1, A2, A3
  ├── 数据: A 公司的知识库、文件
  ├── 配置: A 公司的 Agent 配置、prompt
  └── 凭证: A 公司的 API Key、OAuth

Tenant B (公司 B)
  ├── 用户 B1, B2
  ├── 数据: B 公司的知识库、文件 (A 看不到)
  └── 配置: B 公司的 Agent 配置

关键隔离维度

  • 数据隔离:DB 行级隔离(tenant_id 字段)或库级隔离
  • 配置隔离:每个 tenant 独立 Agent 配置
  • 凭证隔离:每个 tenant 独立 API Key / OAuth
  • 资源隔离:CPU/内存/存储配额
  • 权限隔离:每个 tenant 内部独立权限体系

成本计量#

python
# 按 tenant / user / feature 维度统计成本
cost_record = {
    "tenant_id": "tenant_a",
    "user_id": "user_123",
    "feature": "code_review",
    "task_id": "task_789",
    "llm_cost": 0.05,
    "tool_cost": 0.01,
    "infra_cost": 0.005,
    "total_cost": 0.065,
    "timestamp": "..."
}

# 实时统计 + 配额限制
if tenant_a.used_budget > tenant_a.budget_limit:
    raise BudgetExceededError("公司 A 已超本月预算")

计费模型#

模型适用
按任务计费每个任务固定价
按 token 计费透明但用户难预估
按订阅月费/年费, 含额度
按席位每用户每月固定
混合订阅 + 超额按量

Agent Marketplace#

是什么#

类似 App Store,让第三方开发者发布 Agent / Skill,用户一键安装:

  • Dify Marketplace:Dify 平台 Agent 商店
  • Coze Bot Store:字节 Coze 的 Bot 商店
  • ClawHub:OpenClaw 技能市场(见 Ch8)
  • 企业内部 Marketplace:公司内部 Agent / 工具共享

关键能力#

  • 发布 / 搜索 / 评分 / 评论
  • 版本管理 / 兼容性
  • 权限声明 / 安装审核(见 Ch8 安全)
  • 收益分成 / 计费

上线 checklist#

把 Agent Demo 变成可上线产品,至少要解决:

text
[ ] 业务集成
  [ ] 接入目标业务系统 (API/Webhook/MQ)
  [ ] IM 渠道接入 (飞书/企微/钉钉)
  [ ] 异步任务模式 (不阻塞 HTTP)
  [ ] 任务状态查询接口
  [ ] 完成通知机制

[ ] 多租户
  [ ] tenant 隔离 (数据/配置/凭证/资源)
  [ ] 资源配额
  [ ] 成本计量

[ ] 安全合规
  [ ] 权限分级 (Ch10)
  [ ] 审计日志 (Ch10)
  [ ] 数据脱敏 (Ch10)
  [ ] 备案合规 (国内大模型需备案)

[ ] 可观测
  [ ] Trace 收集 (Ch9)
  [ ] 评测回归 (Ch9)
  [ ] 监控告警

[ ] 运维
  [ ] 部署 / 灰度 / 回滚
  [ ] 容量规划
  [ ] 故障预案

阶段产出#

完成本章后应该能:

  • 设计 Agent 异步任务模式(task_id + 状态查询 + 完成通知)
  • 接入飞书 / 企微 / 钉钉 / Slack(用 ChannelAdapter 解耦)
  • 实现 Webhook 回调业务系统
  • 设计 Web Agent UI(流式输出 / 工具调用展示 / 审批入口)
  • 实现多租户隔离(数据/配置/凭证/资源)
  • 实现成本计量(按 tenant/user/feature 维度)
  • 设计计费模型(按任务/token/订阅/席位)
  • 评估 Agent Marketplace 集成
  • 跑通上线 checklist(业务集成 + 多租户 + 安全合规 + 可观测 + 运维)

至此主线 10 章完成。下一步按目标岗位深入(见岗位分支附录 A-G)。