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

40 lines
3.9 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.
# Proposal: init-promptcr-platform
## Why
毕业设计研究需要开展"多模型 × 多提示词策略"的代码审查对照实验,目前缺少一个能覆盖**数据集构建 → 模型调用 → 结果采集 → 指标计算 → 图表产出**全流程自动化的实验支撑平台。手工执行 324+ 个实验单元不可行,且无法保证可复现性。本平台面向单研究者、Docker 一键部署、单机可运行。
## What Changes
从零搭建整个平台(仓库当前为空),包含以下新能力:
- **数据集管理(F1)**:从开源 Git 仓库筛选 commit、提取 Unidiff、按可插拔缺陷规则预埋缺陷(Python 基于 `ast`,其他语言轻量变换)、生成 Ground Truth 标注;交付 12 个样本、覆盖 ≥3 种语言且分布均衡;缺陷规则可插拔(新增规则文件即可扩展,无需改框架代码)。
- **模型接入(F2)**:适配器模式抽象基类 `ModelAdapter`,DeepSeek / Kimi / 通义千问三个适配器统一走 OpenAI 兼容格式;工厂模式创建;内置信号量并发控制与指数退避重试。
- **提示词策略(F3)**:内置 L1(检测错误)→ L2(定位类型与行号)→ L3(修复建议)三级难度递增策略;Jinja2 模板配置化、带版本号;Web 在线编辑保存即新版本,历史版本只读;对外仅暴露 `render(strategy_id, version, context)`。
- **实验调度与采集(F4)**:全因子矩阵 3 模型 × N 级 × 12 commit × 3 重复(N=3 时 324 单元),唯一 `run_id`;asyncio 异步队列五步流水线;失败重试 + 隔离 + 断点续跑;原始输出、token、耗时、状态全量落库。
- **数据分析与可视化(F5)**:五维指标(缺陷检出率、误报率、审查覆盖率、建议可操作性李克特五级量表、输出稳定性);描述性统计 + ANOVA + 配对 t 检验;matplotlib 论文静态图(热力图/箱线图/分组柱状图,支持中文)+ 前端 JSON 数据接口。
- **后端接入层(F6)**:FastAPI RESTful API 与 Typer CLI 两种等价调用方式;API 兼作前端数据源。
- **Web 前端(F7)**:React 18 + Tailwind CSS 3 + shadcn/ui + Vite,ECharts 唯一图表库;四个页面:数据集管理、实验配置(含模板在线编辑)、实验监控(进度/原始输出/断点续跑)、结果分析(交互图表 + 李克特打分录入)。
- **部署**:后端/前端/PostgreSQL 各自容器化,`docker compose up` 一键拉起,PostgreSQL volume 持久化。
## Capabilities
### New Capabilities
- `dataset-management`: Git 仓库解析、diff 提取、可插拔缺陷预埋、Ground Truth 标注与数据集交付
- `model-adapters`: OpenAI 兼容格式的三厂商模型适配器、工厂创建、并发控制与重试
- `prompt-strategies`: 分级提示词模板、版本管理、在线编辑、统一渲染接口
- `experiment-orchestration`: 全因子实验矩阵生成、异步调度执行、结果落库、断点续跑
- `analysis-metrics`: 五维评价指标计算、统计分析、论文图表与前端数据接口
- `backend-access`: FastAPI RESTful API 与 Typer CLI 等价接入
- `web-frontend`: React SPA 四页面、ECharts 图表、与后端仅经 API 交互
### Modified Capabilities
(无——仓库为空,全部为新增能力。)
## Impact
- **新增代码**:`backend/`(Python 3.11,FastAPI + SQLAlchemy + asyncio)、`frontend/`(React 18 + Vite)、`docker-compose.yml`、各服务 Dockerfile、README(含 ER 说明)。
- **外部依赖**:PostgreSQL(唯一中间件)、三个大模型厂商 API(DeepSeek / Kimi / 通义千问,密钥走环境变量)。
- **明确排除**:无用户系统、无移动端/SSR、无 MQ/Redis/K8s、不训练模型、不做真实缺陷挖掘与自动修复、不硬编码密钥、不覆盖历史模板版本、前端不直连数据库。
- **验收基线**:功能 A1–A7、健壮性 B1–B4、可复现性 C1–C2、工程 D1–D4(含后端 pytest 覆盖率 ≥90%)。