Files
wecom_it_smart_desk/docs/路线图/阶段4-5-规划.md
T
Simon 93ba41ed79 feat: 审批流程模块 (T审批A审批)
- 新增 backend/app/api/approval.py 审批API
- 前端H5支持发起审批、审批操作
- 添加审批卡片弹窗组件
- 路由注册审批模块
2026-06-15 09:32:41 +08:00

10 KiB

阶段 4-5 规划:数据驱动 + 工单闭环

生成日期: 2026-06-15 关联: PRD.md §5.2 阶段四 / 阶段五 前置依赖: 阶段 2-3 完项


📌 阶段 4:日志标准 + AI 知识库迭代

目标: 解决痛点 3-4(知识库人工维护效率低 + 缺乏数据驱动) 预期工时: 12-16 周 关联: Wingman设计 / SOPs

4.1 关键模块

4.1.1 会话标注体系

目标: 坐席对 AI 回复/草稿/排查步骤标注有用/无用,数据用于阶段 4 知识库迭代

实现:

  • 后端 backend/app/models/annotation.py (新):
    class Annotation(Base):
        __tablename__ = "annotations"
        id = Column(Integer, primary_key=True)
        agent_id = Column(String, ForeignKey("agents.id"))
        conv_id = Column(String, ForeignKey("conversations.id"))
        message_id = Column(String, ForeignKey("messages.id"))
        annotation_type = Column(String)  # helpful / not_helpful / wrong / missing
        comment = Column(Text)
        created_at = Column(DateTime)
    
  • 前端 frontend-agent/src/components/AnnotationPanel.vue:
    • 消息右侧 👍/👎 按钮
    • 弹窗写 comment
    • 提交落库
  • Alembic 010 迁移

验收:

  • 坐席可标注任何 AI 生成的内容
  • 标注数据可查询/导出(供后续分析)
  • 月度统计报告(标注数 / 准确率)

4.1.2 AI 知识库自动迭代闭环

目标: AI 错误率/标注分析 → 自动提炼新 FAQ → 入库 → 验证

实现:

  • 后端 backend/app/services/knowledge_evolution.py (新):
    • 周一 cron 跑一次
    • 取上周"wrong/missing"标注 ≥ 3 的会话
    • 调 Dify 工作流"提炼 FAQ"
    • knowledge 表(待人工审)
    • 通知 admin
  • 前端 frontend-admin/src/views/KnowledgeReview.vue:
    • 待审 FAQ 列表
    • 一键通过 / 拒绝 / 改写
    • 通过后正式入知识库
  • 知识库效果 A/B 测试(对比自动 vs 人工)

验收:

  • 闭环跑通(标注 → 提炼 → 审 → 入库)
  • 月度新 FAQ ≥ 20 条
  • 错误率从 X% 降到 Y%

4.1.3 数据统计看板

目标: 管理者看到核心指标(响应时间/解决率/坐席效率/知识库效果)

实现:

  • 后端 backend/app/api/analytics.py (新):
    • /api/v1/analytics/overview 总览
    • /api/v1/analytics/agents 坐席效率
    • /api/v1/analytics/knowledge 知识库效果
    • /api/v1/analytics/conversations 会话统计
  • 前端 frontend-admin/src/views/Dashboard.vue:
    • ECharts 图表
    • 实时刷新(WebSocket)
    • 时间筛选 + 导出
  • 关键指标:
    • 总会话数 / 已结单 / 待处理
    • 平均响应时间 / 平均结单时间
    • AI 自助解决率 / 坐席解决率
    • 知识库命中率 / 反馈率
    • 坐席效率(每小时结单数)

验收:

  • 看板 5 大模块齐全
  • 数据准确(对照 DB 验证)
  • 实时刷新(≤ 5 秒延迟)

4.2 数据库扩展

-- 010 alembic: 标注
CREATE TABLE annotations (
  id SERIAL PRIMARY KEY,
  agent_id VARCHAR(50) NOT NULL,
  conv_id VARCHAR(50) NOT NULL,
  message_id VARCHAR(50) NOT NULL,
  annotation_type VARCHAR(20) NOT NULL,
  comment TEXT,
  created_at TIMESTAMP DEFAULT NOW()
);

