Files
aurak/docs/plans/2026-04-18-l1-talent-assessment-design.md
T
Developer 0a9588abb7 feat: implement QuestionBank CRUD with pagination and template query
- Add pagination support to findAll (page, limit query params)
- Add findByTemplateId method to service
- Add GET /by-template/:templateId endpoint to controller
- Service already includes CRUD for QuestionBank and QuestionBankItem
2026-04-23 17:19:11 +08:00

11 KiB
Raw Blame History

L1 人才育成测评系统设计文档

文档信息

  • 版本: 1.1
  • 日期: 2026-04-18
  • 状态: 评审通过
  • 关联: AI 人才育成计划

1. 业务背景

1.1 目标

针对讯和 AI 人才育成计划的 L1 级别(认知与起步),建立系统化的在线评估认证体系。

1.2 L1 级别定义

  • 目标: 建立安全使用习惯,理解基本概念
  • 面向: 全员
  • 内容: AI基础概念、安全合规、Prompt入门、IDE基本操作
  • 认证: 在线考试 ≥90分

2. 评估范围

2.1 五门课程

序号 课程名称 对应维度 知识组
1 工作能力-安全 工作能力 AI基础概念 + 安全合规
2 技术能力-LLM 技术能力 大语言模型原理
3 技术能力-提示词 技术能力 提示词工程
4 IDE协作能力 IDE协作 IDE操作、代码辅助
5 AI开发范式 AI开发范式 Flow-State理解

2.2 知识组说明

知识组存储在 KnowledgeGroup 中,每个组包含:

  • 课程名称
  • 相关学习资料(文档、PDF等)
  • 评估要点说明

3. 评估流程设计

3.1 基本流程

发起评估 → 知识组检索 → 生成问题 → 用户回答 → 即时评分/追问 → 全部完成 → 生成报告 → 发放证书

3.2 评估步骤

  1. 发起评估: 用户选择 L1 认证评估,系统自动关联五个知识组
  2. 问题生成: 基于五个知识组内容生成 8-10 道理解性问题
  3. 答题交互: 用户逐题回答,AI 判断理解深度,如不足则追问确认
  4. 即时反馈: 每题回答后即时反馈分数和简短评语
  5. 最终报告: 全部完成后生成综合报告
  6. 证书发放: 通过者发放电子证书

3.3 追问策略

  • 每题最多追问 1-2 次以确认理解深度
  • 根据回答情况动态调整追问深度
  • 超过追问次数后强制进入下一题

4. 评分设计

4.1 权重配置

维度 权重 分值
技术能力-提示词 50% 50分
其他四门 50% 50分

4.2 理解深度层级

分数 层级 说明
1-3 基础 知道概念,无法应用
4-6 理解 理解含义,可简单应用
7-8 应用 理解本质,能解释原因
9-10 创新 能迁移到新场景

4.3 维度计分规则

  • 题目维度归属:生成问题时确定维度归属(从哪个知识组出题就属于哪个维度)
  • dimensionScores 生成:每道题记录所属维度,积分时按维度汇总

4.4 权重计算

维度 权重 分值 说明
技术能力-提示词 50% 50分 4-5道题
其他四门 50% 50分 4-5道题,平均分配
  • 计算公式

    • 各维度得分 = 该维度所有题目平均分(0-10)
    • 其他四门平均分 = (LLM + IDE + 开发范式 + 工作能力) / 4
    • 总分 = 提示词平均分 × 0.5 + 其他四门平均分 × 0.5
    • 最终分数 = 总分 × 10(转换为100分制)
  • 示例

    • 提示词4题得分:10, 8, 9, 7 → 平均8.5
    • 其他四门各1题得分:9, 7, 8, 6 → 平均7.5
    • 总分 = 8.5×0.5 + 7.5×0.5 = 8.0
    • 最终分数 = 8.0×10 = 80分 → 未通过(需≥90)

4.5 通过标准

  • 总分 ≥ 90 分即可通过
  • 各维度分别计分,支持薄弱环节识别

4.6 题目数量

  • 总计 8-10 道题
  • 提示词相关 4-5 道(50分)
  • 其他四门 4-5 道(50分)

5. 模板设计

5.1 评估模板字段

字段 类型 说明 默认值
name string 模板名称 L1-AI人才育成认证
description string 描述 L1级别能力认证评估
linkedGroups string[] 关联知识组ID列表 []
weightConfig JSON 权重配置 {"prompt":50,"other":50}
difficultyConfig JSON 难度配置 {"standard":60,"advanced":30,"specialist":10}
questionCount number 题目数量 8-10
questionCountMin number 最小题数 8
questionCountMax number 最大题数 10
passingScore number 通过分数 90
style string 评估风格 conversation
isActive boolean 是否启用 true

