Files
prop-ai-hr/docs/archive/2026-07-mvp-delivery/AI人力资源系统一期MVP版作战清单.md

453 lines
29 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# AI 人力资源系统 · 一期 MVP 版作战清单
> 版本:v1.10 | 日期:2026-07-04
> 用途:一份纸面作战图,支撑「2026-07-05 周日出可跑 MVP 演示、2026-07-06 周一给大老板演示」,同时说清「做了什么、没做什么、为什么」。
> 收敛来源:原《物业管家与生活顾问 AI 陪练系统建设方案》+ 一期实施方案(含 ch.14/15 选型评估)+ 2026-07-01 需求讨论纪要 + 数据资源模型主题域草案。
> v1.1 变更:D1–D8 决策已定(见第 8 节),相关章节同步锁定;D9(验收标准)待定。
> v1.2 变更:新增第 9 节「周末施工排期(2026-07-03 周五 / 2026-07-04 周六 / 2026-07-05 周日 · 2 人时间盒)」。
> v1.3 变更:D9 已定,新增第 10 节「一期最小可验收承诺」。至此 D1–D9 全部闭环。
> v1.4 变更:因 MVP 进度提前,新增 D10「资料中台提前加码」和第 11 节;MinIO、OSS-first 文档上传、Excel/PPT 解析进入当前施工线,图片智能分析列入下一阶段。
> v1.5 变更:新增 D11「向量库与语义检索路线」和第 12 节;一期选 Qdrant,保留 MySQL Fulltext,制度/SOP 回答采用混合召回 + 重排序 + 引用约束。
> v1.6 变更:Qdrant 本地编排和后端最小闭环已落地;上传后尽力 upsert 向量,检索时与 MySQL Fulltext 做 RRF 融合。
> v1.7 变更:资料处理服务端目录导入已从同步导入升级为后台任务,页面可轮询进度和按同目录重试。
> v1.8 变更:补齐 D12「用户端最小闭环」和第 5.1 节;MVP 必须能从候选人/员工视角发起至少 1 条路径,用户端拆为独立 `mobile/` Web/H5 工程,但不做原生 APP。
> v1.9 变更:候选人端面试练习已复用 AI 面试 API;补充资料已从本地选择升级为 OSS + `aihr_candidate_material` 入库,默认状态为 `待审核`。
> v1.10 变更:候选资料 HR 审核流已接入管理端 AI 面试页;支持按状态查看并标记 `已通过`/`已驳回`,候选人端刷新可见新状态。
---
## 0. 一页速览(TL;DR)
- **系统定位**:面向物业一线的「**选 · 用 · 育 · 留**」全生命周期 **AI 人力资源系统**(HR 老大提出、给大老板汇报)。原「AI 陪练」只是其中「育/用」一个模块。
- **死线**:2026-07-05 周日出可演示 MVP,2026-07-06 周一演示。团队约 2 人,时间极紧。
- **六条核心决议**:
1. **基座 = 若依(RuoYi)**,非 aifei / PandaWiki / JeecgBoot / Yuxi;集中式前后端分离,非微服务。
2. **数据模型 = 复用 Silverston《数据模型资源手册》卷1 HR 主干**(Party-Role 分离 + Product 目录承载 SOP 分层)。
3. **组织/人员/登录复用外部系统**,本系统只做「消费 + 扩展」,不当主数据源头。
4. **资料中台提前加码**:已知业务资料约 3GB,包含 PPT/图片/Excel/Word/PDF;一期不再只演示 seed SOP,要先把 MinIO + 文档入库 + 解析状态打底。
5. **语义检索路线 = MySQL Fulltext + Qdrant + rerank**:MySQL/MinIO 仍是事实源,Qdrant 只做向量索引;制度/SOP 必须混合召回、重排序、带引用回答。
6. **用户端必须显式进入 MVP**:管理端负责配置/审核/看结果;用户端负责候选人作答、员工对练、SOP 问答、案例上传。MVP 用独立 `mobile/` Web/H5 轻入口,不做原生 APP。
- **头号风险**:从单纯「范围失控」升级为**用户端缺口、资料规模、解析质量、异步任务稳定性、语义检索准确率和引用一致性**。MVP 仍守住第 5 节切割线,资料中台按第 11/12 节分片推进。
---
## 1. 定位与范围决议
**定位**:物业行业「选用育留」全生命周期 AI 人力资源系统。
| 生命周期段 | 覆盖能力 | 一期状态 |
|---|---|---|
| **选**(招聘) | AI 面试出题、候选人现场作答、AI 打分、面试记录 | 一期新增(原方案没有) |
| **用**(配置上岗) | 岗位 SOP 匹配、岗前/入职培训、上岗资格 | 一期 |
| **育**(训练) | 三角色对练、每日一练、专项训练营、错题本、师徒、案例学习 | 一期核心(原陪练主体) |
| **留**(保留发展) | 能力雷达图、认证等级、晋升/绩效关联、荣誉激励 | 一期建规则,挂钩推迟 |
| **案例沉淀**(贯穿) | 语音上传 → AI 整理 → 筛选 → AI 对话视频 | 一期(视频用样片) |
**明确移出一期范围(已定)**:
- 内容营销中心(原第七章):属营销/获客,与 HR 无关 → ✅ **一期砍除**(D5)。
- 独立语音 APP(豆包式):愿景,非交付物 → ✅ **MVP 用 Web**,APP 进二期(D6)。
- 双图谱知识图谱(Neo4j):冷启动成本高 → ✅ **一期先 RAG**,图谱降级二期(D4)。
---
## 2. 技术选型决议
**基座:若依(RuoYi)** — 前后端分离(Vue + Java / Spring Boot 4)、内置 RBAC + RAG 知识库 + 后台、社区成熟、无许可证风险、可与采购系统用户体系对齐。
**为什么不是其它候选(一句话留档)**:
| 候选 | 结论 | 一句话理由 |
|---|---|---|
| **aifei** | ✗ 不采用 | AI Coding 框架,只优化「怎么写代码」,不提供任何现成模块;84 star、文档不全、企业实现走 VIP 付费(与枪毙 PandaWiki 同款风险);违背刚敲定的若依决策与采购系统复用约束。 |
| PandaWiki | ✗ | 半开源、后续强制收费风险。 |
| JeecgBoot | ✗ | 代码生成集成度过高、二次修改难。 |
| Yuxi(玉溪) | 参考 | 仅二期借鉴其 Agent 能力,不做基座。 |
**架构**:集中式部署 + 前后端分离(非微服务)。理由:2 人小团队、无高并发、微服务开发协作成本高。
**必须自建(无任何框架可复用)**:三角色状态机(AI 客户/教练/考官)、评分引擎(情感+语义+SOP 关键点+Rubric)、方言 ASR 接入。这是一期真正的工程瓶颈。
**aifei 的可取之处(留作方法论,非选型)**:它的「数据模型越干净 → AI 生成越稳」这一洞察,反向强化了本项目「先把数据模型做扎实」的优先级。
---
## 3. 数据模型方向(选用育留 HR 主干)
**原则**:不发明表结构,抬 Silverston 通用企业模型的 HR 主干;通用主干优先,行业扩展后挂;主数据/事务/计量/治理分层建模。
**四段 × 核心实体(来自手册卷1 HR 章 + 通用主干)**:
| 段 | 核心实体(Silverston) | 落地对象 |
|---|---|---|
| 选 | `JOB APPLICATION`、`POSITION` | 招聘需求、职位、候选人、面试记录、offer |
| 用 | `POSITION`、`EMPLOYMENT`、`PRODUCT CATEGORY` | 岗位-SOP 映射、上岗资格 |
| 育 | `WORK EFFORT`、`ACTIVITY` | 训练/考核任务、对练记录、错题、学习路径 |
| 留 | `SKILL`、`QUALIFICATION` | 能力评估、认证等级、晋升规则 |
| 贯穿 | `PARTY` / `PARTY ROLE` | 主体与角色(见第 4 节同步边界) |
**两条关键建模决定**:
- **Party-Role 分离**:一个人在全生命周期里依次/同时是候选人→新员工→学员→师父→考官,用 Party + Role,不为每种身份建表。
- **SOP 用 Product-Category 层级 + Applicability 承载**:大类/中类/小类/行业 × 住宅/公建/景区。MVP 只填住宅类,其余预留结构。
- **关系库 vs 向量库切分**:元数据/权限/版本/正文片段事实源落 MySQL,原始文件落 MinIO,Qdrant 只存向量索引与最小 payload;MySQL Fulltext 保留做精确关键词召回。
---
## 4. 主数据同步边界(外部同步 vs 本地自有)
**「复用采购系统用户体系」= 三件独立的事,别混为一谈**:
| 事项 | 含义 | MVP 处置 |
|---|---|---|
| ① 认证 / SSO | 用户怎么登录本系统 | ✅ 已定(D2):**本地账号**登录;SSO 留二期对接项 |
| ② 权限映射 | 外部岗位/组织 → 本地角色 | 本地建映射表 |
| ③ 主数据同步 | 组织架构 + 人员基础信息 | 导静态快照兜底 |
**同步边界表(只读消费 vs 本地自有)**:
| 实体 | 归属 | 读写 |
|---|---|---|
| PARTY / PERSON / ORGANIZATION / 组织树 | 外部同步 | 只读 |
| POSITION / EMPLOYMENT / 任职 | 外部同步 | 只读 |
| PARTY ROLE(学员/师父/教练/考官/审核员/管理员) | 本地自有 | 读写 |
| 权限映射(外部岗位/组织 → 本地角色) | 本地自有 | 读写 |
| SKILL / QUALIFICATION(能力/认证) | 本地自有 | 读写 |
| JOB APPLICATION / 候选人 | 本地自有 | 读写 |
| WORK EFFORT(训练/考核/案例记录) | 本地自有 | 读写 |
**三条硬约束**:
- 本地只存外部 `party_id`,**绝不复制姓名/部门**;所有业务表只引用 ID。
- **候选人是例外**:未入职者不在外部系统,先本地建 Party,入职后与同步员工 Party 挂钩。
- 调岗/离职用 `FROM DATE / THRU DATE` 有效期承接,不物理删除,保历史可追溯。
---
## 5. MVP 三分切割线(核心作战图)⭐
> 规则:**2026-07-05 MVP 演示只做「英雄路径 + 壳」,其余明确归入一期或推迟。任何超出「2026-07-05 MVP 演示」列的东西,在冲刺期即刻砍掉。**
### 🔴 2026-07-05 MVP 演示必做(阻塞项)
| # | 事项 | 交付标准 |
|---|---|---|
| 1 | 核心陪练英雄路径 | 砍出 1–2 条**端到端跑通**(建议:语音面试→AI出题→答→打分;案例语音上传→AI整理成稿) |
| 2 | 住宅类内容冷启动 | 至少 1 份真实 SOP + 若干样例案例 + 1 套评分 Rubric(2026-07-03 基础日确认谁给料) |
| 3 | 组织/人员快照 | 导入静态快照或 mock 同步适配层(不依赖实时 API) |
| 4 | 案例→视频 | 用 1 段预渲染样片演示流程,不真跑视频生成 |
| 5 | 登录 | 本地账号可登入,SSO 标为「对接项」 |
| 6 | 大模型接入 | 公有云 API 先行(合规问题入闸门) |
| 7 | 方言语音 | 选 1 家 ASR/TTS 厂商,跑通 1 条语音路径 |
| 8 | 演示脚本 | 一页故事线:点开顺序 + 每屏一句价值(服务于 HR 老大邀功叙事) |
| 9 | 前端壳 | 全功能点可点开(AI 出图 + 若依脚手架批量生成),英雄路径精做 |
| 10 | 用户端轻入口 | 独立 `mobile/` Web/H5 工程提供候选人/员工/主管入口;演示时至少从用户端完成 1 条路径,管理端只负责配置和看结果 |
### 5.1 用户端最小切割线(新增 D12)
> 结论:没有用户端,MVP 会变成 HR 后台管理系统,无法证明一线员工/候选人真的能用。用户端要补,并拆成独立 `mobile/` Web/H5 工程,但不新建原生 APP。
| 端/角色 | 2026-07-05 MVP 演示必做 | 一期内补 | 明确推迟 |
|---|---|---|---|
| 管理端(HR/管理员/教练) | 配置内容、查看记录、查看评分/处理状态 | Rubric 配置、任务分派、审核流 | 多组织复杂工作流 |
| 候选人端 | 打开面试入口 → 听/看题 → 作答 → 提交 → 生成面试记录 | 面试邀请、历史记录、人工复核状态 | 外部招聘系统深度集成 |
| 员工/学员端 | 打开今日任务 → 三角色对练 / SOP 问答 / 案例上传 至少跑通 1 条 | 学习路径、错题本、能力雷达、认证进度 | 原生 APP、企微/钉钉深度集成、消息推送 |
**实现边界**:
- 用户端使用独立 `mobile/` Vue/Vite Web/H5 工程,与管理端 `frontend/` 分离;MVP 不做原生 APP。
- MVP 用户端走手机号短信登录;新手机号验证码通过后自动注册为 `app_user`。演示脚本必须从「用户端发起 → 管理端看结果」走一遍。
- 当前员工端已用“投诉接待三角色对练”跑通移动端训练闭环:两轮提交后自动评分,记录落 `aihr_practice_session`,并同步更新主管端完训人数、待复盘列表、复盘详情、标记已复盘状态和员工能力画像。
- 当前候选人端已用“开始面试/面试练习”复用 AI 面试 API;“补充资料”已接认证上传接口,文件写 `sys_oss`/MinIO,关系写 `aihr_candidate_material`,HR 可在管理端 `/recruit/interview` 审核为 `待审核`/`已通过`/`已驳回`,候选人端刷新可见状态。
- 用户端只做「能完成任务」,不做复杂个人中心、社交、积分商城。
### 🟡 一期内做(MVP 演示后)
数据地基:补全 HR 主干实体(#10)、关系/向量切分(#11)、招聘域(#12)、SOP 多层分类(#13)、Rubric 可配置(#14)、版本管理(#15)、ID 规约(#16)、数据范围字段(#17)、训练事务+学习路径(#18)。
能力与运营:LLM/ASR/视频运营成本测算(#23)、内容贡献激励+署名(#25)、Agent 落点标注(#33)、认证/晋升/绩效规则引擎(#34)。
### ⚪ 明确推迟(现在不做)
内容营销中心、原生 APP、知识图谱、实时同步、企业微信/钉钉深度集成、脱敏审计、AI 分数挂钩绩效/晋升 —— 均见第 7 节闸门或第 8 节决策。
---
## 6. 集成依赖兜底表(6 个,各指定负责人)
| # | 外部依赖 | 风险 | 兜底方案 | 负责人 |
|---|---|---|---|---|
| 1 | 组织/人员数据同步(采购系统) | 接口疑似与待批预算系统绑定,未就绪 | 静态快照 | ___ |
| 2 | 登录 SSO / 身份认证(采购系统) | 同上 | 本地账号 | ___ |
| 3 | 权限映射(外部→本地角色) | 依赖①的数据结构 | 本地先建规则 | ___ |
| 4 | 方言 ASR / TTS(第三方) | 厂商/延迟/川粤支持/计费未确认 | 选 1 家跑 1 条路径 | ___ |
| 5 | 大模型 API | 选型 + 业主 PII 出境合规 | 公有云 API 先行 | ___ |
| 6 | 数字人 / 视频生成 | 慢、贵 | 预渲染样片 | ___ |
---
## 7. 生产前闸门清单(现在不做,立字据,上线前必过)
| # | 闸门项 | 说明 |
|---|---|---|
| G1 | AI 打分定位 | 明确「辅助参考、人可否决」,不由 AI 直接决定绩效/晋升 |
| G2 | AI 招聘合规 | 候选人算法筛选保留人工复核,防算法歧视/法律风险 |
| G3 | 数据合规 | 业主 PII + 员工数据 脱敏 + 审计 + 数据权限(DR-10 承接) |
| G4 | 员工接受度 | 试点期配激励 + 沟通,化解「被 AI 监考」抵触 |
| G5 | 情绪树洞隐私 | 兑现「不留痕、不进训练集」,明确隐私边界 |
| G6 | 运营成本红线 | LLM/ASR/视频 月度调用成本设预算上限与降级策略 |
---
## 8. 决策项(D1–D12 已定)
| # | 决策项 | 决策结果 | 状态 |
|---|---|---|---|
| D1 | 系统/数据归属 | **归属项目**(以项目为 owner 与数据范围主体) | ✅ 已定 |
| D2 | 登录方式 | **本地账号**(SSO 留二期) | ✅ 已定 |
| D3 | 大模型选型 | **公有大模型 API**(出境合规入闸门 G3/G6) | ✅ 已定 |
| D4 | 知识图谱一期是否上 | **一期先 RAG**,图谱降二期 | ✅ 已定 |
| D5 | 内容营销中心去留 | **一期砍除** | ✅ 已定 |
| D6 | 原生 APP | **用独立 mobile/ Web/H5**,原生 APP 进二期 | ✅ 已定 |
| D7 | 老文档 vs 新 HR 框架口径 | **综合统一成新的一版**(见下方跟进项 F1) | ✅ 已定 |
| D8 | 企微/钉钉/工单集成深度 | **只列接口、不实现** | ✅ 已定 |
| D9 | 一期验收标准 / 量化承诺 | **最小可验收承诺已定**(见第 10 节;C3 一致率 70%、试点 1–2 项目) | ✅ 已定 |
| D10 | 资料中台是否提前建设 | **提前建设 MinIO + OSS-first 文档入库**;PDF/Word/Excel/PPT 先抽文本,图片智能分析进下一阶段 | ✅ 已定 |
| D11 | 向量数据库与语义检索路线 | **一期选 Qdrant**;MySQL Fulltext 保留,制度/SOP 采用关键词 + 向量混合召回、rerank、引用约束;Milvus/Weaviate/pgvector 暂缓 | ✅ 已定 |
| D12 | 用户端是否进入一期 | **必须进入**;MVP 用独立 `mobile/` Web/H5 轻入口,候选人/员工至少能发起 1 条英雄路径;原生 APP 和企微/钉钉深度集成推迟 | ✅ 已定 |
**由决策派生的跟进项**:
- **F1(源自 D7)**:综合原《建设方案》+ 一期实施方案 + 本清单,产出**统一新版对外方案**(口径:选用育留 AI 人力资源系统)。
- **F2(源自 D1)**:「归属项目」意味着数据权限以**项目为范围主体**——第 4 节同步边界、第二层 #17 数据范围字段,均按「项目级行权限」落地。
- **F3(源自 D3)**:公有大模型已定 → 业主 PII 出境是硬约束,闸门 **G3/G6** 升为一期必须评估项,不能纯推迟。
- **F4(源自 D12)**:演示脚本必须区分「用户端完成任务」和「管理端查看/审核」,否则系统价值会被误解成后台台账。
---
## 9. 周末施工排期(2026-07-03 / 2026-07-04 / 2026-07-05 · 2 人时间盒)
> 把第 5 节 🔴 2026-07-05 MVP 演示 10 项拆成两人施工单。**铁律:2026-07-05 不加新功能,只联调 + 精修 + 彩排。**
**分工**:
- **A = 技术**(若依骨架 / 后端 / 大模型 & 语音集成 / 评分逻辑)
- **B = 业务+前端**(SOP 内容 / Rubric / 案例样片 / UI 出图审校 / 快照造数 / 演示脚本)
### 2026-07-03 周五 · 基础日(把地基和素材备齐)
| 负责人 | 任务 | 对应项 |
|---|---|---|
| A | 若依骨架跑起来 + 本地账号登录 | #9骨架 #5 |
| A | 公有大模型 API 接通(一个能调通的对话接口) | #6 |
| A | 方言 ASR/TTS 选 1 家、接通、能出字 | #7 |
| B | 住宅类 SOP + 样例案例 + 评分 Rubric **定稿** | #2 |
| B | 组织/人员静态快照造数(或 mock 适配层) | #3 |
| B | 列全功能点清单 + 汇总 UI 出图需求;补齐候选人/员工用户端入口口径 | #9 #10准备 |
| **2026-07-03 收工验收** | 能登录 · 能调通大模型 · ASR 能出字 · 内容素材齐 · 功能点清单和用户端入口定稿 | |
### 2026-07-04 周六 · 主攻日(英雄路径 + 壳)
| 负责人 | 任务 | 对应项 |
|---|---|---|
| A | 英雄路径①后端:语音面试→AI 出题→答→打分(评分接 Rubric) | #1 |
| A | 英雄路径②后端:案例语音上传→转写→AI 整理成稿 | #1 |
| B | AI 出图 → 管理端 + 用户端前端壳批量搭(全功能点可点开) | #9 #10 |
| B | 案例→视频 样片预渲染 1 段 | #4 |
| B | 演示脚本初稿(点开顺序 + 每屏一句价值) | #8 |
| **2026-07-04 收工验收** | 2 条英雄路径后端可跑通(接口级) · 管理端/用户端壳全部可点开 · 样片就绪 · 脚本初稿 | |
### 2026-07-05 周日 · 联调彩排日(不加新功能)
| 负责人 | 任务 | 对应项 |
|---|---|---|
| A+B | 英雄路径前后端联调 + 精修 | #1 #9 |
| A+B | 用户端发起 → 管理端看结果 联调 | #10 |
| A+B | 兜底预案:每条英雄路径录一段屏,防现场翻车 | 全 |
| B | 演示脚本定稿 + 彩排 2 遍 + 卡点预案 | #8 |
| **2026-07-05 收工验收** | 端到端走一遍无致命卡点 · 有录屏兜底 · 彩排通过 | |
### 关键路径与止损
- **关键路径**:内容(#2)→ 英雄路径(#1)→ 联调。**内容不齐,一切空转**——B 在 2026-07-03 必须锁死 #2。
- **外部依赖兜底(呼应第 6 节)**:ASR / 大模型 / 视频 任一没接通,**立即切兜底**(mock / 录屏 / 样片),绝不卡主线。
- **如果落后**:保 **1 条**英雄路径 + 壳 + 脚本,**砍掉第 2 条**英雄路径。宁可少演一条、也要演通一条。
---
## 10. 一期最小可验收承诺(D9)
> 原则:验收只写**可判定**的东西——「是/否」或「可测量」。原方案的大 ROI 数字归入**愿景层,不作验收依据**。
### L0 · MVP 演示验收(2026-07-06 周一 · 过大老板)—— 全部「是/否」
| # | 验收项 | 通过标准 |
|---|---|---|
| L0-1 | 功能完整性 | 全部规划功能点在 Web 端**可点开、有界面**(壳可接受) |
| L0-2 | 英雄路径 | **至少 1 条**端到端真跑通(语音面试→AI 出题→作答→AI 出分+建议) |
| L0-3 | 知识库 | 住宅类 SOP 可检索,AI 问答能**引用 SOP 内容** |
| L0-4 | 案例流程 | 案例语音上传→AI 转写整理 可演示(视频用样片顶) |
| L0-5 | 演示鲁棒性 | 脚本走完**无致命卡点**,每条路径**有录屏兜底** |
| L0-6 | 用户端闭环 | 候选人/员工 Web 入口可打开,至少 1 条路径从用户端发起并在管理端看到结果/状态 |
### L1 · 一期验收(阶段交付 · 项目可收尾)
**A. 功能闭环(是/否)**
| # | 验收项 | 通过标准 |
|---|---|---|
| A0 用户端 | 候选人/员工/学员可登录或通过演示入口完成任务、训练、SOP 问答/案例提交;管理端可查看结果 |
| A1 选 | AI 面试出题 + 作答 + AI 打分,形成面试记录,闭环可用 |
| A2 用 | 住宅类岗位-SOP 匹配 + 岗前/入职培训任务 可分派、可完成 |
| A3 育 | 三角色对练**至少 1 类场景**(投诉或催费)端到端;每日一练可推送可评分 |
| A4 留 | 能力雷达图基于训练数据生成;认证等级规则可配置 |
| A5 案例 | 语音上传→AI 整理→筛选 流程跑通(视频可半自动/样片) |
**B. 数据与内容(是/否 + 量)**
| # | 验收项 | 标准 |
|---|---|---|
| B1 | 住宅类 SOP 入库、可检索、可引用 | ≥ 5 个核心流程(投诉/催费/报修/交付/巡检) |
| B2 | 案例库(脱敏) | ≥ 20 条 |
| B3 | 评分 Rubric 可配置(维度/权重/指标后台可改) | 是 |
| B4 | 组织/人员导入 + **项目级数据范围**权限生效 | 是 |
**C. 技术与质量(可测量)**
| # | 验收项 | 标准 |
|---|---|---|
| C1 | 集中式前后端分离部署,单项目试点稳定运行 | 是 |
| C2 | 语音对练单轮响应(ASR+LLM+评分) | ≤ 5 秒 |
| C3 | AI 打分与人工打分**分档一致率** | **≥ 70%** |
| C4 | RAG 对住宅类 SOP 问题**可用回答率**(人工评审) | ≥ 80% |
| — | 明确**不承诺**:高并发、多项目类型 | — |
**D. 试点效果(pilot 级过程指标,非业务 ROI)**
| # | 验收项 | 标准 |
|---|---|---|
| D1 | 试点范围 | **1–2 个住宅项目**,≥ 20 名员工 |
| D2 | 人均完成对练/考核 | ≥ 10 次 |
| D3 | 完训率 | ≥ 80% |
| D4 | 试点满意度 | ≥ 4 / 5 |
### 明确不纳入一期验收(移交二期 / 生产闸门)
- **合规上线**(脱敏/审计/业主 PII 出境评估)= 生产前闸门 **G3/G6**
- **AI 分数挂钩绩效/晋升/招聘决策** = 推迟(**G1/G2**),一期只做「辅助参考」
- 知识图谱、原生 APP、内容营销中心、多项目类型(公建/景区)、企微/钉钉深度集成、实时同步
### 愿景层(方向性目标,**不作为一期验收依据**)
> 培训周期↓、成本↓、投诉处理时效↑、增值转化↑、关键岗位流失↓ —— 均为方向性愿景,需更长周期与真实业务数据验证,一期不承诺、不验收。
---
## 11. 提前加码:资料中台施工线(v1.5)
> 背景:MVP 进度快于原计划,且已知业务资料约 3GB,包含 PPT、图片、Excel、Word、PDF。知识库不再只服务 SOP seed,而是要成为后续 RAG、文档解析、案例沉淀和 Chat 的公共入口。
### 11.1 当前立刻做(L0+)
| # | 事项 | 交付标准 |
|---|---|---|
| M1 | MinIO 本地对象存储 | `./scripts/dev.sh` 和 `--reset` 自动启动 MinIO,默认 bucket `ruoyi` 可用 |
| M2 | OSS-first 文档上传 | 知识库上传先落 `sys_oss`,再绑定 `aihr_knowledge_attach.oss_id`,同名文档替换旧片段 |
| M3 | 文档解析扩展 | 在现有 Tika 解析基础上支持 txt/md/PDF/Word/Excel/PPT 文本抽取 |
| M4 | MVP 页面反馈 | 上传后在 SOP 知识库展示 OSS ID、片段数、状态,可立即检索命中 |
### 11.2 下一阶段(P1)
| # | 事项 | 处理 |
|---|---|---|
| M5 | 解析任务状态页 | 已接 `/knowledge/processing` 和 `GET /api/knowledge/processing/overview`;展示等待解析/解析中/已完成/失败、片段数、向量化状态、处理链路和事件列表 |
| M6 | 3GB 资料批量导入 | 页面已支持多文件/浏览器目录选择批量导入 MVP 样例文件;已接 `POST /api/knowledge/doc/import-local-task` 从服务端导入根目录启动后台任务,并用 `GET /api/knowledge/doc/import-tasks` 轮询进度;运行中任务可取消;当前重试粒度是同目录重跑,单失败文件重试/暂停仍待做 |
| M7 | 图片智能分析 | 图片先落 OSS,再用视觉模型/OCR 生成结构化描述入库;不伪装成普通文本解析 |
| M8 | Qdrant 向量召回 | 已接 `qdrant` 本地服务;以 `aihr_knowledge_fragment` 为事实源 upsert 向量,与 MySQL Fulltext 双路召回后做 RRF 融合 |
| M9 | 制度/SOP 精确回答 | 检索必须带租户/项目/分类/版本/生效日期过滤,回答必须引用片段;低置信不编造 |
### 11.3 明确不做
- 不整包迁移 `ruoyi-chat`;只迁 `ruoyi-aihr` 当前需要的 loader、任务和检索能力。
- 不把 3GB 资料通过浏览器单次上传解决;浏览器上传只服务 MVP 和少量验证文件。
- 不把图片智能分析做成假 OCR;没有视觉模型/OCR 结果就先标为待处理。
---
## 12. 向量库与语义检索路线(v1.5)
> 结论:一期选 Qdrant。它只做向量索引,不替代 MySQL/MinIO;准确回答靠混合检索、重排序和引用约束,不是靠单一向量相似度。
### 12.1 选型结论
| 候选 | 结论 | 用法 |
|---|---|---|
| Qdrant | ✅ 一期采用 | 本地 Docker + dense vector + payload filter;后续可扩 sparse/hybrid |
| Milvus | 暂缓 | 大规模、高并发、集群化后再评估;当前运维成本偏重 |
| Weaviate | 暂缓 | 功能完整但平台边界更重;当前不需要整套知识库平台 |
| pgvector | 暂缓 | 本项目主库是 MySQL,不为向量单独引入 PostgreSQL |
### 12.2 存储边界
| 层 | 存什么 | 不存什么 |
|---|---|---|
| MySQL | 知识库、附件、片段、权限、分类、版本、生效日期、解析状态 | 大文件二进制 |
| MinIO | PDF/Word/Excel/PPT/图片/音频等原始文件 | 业务权限判断 |
| Qdrant | 向量、`fragmentId`、最小过滤 payload | 全文正文、权限主数据 |
**Qdrant payload 最小字段**:`tenantId`、`projectId`、`knowledgeId`、`docId`、`fragmentId`、`category`、`docType`、`version`、`effectiveDate`、`sourcePage/sourceSlide/sourceSheet`、`chunkHash`。
### 12.3 检索与回答流程
```mermaid
flowchart LR
Q["用户问题"] --> S["意图与范围识别"]
S --> K["MySQL Fulltext TopK"]
S --> V["Qdrant Vector TopK"]
K --> F["RRF 融合"]
V --> F
F --> R["rerank 重排序"]
R --> A["带引用回答"]
R --> L["低置信拒答/提示补资料"]
```
**制度/SOP 问答硬规则**:
- 先过滤租户、项目、知识库分类、版本、生效日期,再召回。
- 关键词召回用于条款编号、岗位名、制度名、流程节点等精确命中;向量召回用于同义表达和场景化问题。
- 输出必须带来源引用,至少包含文档名 + 页码/幻灯片/Sheet/片段编号。
- 召回片段冲突时,优先新版本和生效日期更近的制度;仍冲突则提示人工确认。
- 低置信或无来源时不编造答案,返回“未找到可引用依据”。
### 12.4 切片规则
| 资料类型 | 切片原则 | 重点元数据 |
|---|---|---|
| 制度/规章 | 按章/条/款/项切,保留编号和上下级标题 | 制度名、版本、生效日期、条款号 |
| SOP | 按步骤、责任人、时限、输入输出切 | 岗位、项目类型、流程节点 |
| Excel | 按 Sheet + 表格区域 + 行摘要切 | Sheet、表头、行号、业务字段 |
| PPT | 按页切,标题 + 正文 + 备注合并 | 页码、标题、备注 |
| Word/PDF | 优先按标题层级切,否则按段落窗口切 | 页码、标题路径 |
| 图片 | 先 OCR/视觉描述,再按图片说明切 | 图片来源、OCR 置信度、视觉模型版本 |
| 案例/对练 | 按场景、轮次、评分点切 | 场景、角色、评分维度 |
### 12.5 一期验收口径
| 项 | 标准 |
|---|---|
| 入库 | PDF/Word/Excel/PPT 可入 MinIO,解析后生成片段 |
| 检索 | MySQL Fulltext + Qdrant 双路召回可跑通 |
| 回答 | SOP/制度类回答必须展示引用来源 |
| 准确率 | 住宅类 SOP 问答人工评审可用率 ≥ 80%(承接第 10 节 C4) |
| 可追溯 | 每个答案能追到 `fragmentId` 和原始附件 |
---
## 附录 A:35 条完整查漏登记(可追溯)
**第一层(MVP 演示阻塞)**:1 陪练英雄路径 · 2 内容冷启动 · 3 组织API未就绪 · 4 案例视频过重 · 5 登录/认证未定 · 6 大模型+出境合规 · 7 方言厂商未定 · 8 演示脚本 · 9 UI壳工作量 · 35 用户端入口缺口
**第二层(数据模型地基)**:10 HR主干抽全 · 11 关系/向量切分 · 12 招聘域空白 · 13 SOP多层分类 · 14 Rubric数据结构 · 15 版本管理 · 16 ID/主键策略 · 17 数据权限字段 · 18 训练事务+学习路径 · 19 知识图谱去留
**第三层(生产前闸门+组织风险)**:20 AI分挂钩绩效 · 21 AI招聘合规 · 22 业主/员工数据合规 · 23 运营成本模型 · 24 员工接受度/变革管理 · 25 内容贡献激励+署名 · 26 情绪树洞隐私 · 27 系统/数据归属
**第四层(范围边界+交付一致性)**:28 营销中心去留 · 29 独立APP · 30 老文档一致性债务 · 31 企微/钉钉/工单集成清单 · 32 一期验收标准 · 33 玉溪Agent落点 · 34 认证/晋升/绩效规则引擎
---
## 附录 B:一句话结论
> 现在真正的头号风险不是选型(若依已够),也不是要不要 aifei(不用),而是「用户端缺口」「MVP 范围」和「3GB 业务资料接入」三条线互相拖累。守住第 5 节的三分切割线,按第 5.1 节让用户端只做轻入口,同时按第 11 节把 MinIO、文档解析和批量导入拆开推进,按第 12 节把 Qdrant 作为向量索引而非事实源,才能既演得通、又不把资料中台做成临时脚本。