-- 011 alembic: 知识库条目
CREATE TABLE knowledge (
  id SERIAL PRIMARY KEY,
  question TEXT NOT NULL,
  answer TEXT NOT NULL,
  source VARCHAR(20) NOT NULL,  -- manual / auto / imported
  status VARCHAR(20) DEFAULT 'pending',  -- pending / approved / rejected
  hits INT DEFAULT 0,
  helpful INT DEFAULT 0,
  not_helpful INT DEFAULT 0,
  created_at TIMESTAMP DEFAULT NOW(),
  updated_at TIMESTAMP DEFAULT NOW()
);

-- 012 alembic: 反馈(知识库命中后的反馈)
CREATE TABLE knowledge_feedback (
  id SERIAL PRIMARY KEY,
  knowledge_id INT NOT NULL,
  agent_id VARCHAR(50),
  helpful BOOLEAN,
  comment TEXT,
  created_at TIMESTAMP DEFAULT NOW()
);

4.3 阶段 4 工时

模块 估计工时 难度
4.1.1 会话标注 2 周
4.1.2 知识库迭代 4 周 高(AI 闭环)
4.1.3 数据看板 3 周 中(前端图表)
数据库迁移 1 周
集成 + 部署 2 周
合计 12 周

4.4 风险

风险 等级 缓解
AI 提炼 FAQ 质量差 🟠 人工 review + 灰度发布
看板性能(数据大) 🟡 物化视图 + 缓存
标注数据稀疏 🟡 强制标注 + 提示坐席

📌 阶段 5:自动/辅助审核 + 开单 + 结单

目标: 多系统切换效率问题 → 统一工作台闭环 预期工时: 16-20 周 前置: 阶段 4 数据基础 + 外部系统集成(已就绪)

5.1 关键模块

5.1.1 工单系统

目标: 开会话即开单 → 全生命周期跟踪(开单→审批→处理→结单→归档)

实现:

  • 后端 backend/app/models/ticket.py (新):
    class Ticket(Base):
        __tablename__ = "tickets"
        id = Column(Integer, primary_key=True)
        ticket_no = Column(String, unique=True)  # T20260615001
        conv_id = Column(String, ForeignKey("conversations.id"))
        title = Column(String, nullable=False)
        description = Column(Text)
        category = Column(String)  # hardware / software / network / account
        priority = Column(String)  # low / medium / high / urgent
        status = Column(String, default="open")  # open / assigned / in_progress / pending / resolved / closed
        assignee_id = Column(String, ForeignKey("agents.id"))
        department = Column(String)
        sla_due = Column(DateTime)
        created_at = Column(DateTime)
        closed_at = Column(DateTime)
    
  • 工单流转:
    • 坐席一键"开会话转工单"
    • 工单可分配/转交/合并
    • SLA 自动跟踪(超时告警)
  • 集成火绒/联软(资产联动,见 外部集成)
  • 集成 eHR(账号联动)

验收:

  • 工单可从会话创建
  • 工单全生命周期跟踪
  • SLA 告警有效

5.1.2 审批流程

目标: IT 服务涉及多部门审批(资产申请 / 权限变更 / 远程协助)

实现:

  • 后端 backend/app/models/approval.py (新):
    class Approval(Base):
        __tablename__ = "approvals"
        id = Column(Integer, primary_key=True)
        ticket_id = Column(Integer, ForeignKey("tickets.id"))
        approver_id = Column(String, ForeignKey("agents.id"))
        step = Column(Integer)  # 审批层级 1/2/3
        decision = Column(String)  # pending / approved / rejected
        comment = Column(Text)
        created_at = Column(DateTime)
    
  • 工作流引擎:
    • 简单:用 if/else 写死审批链
    • 复杂:用 spiffworkflow BPMN 引擎
  • 集成 eHR(主管审批,取组织架构)
  • 集成企微(审批通知)

验收:

  • 3 步审批链跑通
  • 审批通过自动开单 / 拒绝回退
  • 企微推送通知

