# Agentic QE Fleet 集成设计 > 版本: 1.0 | 日期: 2026-07-09 | 状态: 已确认 ## 1. 概述 将现有 QA Automation Hub(测试用例生成流水线)深度重构为 Agentic QE Fleet——一个由 14 个专业 AI Agent 组成的自治质量工程舰队,覆盖从需求输入到知识沉淀的全生命周期。 ### 1.1 核心升级维度 | 维度 | 原项目 | QE Fleet | |------|--------|----------| | Agent 数量 | 4 | 14 | | 战区划分 | 无 | 5 战区 (Prepare/Analyze/Design/Review/Monitor) | | 编排方式 | skill 文件分散 | fleet_runner.py 集中编排 | | 知识管理 | 静态手动维护 | 自动激活 + 自动回写沉淀 | | 质量门禁 | 简单检查 | 三级裁决 (PASS/PASS_WITH_FIX/BLOCKED) | | 覆盖率 | 无系统性追溯 | 需求→测试点→用例三级追溯 | | 执行反馈 | 无 | Monitor 战区:结果分析 + 知识沉淀 | | CLI 入口 | /case_generate | /qe-fleet + 子命令 | ### 1.2 设计原则 - **战区隔离**:每个战区独立运行,通过标准化 manifest JSON 交接 - **Agent 专职**:一个 Agent 只做一件事,文件短小精悍 - **确定性编排**:fleet_runner.py 编排 Agent 执行顺序,不依赖 LLM 自主决策流程 - **向后兼容**:保留 `/case_generate` 别名,保留 `case_pipeline.py` 接口 - **产出一致**:输出格式与原项目兼容,现有用户无缝迁移 --- ## 2. 整体架构 ``` /qe-fleet run <需求文档> │ ▼ ┌──────────────────────────────────────────────────────────────┐ │ FLEET ORCHESTRATOR │ │ scripts/fleet_runner.py │ │ 读取 fleet_config.yml → 发令 → 收集 → 裁决 → 导出 │ └──────────────────────────────────────────────────────────────┘ │ │ │ │ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ │ PREPARE │ │ ANALYZE │ │ DESIGN │ │ REVIEW │ │ 准备战区 │───▶│ 分析战区 │───▶│ 设计战区 │───▶│ 评审战区 │ │ 2 Agent │ │ 3 Agent │ │ 4 Agent │ │ 3 Agent │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ ┌────▼────┐ │ MONITOR │ │ 监控战区 │ │ 2 Agent │ └─────────┘ ``` ### 2.1 14 个专业 Agent | # | 战区 | Agent ID | 名称 | 核心职责 | |---|------|----------|------|----------| | 1 | Prepare | `document-parser` | 文档解析专家 | docx/pdf/doc → MD 标准化 + 技术方案识别 | | 2 | Prepare | `knowledge-activator` | 知识激活专家 | 按需求自动激活术语/规则/历史缺陷/最佳实践 | | 3 | Analyze | `requirement-analyzer` | 需求分析专家 | 结构化需求模型 + 歧义标注 | | 4 | Analyze | `conflict-detector` | 冲突检测专家 | 语义级历史需求冲突检测 | | 5 | Analyze | `risk-assessor` | 风险评估专家 | 风险矩阵量化 (资损/可用性/数据/合规/兼容性) | | 6 | Design | `test-strategist` | 测试策略师 | 分层测试策略 + 优先级矩阵 | | 7 | Design | `testpoint-designer` | 测试点设计师 | 全面测试点矩阵 + 来源标注 | | 8 | Design | `case-designer` | 用例设计师 | 可执行用例 + 双验证预期结果 | | 9 | Design | `data-builder` | 数据构造师 | 精确测试数据集 | | 10 | Review | `case-reviewer` | 用例评审师 | 用例质量/规范性/可执行性评审 | | 11 | Review | `coverage-auditor` | 覆盖率审计师 | 需求→测试点→用例三级追溯覆盖 | | 12 | Review | `quality-gatekeeper` | 质量门禁裁决官 | 三级裁决 (PASS/PASS_WITH_FIX/BLOCKED) | | 13 | Monitor | `execution-analyst` | 执行结果分析师 | 失败归类 + 失败模式识别 + 根因推测 | | 14 | Monitor | `knowledge-curator` | 知识沉淀师 | 自动回写知识库 + 去重保护 | ### 2.2 战区数据流 ``` Prepare → manifest_prepare.json (标准化需求路径、激活的知识库清单、文档置信度) Analyze → manifest_analyze.json (结构化需求、冲突列表、风险矩阵) Design → manifest_design.json (测试策略、测试点、用例路径、测试数据路径) Review → manifest_review.json (评审结论、覆盖率报告、门禁裁决) Monitor ← 外部测试执行结果 (失败分析、知识回写建议) ``` --- ## 3. 战区详细设计 ### 3.1 Prepare 战区 **触发**: `/qe-fleet prepare <需求文档>` **document-parser**: - 输入: 原始需求文档 (.docx/.doc/.pdf/.md) - 处理: 解析 → 提取文本 → 标准化 Markdown - 自动识别同主题技术方案 (文件名 + 内容相似度匹配) - 标注解析置信度 - 产出: `output/normalized_inputs/{BASE_NAME}/requirement.md` **knowledge-activator**: - 输入: 标准化需求 + 项目画像 - 激活策略: - 常驻: `terminology.md` (核心术语)、`test_case_template.md`、`definition_of_done.md`、`review_checklist.md` - 关键词匹配: 可选术语文件 (如 saas 术语) - 语义匹配: 历史缺陷、最佳实践中与需求相关的条目 - 激活结果记录在 manifest 中,附带激活理由 - 自动检测知识缺口并建议补充 ### 3.2 Analyze 战区 **触发**: `/qe-fleet analyze <需求文档>` **requirement-analyzer**: - 结构化输出: 背景与目标 / 范围与边界 / 用户角色 / 关键业务规则 / 主流程 / 异常流程 / 技术约束 - 项目画像差异化: 将通用约束替换为项目特定约束 - 歧义标注: `> ⚠️ 待确认:问题、影响范围、建议确认方向` **conflict-detector**: - 对比范围: 所有历史需求 (requirements/ + source_docs/) - 冲突类型: 规则方向冲突 / 数值口径冲突 / 状态机冲突 / 权限冲突 - 语义级检测: 结合术语解释判断规则语义是否真正矛盾 (不只看 n-gram) - 严重度分级: P0(高风险)/P1(中风险)/P2(低风险)/P3(提示) **risk-assessor** (新增): - 风险维度: 资损 / 可用性 / 数据 / 合规 / 兼容性 - 量化矩阵: 可能性(1-5) × 影响度(1-5) = 风险等级 - 高风险项自动映射为 P0 必测项 **Agent 协作**: analyzer 和 detector 可并行运行,risk-assessor 串行消费两者输出。 ### 3.3 Design 战区 **触发**: `/qe-fleet design <需求文档>` **test-strategist** (新增): - 输入: 风险矩阵 + 需求分析 - 输出: 测试金字塔分配 / 优先级覆盖规则 / P0 清单 **testpoint-designer**: - 输入: 策略 + 分析 + 冲突 + 历史缺陷 + 易漏场景 + 最佳实践 - 覆盖维度: 主流程/异常/边界/状态流转/权限/并发幂等/弱网超时/历史缺陷防御/跨需求冲突防御 - 来源标注: `[需求]` `[历史缺陷]` `[风险矩阵]` `[冲突修订]` `[项目画像]` `[漏测清单]` **case-designer**: - 将测试点转化为可执行用例,严格使用 template 表头 - 用例原子性: 一个用例一个验证点 - 预期结果双验证: UI反馈 + 数据状态 - 中后台页面: 补齐列表/按钮/只读态/状态权限映射/端间隔离 - 保存前按 review_checklist 自检 **data-builder** (新增): - 为用例构造精确测试数据: 账号/金额/商品ID/券码/状态枚举/边界值 - 数据来源: 项目画像字段 + 术语枚举 + 需求具体数值 - 输出: `{BASE_NAME}_测试数据.md` **执行顺序**: strategist → testpoint + data 并行 → case (消费 testpoint 和数据) ### 3.4 Review 战区 **触发**: `/qe-fleet review <需求文档>` **case-reviewer**: 按 checklist 逐项检查,错误分级 (阻断/建议/优化),标注到具体行号。 **coverage-auditor** (新增): 需求→测试点→用例三级追溯矩阵,识别覆盖缺口和过度覆盖。 **quality-gatekeeper** (新增): - 三级裁决: PASS / PASS_WITH_FIX / BLOCKED - 裁决依据: 评审阻断项 + 覆盖率数据 + 风险矩阵 - BLOCKED 时必须告知原因和解决路径 **并行策略**: reviewer 和 auditor 并行,gatekeeper 等待两者完成。 ### 3.5 Monitor 战区 **触发**: `/qe-fleet monitor <测试结果文件>` 或 CI webhook **execution-analyst**: - 支持格式: JUnit XML / JSON / 结构化 Markdown - 失败归类: ENV_ISSUE / DATA_ISSUE / CASE_BUG / REAL_BUG - 失败模式识别: 同一模式≥3次 → 标记为系统性问题 - 根因推测 + 回归建议 **knowledge-curator**: - 自动回写: REAL_BUG → historical_defects / 新漏测模式 → common_missed_scenes / 高质量用例 → best_practices - 去重保护: Jaccard 相似度 + LLM 语义去重 - 安全策略: P0 确认缺陷可配置自动生效,P1-P3 默认人工确认 - 输出: 变更 diff + 建议说明 --- ## 4. CLI 设计 ### 4.1 命令体系 ``` /qe-fleet run <需求文档> # 全流程 /qe-fleet prepare <需求文档> # 仅准备 /qe-fleet analyze <需求文档> # 准备+分析 /qe-fleet design <需求文档> # 准备→分析→设计 /qe-fleet review <需求文档> # 仅评审已有产物 /qe-fleet export <需求文档> # 仅 Excel 导出 /qe-fleet monitor <测试结果> # 执行分析+知识沉淀 /qe-fleet status <需求文档> # 进度和产物状态 /qe-fleet knowledge sync # 知识库健康检查 /qe-fleet knowledge gaps # 知识库覆盖缺口报告 ``` 兼容: `/case_generate` = `/qe-fleet run` 别名 ### 4.2 自动执行规则 (CLI) Agent 收到 `/qe-fleet run` 后必须自动完成: 1. 解析需求文档路径,提取 BASE_NAME 2. 执行 `python3 scripts/fleet_runner.py run --requirement <路径>` 3. 按战区顺序执行,读取各阶段 manifest 状态 4. 检查 confirmation_gate,必要时阻断并告知 5. 最终汇总: 成功/失败、产物路径、质量裁决 --- ## 5. 目录结构 ``` QaAutomationHub/ ├── .claude/ │ ├── skills/qe_fleet/SKILL.md # Fleet skill 定义 │ └── commands/qe_fleet.md # 子命令分发 ├── AGENTS.md # Codex CLI 入口 ├── agents/ │ ├── prepare/ # 准备战区 (2 Agent) │ │ ├── document_parser.md │ │ └── knowledge_activator.md │ ├── analyze/ # 分析战区 (3 Agent) │ │ ├── requirement_analyzer.md │ │ ├── conflict_detector.md │ │ └── risk_assessor.md │ ├── design/ # 设计战区 (4 Agent) │ │ ├── test_strategist.md │ │ ├── testpoint_designer.md │ │ ├── case_designer.md │ │ └── data_builder.md │ ├── review/ # 评审战区 (3 Agent) │ │ ├── case_reviewer.md │ │ ├── coverage_auditor.md │ │ └── quality_gatekeeper.md │ └── monitor/ # 监控战区 (2 Agent) │ ├── execution_analyst.md │ └── knowledge_curator.md ├── scripts/ │ ├── fleet_runner.py # 核心编排器 │ ├── fleet_manifest.py # Manifest 管理 │ ├── fleet_agents.py # Agent 加载和上下文注入 │ ├── case_pipeline.py # 向后兼容 │ ├── export_excel.py # Excel 导出 │ └── governance_audit.py # 治理审计 ├── knowledge_base/ # 保持现有结构 ├── knowledge_gaps/ # 知识缺口追踪 ├── fleet_config.yml # Fleet 全局配置 ├── output/ # 输出产物 ├── docs/ │ ├── USER_GUIDE.md # 用户指南 │ └── MAINTENANCE_GUIDE.md # 维护指南 └── README.md # 项目入口文档 ``` --- ## 6. 配置文件 ### fleet_config.yml ```yaml fleet: name: "QE Fleet" version: "2.0.0" battle_zones: prepare: { enabled: true, auto_confirm: false } analyze: { enabled: true, auto_confirm: false } design: { enabled: true, auto_confirm: false } review: { enabled: true, auto_confirm: false } monitor: { enabled: true, auto_confirm: true } quality_gate: min_coverage: 0.95 max_blockers: 0 require_data_builder: true require_risk_assessment: true monitor: auto_curate_p0: true auto_curate_p1_p3: false supported_formats: [junit, json, markdown] output: excel_format: yunxiao snapshot_keep: 3 auto_sync_maintained: true ``` --- ## 7. 关键技术决策 | 决策点 | 选项 | 理由 | |--------|------|------| | 编排方式 | Python (fleet_runner.py) | 确定性、可调试、可度量 | | Agent 通信 | 文件 + manifest JSON | 战区隔离、故障域清晰、可回溯 | | CLI 入口 | Claude CLI + Codex CLI | 与现有基础设施一致、零额外部署 | | 知识激活 | 关键词 + 语义匹配 | 精确匹配保底、语义扩展覆盖 | | 冲突检测 | n-gram + 术语语义 | 提升检测精度,减少误报 | | 质量门禁 | 三级裁决 | 允许自动修复,精准阻断高危项 | | 知识沉淀 | 自动建议 + 人工确认 | P0 紧急可控、P1-P3 质量把关 | | Excel 导出 | 保持云效格式 | 向后兼容现有平台 | | 版本快照 | 保持固定文件名 + versions/ | 向后兼容、日常无感知 | --- ## 8. 与原项目兼容性 - `/case_generate` 保留为 `/qe-fleet run` 别名 - `case_pipeline.py` 的 prepare/verify/export 接口保留 - 输出文件命名规则不变 (固定文件名 + versions/ 快照) - knowledge_base 目录结构不变 (monitor 追加不修改) - Excel 导出格式保持云效字段模型 - 向下兼容: 仅用原 4 Agent 也可工作 --- ## 9. 实现范围 ### Phase 1: 核心重构 - [ ] 创建新目录结构 - [ ] 编写 fleet_config.yml - [ ] 实现 fleet_runner.py (编排器) - [ ] 实现 fleet_manifest.py (manifest 管理) - [ ] 实现 fleet_agents.py (Agent 加载) - [ ] 升级 .claude/ skill 和 command - [ ] 升级 AGENTS.md ### Phase 2: Agent 迁移+新增 - [ ] 迁移 + 升级 Prepare 战区 Agent (2→2) - [ ] 迁移 + 升级 Analyze 战区 Agent (1→3) - [ ] 迁移 + 升级 Design 战区 Agent (1→4) - [ ] 迁移 + 升级 Review 战区 Agent (1→3) - [ ] 新建 Monitor 战区 Agent (0→2) ### Phase 3: 文档 - [ ] USER_GUIDE.md - [ ] MAINTENANCE_GUIDE.md - [ ] README.md 重写 ### Phase 4: 推送部署 - [ ] Git 仓库初始化 + 推送 - [ ] 验证 /qe-fleet run 端到端流程