Files
CollegeAIcenter/.kiro/specs/college-ai-center/tasks.md
T

15 KiB
Raw Blame History

Implementation Plan

Overview

本任务清单将设计转化为增量式编码任务。任务遵循测试驱动、底座先行的顺序:先建立能力图谱与技能能力中心两个底座及合规/可信横切层,再实现各业务模块,最后串联端到端流程。带 * 的任务为可选。

Tasks

  • 1. 项目脚手架与共享基础设施

    • 初始化 NestJS + TypeScript 后端工程与 PostgreSQL 连接,建立模块化目录结构
    • 实现统一的 Result<T, E> 返回类型与错误基类(区分校验/生成/授权/系统错误)
    • 配置测试框架(Jest)与属性测试库(fast-check),建立 mock AI 网关与 mock 资料来源适配器骨架
    • Requirements: 全局基础
  • 2. 能力图谱底座(Competency_Graph

  • 2.1 能力标签体系与数据模型

    • 实现 CompetencyTag(唯一标识、所属维度)与 CompetencyDimension 模型及持久化
    • 实现统一标签体系的维护与 listTags() 接口
    • 编写单元测试覆盖标签定义与维度归属
    • Requirements: 14.1
  • 2.2 能力数据映射与校验

    • 实现 mapData():将模块数据映射到 1-10 个已定义标签(5 秒内)
    • 实现未定义标签拒绝逻辑:拒绝映射、不创建记录、记录原因、返回提示
    • 编写属性测试验证 Property 2(能力标签映射有效性)
    • Requirements: 14.2, 14.3
  • 2.3 能力概览聚合

    • 实现 getCompetencyOverview():按维度以 0-100 量化分值聚合(5 秒内)
    • 实现数据不足维度标记"数据不足"并保留其余维度
    • 编写属性测试验证 Property 3(画像维度分值有界性,能力概览部分)
    • Requirements: 14.4, 14.5
  • 3. 技能能力中心底座(Skill_Center

  • 3.1 技能定义模型与序列化

    • 实现 SkillDefinition 五要素结构(输入规格、AI 处理逻辑、知识源绑定、输出格式、可信度标注规则)
    • 实现 serialize() / deserialize()
    • 编写属性测试验证 Property 1(技能定义序列化往返一致性)
    • Requirements: 13.2, 13.9
  • 3.2 技能治理:配置、启用与审计

    • 实现 upsertSkillDefinition()enableSkill(),限定管理员或导师操作
    • 实现技能定义变更的审计日志记录(操作者、时间、变更内容)
    • 初始化至少 8 个内置技能定义(资料查询、检索式生成、文献综述、病例分析、鉴别诊断辅助、医患沟通模拟、医学翻译、引用生成)
    • 编写单元测试覆盖治理流程与技能库完整性
    • Requirements: 13.1, 13.6, 13.7
  • 3.3 技能调用与失败处理

    • 实现 invokeSkill():输入规格校验、按输出格式返回结果并附可信度标注(30 秒内)
    • 实现输入不符规格的拒绝、知识源不可用或处理失败的终止(不返回结果与标注、提示失败)
    • 仅成功调用完成才写入能力图谱
    • 编写单元测试覆盖正常路径与各错误路径
    • Requirements: 13.3, 13.4, 13.5, 13.8
  • 4. 横切层:合规模块与 AI 可信层

  • 4.1 权限分级与访问判定

    • 实现 checkAccess():为学生/导师/管理员定义权限范围(可访问资源类型与允许操作类型)
    • 实现范围内允许、越权拒绝并记录拒绝事件(操作者、时间、资源标识、拒绝原因)
    • 编写属性测试验证 Property 6(权限判定一致性)
    • Requirements: 17.1, 17.2, 17.3
  • 4.2 知情同意授权与画像脱敏

    • 实现 ConsentRecord 模型(范围、用途、有效期、撤销)与 verifyConsent() / revokeConsent()
    • 实现 resolveProfileView():非本人无有效授权时拒绝完整画像、对未授权敏感字段脱敏(2 秒内,仅返回已授权字段)
    • 实现授权撤销即时失效、此后按未授权处理
    • 编写属性测试验证 Property 4(授权强制不变量)
    • Requirements: 7.2, 7.3, 7.4, 7.5, 7.8
  • 4.3 审计日志

    • 实现 writeAuditLog():敏感数据访问/导出/修改记录(操作者、时间、操作类型、数据范围,5 秒内),保留≥12 个月
    • 编写单元测试覆盖审计字段完整性与保留策略
    • Requirements: 7.6, 17.4
  • 4.4 AI 可信层

    • 实现统一可信度标注封装:为 AI 输出附带≥1 来源与 0%-100% 置信度
    • 实现依据查看(3 秒内展示可追溯来源条目及引用标识)与无法溯源时标注"未经核验"
    • 编写单元测试覆盖可信度标注与未经核验标记
    • Requirements: 16.1, 16.2, 16.3, 16.4
  • 5. 个人学习空间(Learning_Space

  • 5.1 学习成果模型与新增校验

    • 实现 Achievement 模型与成果类型枚举
    • 实现 addAchievement():必填元数据校验、标题≤200 字符与时间有效性校验,失败时拒绝且不创建记录
    • 编写属性测试验证 Property 7(错误路径数据保全,学习成果部分)
    • Requirements: 1.1, 1.2, 1.6, 1.9
  • 5.2 自动归档与里程碑

    • 实现保存成功后按学年、学期归档;含临床轮转科室信息时额外按科室归档
    • 实现 markMilestone():标记里程碑并关联节点内成果
    • 编写单元测试覆盖归档维度与里程碑关联
    • Requirements: 1.3, 1.4, 1.8
  • 5.3 成果检索与能力标签关联

    • 实现 listAchievements():按时间倒序、支持按成果类型/学年/学期/轮转科室筛选、每页≤50 分页
    • 实现保存成功后关联能力图谱标签;无匹配标签时标记"待关联能力标签"并提示
    • 编写属性测试验证 Property 8(分页边界不变量,学习空间部分)
    • Requirements: 1.5, 1.7, 1.10
  • 6. AI 评估引擎(AI_Evaluation_Engine

  • 6.1 形成性与终结性评价

    • 实现 generateFormativeEvaluation()30 秒内)与 generateSummativeEvaluation()(节点须有成果)
    • 实现评价附带可信度标注(≥1 依据来源)与发展建议引用≥1 能力标签
    • 编写单元测试覆盖评价生成与标注
    • Requirements: 2.1, 2.2, 2.3, 2.4, 2.7
  • 6.2 评价错误路径

    • 实现信息不足时中止、保留数据、提示缺失类别
    • 实现生成失败或超时时中止、保留数据、提示失败
    • 编写单元测试覆盖错误路径(验证 Property 7 相关部分)
    • Requirements: 2.5, 2.6
  • 7. 课程对练引擎(Practice_Engine

  • 7.1 题目生成与权威源绑定

    • 实现 generateQuestions():基于课程内容生成 5-50 道题(30 秒内),支持 A1/A2/A3/A4/病例分析/临床决策题型
    • 实现每题绑定≥1 权威知识源并记录引用标识;无法绑定时不进入审核并记录原因
    • 实现课程内容不足时中止并提示
    • 编写单元测试覆盖生成、题型、绑定与错误路径
    • Requirements: 3.1, 3.2, 3.3, 3.7, 3.8
  • 7.2 题目审核状态机

    • 实现题目状态流转(待导师审核→可用于对练/已退回),审核前不向学生发布
    • 实现导师通过/退回(退回记录原因)
    • 编写单元测试覆盖状态机与导师审核
    • Requirements: 3.4, 3.5, 3.6, 15.1
  • 7.3 模拟对练与结果诊断

    • 实现 startPractice() / submitAnswer() / finishPractice():逐题呈现采集作答、3 秒内判定正误、单题超 120 秒判错并继续
    • 实现对练报告(正确率、用时、薄弱环节=正确率<60% 的能力标签)并按能力标签映射能力图谱
    • 实现 AI 评估引擎对每个薄弱环节生成改进建议并附可信度标注
    • 编写单元测试覆盖对练流程、报告与映射
    • Requirements: 4.1, 4.2, 4.4, 4.5, 4.6, 4.7, 4.8
  • 8. 临床情景对话对练(Clinical_Dialogue_Practice

    • 实现 startDialogue():基于绑定权威知识源 10 秒内呈现情景;未绑定时阻止启动、不创建记录、提示
    • 实现 sendTurn() 多轮对话(最多 50 轮)并逐轮记录学生输入与系统应答
    • 实现 finishDialogue():30 秒内生成含问诊完整性/临床推理/医患沟通三维报告并映射能力图谱;失败或超时时中止、保留对话记录、提示
    • 编写单元测试覆盖发起、多轮、报告与错误路径
    • Requirements: 5.1, 5.2, 5.3, 5.4, 5.5, 5.6
  • 9. 学生画像引擎(Profile_Engine

    • 实现 generateProfile():基于学习空间与能力图谱生成六维度画像(0-100,5 秒内)
    • 实现能力图谱更新后 10 秒内同步、每项结论可追溯≥1 来源记录
    • 实现数据不足维度标记"数据不足"并保留其余;敏感字段标记;仅采集与维度直接相关字段(数据最小化)
    • 编写属性测试验证 Property 3(画像维度分值有界性,画像部分)
    • Requirements: 6.1, 6.2, 6.3, 6.4, 6.5, 7.1, 7.7
  • 10. 职业规划模块(Career_Module

  • 10.1 职业目标与胜任力模型

    • 实现 setCareerGoal()3 秒内关联岗位胜任力模型并展示
    • 实现胜任力模型四维度(科学与学术/临床能力/健康与社会/职业素养),每维度≥3 能力标签
    • 实现无匹配模型时提示并推荐≥3 相近目标;关联系统错误时提示并保留已设目标
    • 编写单元测试覆盖目标设定与错误路径
    • Requirements: 8.1, 8.2, 8.3, 8.4, 8.5
  • 10.2 动态闭环发展规划

    • 实现 generateDevelopmentPlan():逐项对照能力水平与要求、标记能力差距项(含缺数据项)
    • 实现每差距项≥1 建议行动(标明目标水平)、推荐≥1 学习资源或对练任务、引用对应能力标签
    • 实现能力图谱更新后再次请求时重算全部差距项;未选目标/模型不可用时拒绝并保留数据;差距项无资源时保留并标注暂无推荐
    • 编写单元测试覆盖对照、规划生成、动态更新与错误路径
    • Requirements: 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7
  • 11. 研究资料查询技能(Research_Query_Skill

  • 11.1 检索式生成与检索

    • 实现 generateSearchQuery()NL→PICO/MeSH 检索式(10 秒内,问题 1-2000 字符)
    • 实现 search():指定来源 30 秒内检索、每页≤50 分页;空结果返回空列表并提示;来源全不可用时中止、保留检索式、提示
    • 实现问题为空/超长/无医学要素时拒绝生成并提示
    • 实现结果每条仅含检索信息/摘要/原文链接(不存储分发全文)、查询完成 5 秒内映射能力图谱
    • 编写单元测试覆盖检索式、检索、筛选与错误路径
    • Requirements: 10.1, 10.2, 10.3, 10.4, 10.5, 10.6, 10.7, 10.8
  • 11.2 总结、证据分级与引用管理

    • 实现 summarize():30 秒内生成总结,每条结论附≥1 来源引用,每条资料标注唯一证据分级
    • 实现无法溯源结论标注"未验证"且不作为引用输出;呈现总结时显示"仅辅助不替代阅读原文"提示
    • 实现 generateCitation() / exportCitations()Vancouver/GB-T 7714 格式、导出 EndNote/NoteExpress;生成或导出失败时中止、保留数据、提示
    • 编写属性测试验证 Property 5(引用可追溯不变量)
    • Requirements: 11.1, 11.2, 11.3, 11.4, 11.5, 11.6, 11.7
  • 12. AI 协同能力培养模块(AI_Collaboration_Module

    • 实现协同训练任务(提问能力/批判性验证/责任边界意识/协同工作流四维度各≥1)
    • 实现 evaluateTask():30 秒内四维度 0-100 评估;直接采用未核验 AI 输出时提示并要求核验、计入批判性验证;评估结果 5 秒内映射能力图谱计入画像与胜任力对照
    • 实现导师点评(对学生可见);评估失败或超时时中止、保留记录、提示;维度数据不足时标记"数据不足"并保留其余
    • 编写单元测试覆盖任务、评估、点评与错误路径
    • Requirements: 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7
  • 13. 导师端集成

    • 集成题目审核(复用 7.2)、成果点评(关联学习成果并对学生可见)
    • 实现带教关系校验:允许查看所带学生画像;查看非所带学生画像时合规模块拒绝并记录越权尝试
    • 编写单元测试覆盖点评与带教关系访问控制
    • Requirements: 15.2, 15.3, 15.4
  • 14. 端到端集成与贯通验证

    • 串联学习成果→能力标签→画像→职业规划的数据贯通流程并编写集成测试
    • 串联技能调用(课程对练/研究查询)→能力图谱→画像的贯通流程并编写集成测试
    • 验证全系统 AI 输出均经 AI 可信层、敏感资源访问均经合规模块
    • 运行全部属性测试(Property 1-8)确认核心不变量成立
    • Requirements: 2.4, 4.6, 5.4, 9.1, 12.4, 14.1, 16.1, 17.2
  • 15. 三端前端界面(可选)

    • 实现学生端(学习空间、对练、画像、职业规划、研究查询、协同训练)核心界面
    • 实现导师端(题目审核、成果点评、带教学生画像)与管理端(技能治理、权限与合规管理)核心界面
    • Requirements: 全部用户故事的界面呈现

Task Dependency Graph

graph TD
    T1["1. 脚手架与基础设施"]
    T2["2. 能力图谱底座"]
    T3["3. 技能能力中心底座"]
    T4["4. 合规与AI可信横切层"]
    T5["5. 个人学习空间"]
    T6["6. AI评估引擎"]
    T7["7. 课程对练引擎"]
    T8["8. 临床情景对话对练"]
    T9["9. 学生画像引擎"]
    T10["10. 职业规划模块"]
    T11["11. 研究资料查询技能"]
    T12["12. AI协同能力培养"]
    T13["13. 导师端集成"]
    T14["14. 端到端集成"]
    T15["15*. 三端前端界面"]

    T1 --> T2
    T1 --> T3
    T1 --> T4
    T2 --> T5
    T3 --> T7
    T3 --> T8
    T3 --> T11
    T4 --> T9
    T4 --> T13
    T5 --> T6
    T5 --> T9
    T6 --> T7
    T2 --> T6
    T2 --> T9
    T9 --> T10
    T2 --> T10
    T2 --> T12
    T7 --> T13
    T9 --> T13
    T5 --> T14
    T6 --> T14
    T7 --> T14
    T8 --> T14
    T9 --> T14
    T10 --> T14
    T11 --> T14
    T12 --> T14
    T13 --> T14
    T14 --> T15
{
  "waves": [
    { "wave": 1, "tasks": ["1"] },
    { "wave": 2, "tasks": ["2", "3", "4"] },
    { "wave": 3, "tasks": ["5"] },
    { "wave": 4, "tasks": ["6", "7", "8", "9", "11", "12"] },
    { "wave": 5, "tasks": ["10", "13"] },
    { "wave": 6, "tasks": ["14"] },
    { "wave": 7, "tasks": ["15"] }
  ]
}

Notes

  • 任务 2(能力图谱)与任务 3(技能能力中心)是两大底座,应优先实现,多数业务模块依赖它们。
  • 任务 4(合规与 AI 可信横切层)为所有涉及敏感数据访问与 AI 输出的模块提供统一保障,建议与底座并行推进。
  • 每个业务模块任务均包含对应的单元测试或属性测试,覆盖正常路径与错误路径。
  • 属性测试(Property 1-8)分散在相关任务中实现,并在任务 14 统一运行确认。
  • 任务 15 为可选的前端界面实现,后端模块与测试可独立于前端完成验证。
  • 技术栈(NestJS + TypeScript + PostgreSQL + Jest + fast-check)为设计阶段的假设,实现前可调整。