5.1.3 设备异常一站式处理

目标: 检测到设备异常 → 自动开单 → 自动派单

实现:

  • 集成火绒/联软:
    • 定时拉取终端告警
    • 异常员工自动开会话/工单
    • 一键远程协助
  • 集成 aTrust(VPN):
    • 员工 VPN 失败 → 自动检测 → 推会话
  • 前端 frontend-agent/src/views/DeviceAlerts.vue:
    • 异常告警列表
    • 一键处理(开单 / 远程 / 转人工)

验收:

  • 火绒/联软告警 → 会话 自动化
  • aTrust VPN 失败 → 自动检测

5.1.4 AI 辅助填单

目标: 会话结束 → AI 自动填工单(标题/描述/分类/优先级)

实现:

  • 后端 backend/app/services/ticket_ai.py (新):
    • 会话结束触发
    • 调 Dify "工单提炼"工作流
    • 返回 JSON(标题/描述/分类/优先级)
    • 坐席一键确认 / 改写
  • 减少坐席手动填写工作量 70%

验收:

  • AI 填单准确率 ≥ 80%
  • 坐席手动改写 < 20%

5.1.5 自动结单

目标: 简单问题 AI 自动结单 / 复杂问题 SLA 到时自动结单

实现:

  • 自动结单规则:
    • 客户无回复 ≥ 7 天 → 自动结单
    • 客户回复"谢谢/解决了" → 自动结单
    • SLA 超时未处理 → 升级 + 告警(不自动结)
  • 人工 review 队列(待审自动结单)

验收:

  • 自动结单准确率 ≥ 95%
  • 误结率 < 1%

5.2 阶段 5 数据库扩展

-- 020 alembic: 工单
-- (见 5.1.1 schema)

-- 021 alembic: 审批
-- (见 5.1.2 schema)

-- 022 alembic: 设备告警
CREATE TABLE device_alerts (
  id SERIAL PRIMARY KEY,
  source VARCHAR(20) NOT NULL,  -- huorong / lianruan / atrust
  employee_id VARCHAR(50),
  device_id VARCHAR(100),
  alert_type VARCHAR(50),
  severity VARCHAR(20),
  description TEXT,
  handled BOOLEAN DEFAULT FALSE,
  handled_by VARCHAR(50),
  created_at TIMESTAMP DEFAULT NOW()
);

-- 023 alembic: SLA 跟踪
CREATE TABLE sla_tracking (
  id SERIAL PRIMARY KEY,
  ticket_id INT NOT NULL,
  sla_type VARCHAR(20),  -- response / resolve
  due_at TIMESTAMP,
  breached BOOLEAN DEFAULT FALSE,
  notified_at TIMESTAMP
);

5.3 阶段 5 工时

模块 估计工时 难度
5.1.1 工单系统 6 周
5.1.2 审批流程 4 周
5.1.3 设备异常 3 周 中(集成)
5.1.4 AI 填单 2 周 中(Dify)
5.1.5 自动结单 2 周
集成 + 部署 3 周
合计 20 周

5.4 阶段 5 风险

风险 等级 缓解
工单系统复杂度爆炸 🟠 拆子模块,先 MVP 后扩展
审批链配置错误 🟠 严格测试 + 灰度
AI 填单准确率低 🟡 人工 review + 持续训练
多系统集成不稳定 🟠 熔断 + 降级 + 重试

📌 关键路径

阶段 2-3 完项 (本季度)
    ↓
阶段 4 启动 (数据基础)
    ├─ 4.1.1 会话标注 (前置)
    ├─ 4.1.2 知识库迭代
    └─ 4.1.3 数据看板
    ↓
阶段 5 启动 (闭环)
    ├─ 5.1.1 工单系统
    ├─ 5.1.2 审批流程
    ├─ 5.1.3 设备异常
    ├─ 5.1.4 AI 填单
    └─ 5.1.5 自动结单
    ↓
生产稳定 + 持续优化

📌 关联文档


本规划是 2026-06-15 Claude 满载任务产出,供项目组评审