Files
2026-09-19 12:54:45 +08:00

5.6 KiB
Raw Permalink Blame History

Tasks: init-promptcr-platform

1. M1 项目骨架与基础设施

  • 1.1 初始化 Git 仓库与 .gitignore(排除 .env、密钥、node_modules、构建产物)
  • 1.2 创建后端目录结构(backend/,按 dataset / models / prompts / experiments / analysis / api / cli 分包)与单一 requirements.txt
  • 1.3 创建前端骨架(Vite + React 18 + Tailwind CSS 3 + shadcn/ui,ECharts 依赖)
  • 1.4 用 SQLAlchemy 定义核心表(samples、defects、prompt_templates、prompt_template_versions、experiments、experiment_runs、results)并建库迁移
  • 1.5 编写配置管理(环境变量 / .env 读取密钥与连接串,零硬编码)
  • 1.6 编写 docker-compose 骨架(db + backend + frontend/nginx)与各 Dockerfile,PostgreSQL 挂 volume
  • 1.7 M1 自验后创建 git commit(里程碑存档点)

2. M2 F1 数据集管理模块

  • 2.1 实现 Git 解析(GitPython):遍历提交历史并按"变更规模适中、语言分布均衡、提交信息完整"筛选候选 commit
  • 2.2 实现 Unidiff 提取(保留变更前后文件上下文)并落库 samples
  • 2.3 实现缺陷规则框架:统一规则接口 + 目录扫描注册表(按语言组织,新增文件即插拔)
  • 2.4 实现 Python 内置规则(基于标准库 ast AST 级变换):空指针引用、资源未关闭、边界条件错误(含边界条件错乱)、逻辑运算符误用、并发安全问题
  • 2.5 实现 Java 内置规则(基于 javalang 解析做 AST 级变换,同类五型,位置精确可知,注释/文档说明引入理由,禁止正则/纯文本替换)
  • 2.6 实现 JavaScript 内置规则(基于 esprima 解析做 AST 级变换,同类五型,位置精确可知,注释/文档说明引入理由,禁止正则/纯文本替换)
  • 2.7 实现 Ground Truth 标注生成(缺陷位置/类型/参考修复/语言)落库 defects
  • 2.8 构建并交付 12 个 commit 样本数据集(≥3 语言、分布均衡),自验 A1;新增一条自定义规则验证 A1b
  • 2.9 M2 自验后创建 git commit(里程碑存档点)

3. M3 F2 模型适配 + F3 提示词策略

  • 3.1 实现 ModelAdapter 抽象基类(统一 chat(prompt, params) 返回审查文本 + token + 耗时,内置信号量并发控制与指数退避重试)
  • 3.2 实现 DeepSeek / Kimi / 通义千问三适配器(统一 OpenAI 兼容格式,仅配置差异)与工厂模式,自验 A2
  • 3.3 实现提示词模板存储与版本管理(模板表 + 版本表,旧版本只读)
  • 3.4 内置 L1/L2/L3 三级 Jinja2 模板(含策略/级别标识、版本号、变量 schema)并实现 render(strategy_id, version, context),自验 A3
  • 3.5 M3 自验后创建 git commit(里程碑存档点)

4. M4 F4 实验调度与结果采集

  • 4.1 实现全因子矩阵生成(3 模型 × N 级 × 12 commit × 3 重复,唯一 run_id,采样参数快照落库),自验 A4
  • 4.2 实现 asyncio 异步调度器(按并发额度分批,五步流水线:加载 diff → 渲染 → 调用 → 采集 → 落库更新进度)
  • 4.3 实现失败重试、阈值隔离、单单元失败不中断批次,自验 B1
  • 4.4 实现断点续跑(重启扫描 pending/中断单元继续,已完成不重复调用),自验 B2
  • 4.5 实现异常输出处理(空/不合约定 → 标记失败留原文不崩溃、不猜测解析),自验 B3、C1、C2
  • 4.6 全因子矩阵小规模真实跑通,自验 A5
  • 4.7 M4 自验后创建 git commit(里程碑存档点)

5. M5 F5 数据分析与可视化(后端)

  • 5.1 实现输出解析与 Ground Truth 自动比对,计算检出率 / 误报率 / 覆盖率
  • 5.2 实现李克特五级量表评分存储与"模型 × 级别"聚合(均值 + 频数分布)
  • 5.3 实现输出稳定性度量(三次重复输出指出项集合两两 Jaccard 相似度取平均值)
  • 5.4 实现统计分析(pandas + scipy:描述性统计、ANOVA、配对 t 检验)
  • 5.5 实现 matplotlib 论文图(热力图 / 箱线图 / 分组柱状图,中文显示、样式统一)与前端同口径 JSON 接口,自验 A6
  • 5.6 M5 自验后创建 git commit(里程碑存档点)

6. M6 F6 接入层 + F7 Web 前端

  • 6.1 实现 FastAPI RESTful API(数据集 / 模板 / 实验下发 / 进度 / 结果 / 统计 / 李克特打分),仅返回 JSON
  • 6.2 实现 Typer CLI 与 API 等价(含 1×1×1×1 冒烟命令),自验 D4 等价性
  • 6.3 实现数据集管理页(样本列表、Ground Truth 详情、构建入口)
  • 6.4 实现实验配置页(模型/级别/样本/重复勾选、单元数量实时预览、模板在线编辑与新增),自验 A3b
  • 6.5 实现实验监控页(批次进度、单条 run 状态与原始输出、断点续跑触发)
  • 6.6 实现结果分析页(ECharts 热力图/箱线图/分组柱状图、维度筛选、李克特打分录入),自验 A7
  • 6.7 实现前端三异常态(后端离线 / API 报错 / 数据为空)明确提示,自验 B4
  • 6.8 M6 自验后创建 git commit(里程碑存档点)

7. M7 测试、Docker 与文档收尾

  • 7.1 后端 pytest + pytest-cov 覆盖率提升至 ≥90%,自验 D2
  • 7.2 前端核心交互逻辑 Vitest 测试全部通过
  • 7.3 Docker 全栈联调:docker compose up 一键可用、容器重建数据不丢,自验 D1b
  • 7.4 密钥审计(仓库无硬编码密钥)
  • 7.5 编写 README(安装、配置、本地与 Docker 两种启动、断点续跑方法、数据库 ER 说明),自验 D1、D3
  • 7.6 M7 自验后创建 git commit(里程碑存档点)