User Story Quality Gate — 基于 LLM 的 User Story 质量自动评估系统。
将模糊的需求草稿,通过 智能润色 → 多视角评审 → 量化评分 → 一键修复 的 Pipeline,转化为高质量、可执行的 User Story。
需求草稿 → [智能润色] → 结构化 US → [三视角评审] → 评审发现 → [评分引擎] → 质量报告 → [一键修复] → 修复后 US
| 模块 | 说明 |
|---|---|
| 智能润色 | 将非结构化草稿转为标准 User Story(As a / I want / So that + Given-When-Then 验收标准),带 confidence 三级标记(high/medium/low) |
| 多视角评审 | 三个专家视角并行评审:架构(幂等/并发/降级)、测试(量化/边界/异常)、安全(认证/加密/脱敏) |
| 量化评分 | 纯代码确定性评分:得分 = 100 - Σ(基础扣分 × 严重级别权重),质量门禁(≥80 优秀 / ≥60 合格 / Critical 强制拦截) |
| 一键修复 | 根据评审发现自动修复 US,输出修复后的完整 US + fix_notes |
| Prompt 日志 | 完整展示每次 LLM 交互的 System Prompt / User Prompt / Response / Token 用量 |
- 后端: Python Flask
- 前端: 单 HTML 文件 + Tailwind CSS CDN + Vanilla JS
- LLM: DeepSeek(通过 OpenAI 兼容 API)
- 评分引擎: 纯 Python 规则计算,不依赖 LLM
us_quality/
├── app.py # Flask 后端(API 路由 + LLM 调用封装)
├── config.py # 配置(API Key、模型名称)
├── requirements.txt # Python 依赖
├── templates/
│ └── index.html # 前端单页面
├── prompts/
│ ├── polish.py # 润色 Prompt(含 Few-shot 示例)
│ ├── review_arch.py # 架构视角评审 Prompt
│ ├── review_test.py # 测试视角评审 Prompt
│ ├── review_security.py # 安全视角评审 Prompt
│ └── fix.py # 修复 Prompt
└── rules/
└── scoring.py # 评分规则引擎
最终得分 = 100 - Σ(基础扣分 × 严重级别权重)
严重级别权重:
Critical: 15 × 1.5 = 22.5 分/项
Major: 10 × 1.0 = 10 分/项
Minor: 5 × 0.5 = 2.5 分/项
Info: 不扣分
门禁规则:
≥ 80 → 优秀(直接流转)
≥ 60 → 合格(建议优化)
< 60 → 不合格(必须修复)
存在 Critical → 强制拦截(无论分数)
pip install -r requirements.txtexport DEEPSEEK_API_KEY=your_deepseek_api_keypython app.py| 决策 | 选择 | 原因 |
|---|---|---|
| 架构模式 | Pipeline(非 Agent) | 代码控流,LLM 只做子任务;流程可控、可审计 |
| 评分方式 | 纯代码计算 | 确定性输出,同样的 findings 永远得到同样的分数 |
| 评审并行 | ThreadPoolExecutor(3) | 三视角独立,并行调用减少等待时间 |
| Prompt 设计 | CoT + Few-shot + 反过度检测 | 先分析再结论,附带示例校准输出质量,防止 LLM 编造问题 |
| Confidence 标记 | high/medium/low 三级 | 区分 AI 输出的可信度,辅助人工决策 |
MIT