5.2 模板配置(扩展现有 AssessmentTemplate

// 新增字段
@Column({ type: 'simple-json', name: 'linked_group_ids', nullable: true })
linkedGroupIds: string[];  // 支持多知识组

@Column({ type: 'simple-json', name: 'weight_config', nullable: true })
weightConfig: {
  prompt: number;      // 提示词权重 默认50
  other: number;     // 其他维度权重 默认50
};

@Column({ type: 'simple-json', name: 'difficulty_config', nullable: true })
difficultyConfig: {
  standard: number;   // 基础题比例 默认60
  advanced: number;  // 理解题比例 默认30
  specialist: number; // 创新题比例 默认10
};

@Column({ type: 'int', name: 'question_count_min', default: 8 })
questionCountMin: number;

@Column({ type: 'int', name: 'question_count_max', default: 10 })
questionCountMax: number;

@Column({ type: 'int', name: 'passing_score', default: 90 })
passingScore: number;

6. 角色权限设计

6.1 角色说明

基于现有角色体系扩展,管理员角色(admin/super_admin)具备模板和题目调整权限。

角色 说明
user 普通员工/学员
admin 管理员(含题目/模板调整权限)
super_admin 超级管理员(含全部权限)
instructor 讲师(可选,复查功能)

6.2 权限矩阵

功能 学员 管理员 超级管理员 讲师
发起评估 -
查看个人报告 -
查看全部报告 -
创建/编辑模板 - -
调整题目配置 - -
配置知识组 - -
导出统计数据 - -
人工复查 - -
手动调整分数 - -
系统配置 - - -
用户管理 - - -

7. 评估结果设计

7.1 报告结构

{
  "sessionId": "uuid",
  "userId": "uuid",
  "templateId": "uuid",
  "status": "COMPLETED",
  "totalScore": 95,
  "passed": true,
  "dimensionScores": {
    "prompt": 48,
    "llm": 18,
    "ide": 14,
    "devPattern": 10,
    "workCapability": 5
  },
  "radarData": {
    "prompt": 9.6,
    "llm": 9.0,
    "ide": 7.0,
    "devPattern": 5.0,
    "workCapability": 5.0
  },
  "level": "Proficient",
  "questions": [
    {
      "id": "uuid",
      "dimension": "prompt",
      "questionText": "...",
      "score": 9,
      "followUpCount": 1,
      "feedback": "..."
    }
  ],
  "report": "总体评价...",
  "suggestions": ["改进建议1", "改进建议2"],
  "certifiedAt": "2026-04-18T10:00:00Z"
}

7.2 雷达图数据

五维度得分(归一化到 0-10:

  1. 提示词工程 (prompt) - 出题自提示词知识组
  2. LLM原理 (llm) - 出题自LLM知识组
  3. IDE协作 (ide) - 出题自IDE知识组
  4. AI开发范式 (devPattern) - 出题自开发范式知识组
  5. 工作能力 (workCapability) - 出题自工作能力知识组

维度归属规则:生成问题时从哪个知识组检索内容,该题就属于哪个维度。

7.3 证书设计

字段 说明
certificateId 证书唯一ID
userId 持有者ID
templateId 评估模板ID
level 通过级别
totalScore 总分
issuedAt 发放时间
expiresAt 有效期(null=永久)
qrCode 防伪二维码

8. 功能设计

8.1 用户功能

功能 说明
发起评估 选择模板,开始评估流程
继续评估 断点续答
查看历史 查看历次评估记录和报告
下载证书 下载电子证书PDF
重考 通过后重新考试

8.2 管理员功能

功能 说明
模板管理 创建/编辑/启用禁用模板
知识组配置 关联评估模板与知识组
评估记录 查看所有用户评估记录
统计分析 查看通过率、各维度得分分布
导出报表 导出CSV/Excel

8.3 讲师功能(可选)

功能 说明
人工复查 查看并复查评估结果
手动评分 调整AI评分
添加评语 添加人工评语

9. 技术设计

9.1 现有架构复用

基于 AuraK 现有评估系统扩展:

AssessmentTemplate (扩展)
    ↓
AssessmentSession (扩展)
    ↓
LangGraph: generator → interviewer → grader → analyzer

9.2 新增数据库表

-- 证书表
CREATE TABLE assessment_certificates (
  id UUID PRIMARY KEY,
  user_id UUID NOT NULL,
  session_id UUID NOT NULL,
  template_id UUID NOT NULL,
  level VARCHAR(50),
  total_score FLOAT,
  qr_code VARCHAR(255),
  issued_at TIMESTAMP,
  created_at TIMESTAMP
);

9.3 新增 API 接口

接口 方法 说明 权限
/templates GET 模板列表 公开
/templates POST 创建模板 管理员
/templates/:id PUT 更新模板 管理员
/templates/:id (软删除) DELETE 禁用模板 管理员
/certificates/:sessionId GET 获取证书 所有者
/certificates/:sessionId/download GET 下载证书PDF 所有者
/certificates/verify POST 二维码验真 公开
/admin/statistics GET 统计报表 管理员

9.4 前端页面

页面 说明
/assessment/templates 模板管理
/assessment/history 评估历史
/assessment/report/:id 评估报告详情
/assessment/certificate/:id 证书查看/下载
/admin/statistics 管理统计

10. 实施计划

10.1 优先级

优先级 模块 说明
P0 模板扩展 支持多知识组、权重配置
P0 评估流程 适配L1五课程流程
P0 评分逻辑 调整追问策略、加权计分
P1 报告生成 结构化报告、雷达图数据
P1 证书功能 证书生成、下载
P2 统计分析 管理后台统计
P2 人工复查 讲师功能

10.2 里程碑

  1. M1: 模板扩展 + 基本评估流程(1周)
  2. M2: 报告生成 + 证书功能(1周)
  3. M3: 管理后台 + 统计分析(1周)
  4. M4: 测试优化 + 上线(1周)

11. 附录

11.1 参考文档

  • AI人才育成计划.md
  • 提示词工程.md
  • 大语言模型入门.md
  • AI安全使用指南.md
  • Open Code使用指南.md
  • GitHub Copilot使用指南.md
  • Claude Code使用指南.md
  • L1-开发范式是什么.md

11.2 现有代码参考

  • server/src/assessment/ - 评估模块
  • web/components/views/AssessmentView.tsx - 前端评估界面