5.6 KiB
5.6 KiB
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 内置规则(基于标准库
astAST 级变换):空指针引用、资源未关闭、边界条件错误(含边界条件错乱)、逻辑运算符误用、并发安全问题 - 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(里程碑存档点)