93ba41ed79
- 新增 backend/app/api/approval.py 审批API - 前端H5支持发起审批、审批操作 - 添加审批卡片弹窗组件 - 路由注册审批模块
10 KiB
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写死审批链 - 复杂:用
spiffworkflowBPMN 引擎
- 简单:用
- 集成 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 自动结单
↓
生产稳定 + 持续优化
📌 关联文档
- 阶段1-已实现盘点: 阶段 1 完项
- 阶段2-3-任务: 阶段 2-3 任务拆解
- Wingman设计: AI Wingman 完整设计
- 外部系统集成: 火绒/联软/aTrust/eHR 集成
- 风险跟踪表: 项目风险审计
本规划是 2026-06-15 Claude 满载任务产出,供项目组评审