# 阶段 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` (新): ```python 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 数据库扩展 ```sql -- 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` (新): ```python 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` (新): ```python 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 数据库扩展 ```sql -- 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 满载任务产出,供项目组评审*