# Agentic QE Fleet 维护指南

> 版本: 2.0.0 | 最后更新: 2026-07-09 | 面向: 仓库维护者

## 目录

1. [架构概览](#1-架构概览)
2. [目录职责速查](#2-目录职责速查)
3. [日常维护任务](#3-日常维护任务)
4. [Agent 管理](#4-agent-管理)
5. [知识库维护](#5-知识库维护)
6. [配置调优](#6-配置调优)
7. [故障排查](#7-故障排查)
8. [版本升级](#8-版本升级)

---

## 1. 架构概览

### 1.1 战区执行顺序

```
PREPARE ──→ ANALYZE ──→ DESIGN ──→ REVIEW ──→ MONITOR
  │            │           │          │           │
  │            │           │          │           └── 异步触发（测试执行后）
  │            │           │          └── quality-gatekeeper 裁决
  │            │           └── 4 Agent (strategy + testpoints + cases + data)
  │            └── 3 Agent (analysis + conflicts + risk)
  └── 2 Agent (parse + knowledge activate)
```

### 1.2 数据流

```python
# 每个战区产出独立 manifest，下一战区消费
manifest_prepare.json    → 标准化路径、激活知识清单
manifest_analyze.json    → 需求分析、冲突、风险矩阵、确认门禁
manifest_design.json     → 策略、测试点、用例、数据路径
manifest_review.json     → 评审、覆盖率、质量裁决
manifest_monitor.json    → 执行分析、知识沉淀建议
```

### 1.3 关键文件

| 文件 | 职责 | 改动频率 |
|------|------|----------|
| `fleet_config.yml` | 全局配置（开关、阈值、策略） | 低频 |
| `fleet_runner.py` | 核心编排器 | 低频 |
| `fleet_manifest.py` | Manifest 读写 | 低频 |
| `fleet_agents.py` | Agent 注册表和加载 | 新增 Agent 时 |
| `agents/*/*.md` | 14 个 Agent 的行为定义 | 调优 prompt 时 |
| `knowledge_base/` | 领域知识 | 持续维护 |
| `case_pipeline.py` | 向后兼容的流水线脚本 | 低频 |

---

## 2. 目录职责速查

```
QaAutomationHub/
├── agents/                   # 🔧 Agent 行为定义（14 个 prompt 文件）
│   ├── prepare/              #    准备战区 (2)
│   ├── analyze/              #    分析战区 (3)
│   ├── design/               #    设计战区 (4)
│   ├── review/               #    评审战区 (3)
│   └── monitor/              #    监控战区 (2)
├── scripts/                  # 🔧 编排脚本和工具
│   ├── fleet_runner.py       #    核心编排器（不要直接改执行逻辑）
│   ├── fleet_manifest.py     #    Manifest 管理
│   ├── fleet_agents.py       #    Agent 加载、注册表、上下文注入
│   ├── case_pipeline.py      #    向后兼容的 prepare/verify/export
│   ├── export_excel.py       #    Markdown → Excel
│   └── governance_audit.py   #    治理审计
├── knowledge_base/           # 📚 长期资产（持续投入维护）
│   ├── 00_project/           #    项目画像
│   ├── 01_standards/         #    标准规范
│   ├── 02_history/           #    历史经验
│   └── 03_best_practices/    #    最佳实践
├── knowledge_gaps/           # 📝 知识缺口追踪
├── decisions/                # 📋 跨需求冲突确认单
├── source_docs/              # 📄 原始输入文档
├── requirements/             # 📄 正式维护版需求
├── output/                   # 📊 执行产物（不作为长期资产）
├── fleet_config.yml          # ⚙️ 全局配置
├── docs/                     # 📖 文档
└── .claude/                  # 🔧 CLI 入口
```

### 资产 vs 产物

**长期资产**（需要持续投入维护）:
- `knowledge_base/` — 决定 Fleet 质量的源头
- `agents/` — Agent 行为定义
- `fleet_config.yml` — 全局配置
- `scripts/` — 编排脚本
- `decisions/` — 冲突确认结论

**执行产物**（每次运行产生，不做长期维护）:
- `output/analysis/`
- `output/test_points/`
- `output/test_cases/`
- `output/excel_reports/`
- `output/manifests/`
- `output/versions/`

---

## 3. 日常维护任务

### 3.1 新增需求时

```bash
# 1. 放置需求文档
cp 新需求.docx source_docs/requirements_raw/

# 2. 放置配套技术方案（若有）
cp 技术方案.docx source_docs/technical_solutions/

# 3. 运行 Fleet
/qe-fleet run source_docs/requirements_raw/新需求.docx

# 4. 如果触发确认门禁 → 创建确认单 → 确认后重新运行
```

### 3.2 线上事故后

**必须做的事**（每次事故至少做一项）:

```markdown
1. 编辑 knowledge_base/02_history/historical_defects.md
   添加条目：
   ### {缺陷标题}
   - 模块: xxx
   - 现象: xxx
   - 根因: xxx
   - 防御建议: xxx
   - 发现日期: 2026-07-09
   - 严重度: P0/P1/P2

2. 如果是通用漏测模式，编辑 common_missed_scenes.md
   添加条目：
   ### {漏测场景}
   - 场景描述: xxx
   - 为什么容易漏测: xxx
   - 应该在哪个阶段发现: xxx
   - 预防措施: xxx
```

### 3.3 发现高质量用例时

将优秀用例加入 `knowledge_base/03_best_practices/`，作为后续生成的范例。

### 3.4 知识库健康检查

```bash
# 检查知识库覆盖缺口
/qe-fleet knowledge gaps

# 同步和去重
/qe-fleet knowledge sync
```

---

## 4. Agent 管理

### 4.1 新增 Agent

1. 在 `agents/<zone>/` 下创建 prompt 文件
2. 在 `fleet_agents.py` 的 `AGENT_REGISTRY` 中注册：

```python
"new-agent-id": {
    "zone": "design",          # 所属战区
    "path": "design/new_agent.md",
    "name": "新 Agent 名称",
    "description": "一句话描述",
}
```

3. 在对应战区的 `fleet_runner.py` 处理函数中加入该 Agent 的调用逻辑
4. 运行验证：
```bash
python3 scripts/fleet_runner.py validate
```

### 4.2 修改 Agent 行为

Agent 行为完全由 prompt 文件定义。修改步骤：

1. 编辑 `agents/<zone>/<agent_name>.md`
2. 修改 Role/Task/Constraints 部分
3. 用真实需求测试效果

**调优原则**:
- 先改知识库（源头），再改 prompt（行为），最后改脚本（流程）
- 每次只改一个 Agent，对比前后效果
- 保留旧 prompt 备份（`_v1_backup.md`）

### 4.3 Agent 注册表

| Agent ID | 战区 | 文件 |
|----------|------|------|
| `document-parser` | prepare | `agents/prepare/document_parser.md` |
| `knowledge-activator` | prepare | `agents/prepare/knowledge_activator.md` |
| `requirement-analyzer` | analyze | `agents/analyze/requirement_analyzer.md` |
| `conflict-detector` | analyze | `agents/analyze/conflict_detector.md` |
| `risk-assessor` | analyze | `agents/analyze/risk_assessor.md` |
| `test-strategist` | design | `agents/design/test_strategist.md` |
| `testpoint-designer` | design | `agents/design/testpoint_designer.md` |
| `case-designer` | design | `agents/design/case_designer.md` |
| `data-builder` | design | `agents/design/data_builder.md` |
| `case-reviewer` | review | `agents/review/case_reviewer.md` |
| `coverage-auditor` | review | `agents/review/coverage_auditor.md` |
| `quality-gatekeeper` | review | `agents/review/quality_gatekeeper.md` |
| `execution-analyst` | monitor | `agents/monitor/execution_analyst.md` |
| `knowledge-curator` | monitor | `agents/monitor/knowledge_curator.md` |

---

## 5. 知识库维护

### 5.1 项目画像（必维护）

`knowledge_base/00_project/project_profile.md` 是 Fleet 生成质量的根基。至少填写：

- 项目名称、类型、目标用户
- 核心业务域
- 业务边界与禁用能力
- 项目特有高风险规则
- 技术依赖和关键系统

**不维护的后果**: Fleet 输出退化为通用模板，没有项目针对性。

### 5.2 术语文件

- `terminology.md` — 核心商城术语，**常驻激活**，始终生效
- `terminology_optional_saas.md` — 私域/分销/储值术语，**按需激活**

新增术语的原则：
- 通用术语放 `terminology.md`
- 特定业务线术语单独拆文件，由 Fleet 自动识别是否激活
- 每个术语包含：中文名、英文名、定义、适用范围、关联术语

### 5.3 历史缺陷

格式规范（每条缺陷应包含）：
```markdown
### {缺陷标题}
- 模块: xxx
- 现象: 具体可观测的异常行为
- 根因: 为什么发生
- 影响: 用户/数据/资金的直接影响
- 防御建议: 测试中应如何覆盖
- 发现日期: YYYY-MM-DD
- 严重度: P0/P1/P2
```

### 5.4 最佳实践

格式规范（每个案例应包含）：
```markdown
### {案例标题}
- 适用场景: 什么类型的需求可以参考
- 用例编号: TC-XXX
- 亮点: 为什么这个用例写得好（颗粒度/数据/预期结果）
- 用例内容: （表格或引用）
```

### 5.5 知识库膨胀控制

- 一个文件只讲一类东西
- 出现 30-50 条以上同类内容时，按模块拆分
- 每季度做一次去重重审
- 删除已过时或不再适用的条目（不要怕删）

---

## 6. 配置调优

### 6.1 fleet_config.yml 关键参数

```yaml
# 质量门禁严格度（0-1）
quality_gate:
  min_coverage: 0.95       # 调低 → 更容易 PASS；调高 → 更严格
  max_blockers: 0          # 允许的阻断项上限

# 知识沉淀自动策略
monitor:
  auto_curate_p0: true     # P0 缺陷自动沉淀（推荐开启）
  auto_curate_p1_p3: false # P1-P3 人工确认（推荐保持关闭）

# 冲突检测阈值
conflict_detection:
  related_similarity_threshold: 0.015   # 关联需求阈值
  conflict_similarity_threshold: 0.22   # 冲突判定阈值
  semantic_conflict_detection: true     # 语义级检测（推荐开启）

# 版本管理
output:
  snapshot_keep: 3         # 每个需求保留的版本快照数
```

### 6.2 战区开关

```yaml
battle_zones:
  monitor:
    enabled: false   # 暂时不需要 Monitor → 关闭
```

### 6.3 调试模式

编辑 `fleet_config.yml`，临时调整：
```yaml
battle_zones:
  analyze:
    auto_confirm: true   # 跳过确认门禁（仅调试用）
```

---

## 7. 故障排查

### 7.1 问题：Agent prompt 找不到

**症状**: `FileNotFoundError: Agent prompt 不存在`

**排查**:
```bash
# 验证所有 Agent 就绪
python3 scripts/fleet_runner.py validate
```

### 7.2 问题：确认门禁阻断

**症状**: `🛑 确认门禁未通过，暂停在 ANALYZE 战区`

**解决**:
1. 查看关联与冲突报告
2. 在 `decisions/` 下创建确认单
3. 确认状态写 `确认状态：已确认`
4. 重新运行 `/qe-fleet run`

### 7.3 问题：质量裁决 BLOCKED

**症状**: `🛑 质量裁决 BLOCKED，跳过导出`

**解决**:
1. 查看 `output/analysis/{需求名}_质量裁决.md`
2. 解决阻断项（参考评审报告中的修复建议）
3. 重新运行设计战区: `/qe-fleet design`

### 7.4 问题：文档解析失败

**症状**: `> ⚠️ 待确认：PDF 未提取到可用文本`

**原因**: 扫描件/图片型 PDF，文本层缺失

**解决**:
- 优先使用 `.docx` 格式
- 或手动将 PDF 内容转录为 Markdown 放到 `requirements/`

### 7.5 问题：生成质量不理想

**排查顺序**（不改产物，先查源头）:

1. 需求文档是否写清楚？（背景/目标/规则/边界/异常）
2. 项目画像是否维护？（业务边界、高风险规则、技术约束）
3. 知识库是否缺内容？（历史缺陷、易漏场景、最佳实践、术语定义）
4. Agent prompt 是否需要调优？（某个 Agent 的行为约束不够）
5. 最后才考虑手工修改产物

---

## 8. 版本升级

### 8.1 从 v1 (qa-automation-hub) 升级到 v2 (Agentic QE Fleet)

v1 产物完全兼容 v2，无需迁移：

- v1 的 `/case_generate` = v2 的 `/qe-fleet run`
- v1 的 `case_pipeline.py` 所有命令仍然可用
- v1 的 `output/` 产物命名规则不变
- v1 的 `knowledge_base/` 目录结构不变

**新增内容**:
- 10 个新 Agent（从 4 到 14）
- 5 个新产出类型（策略、风险、数据、评审、裁决）
- Monitor 战区（执行分析 + 知识沉淀）
- Manifest 多文件结构（prepare/analyze/design/review/monitor）
- fleet_config.yml 全局配置

### 8.2 升级后建议

1. 运行 `/qe-fleet validate` 确认所有 Agent 就绪
2. 用已有需求跑一次 `/qe-fleet run`，对比 v1 和 v2 的产出
3. 根据项目实际调整 `fleet_config.yml` 中的阈值
4. 补充项目画像中的具体信息
5. 开启 Monitor 战区，开启知识自动沉淀

### 8.3 治理审计

当改动涉及以下文件时，自动触发治理审计：

```bash
python3 scripts/governance_audit.py auto
```

触发条件：改动了 `scripts/`、`.claude/`、`agents/`、`AGENTS.md`、`README.md`、`fleet_config.yml`

**不会触发**: `requirements/`、`knowledge_base/02_history/`、`knowledge_base/03_best_practices/`、`output/` 的普通更新

---

## 附录: 快速排查命令

```bash
# Agent 健康检查
python3 scripts/fleet_runner.py validate

# 查看 Fleet 进度
python3 scripts/fleet_runner.py status --requirement source_docs/requirements_raw/需求.docx

# 重置某个战区（删除 manifest 重新运行）
rm output/manifests/需求_design.json
/qe-fleet design source_docs/requirements_raw/需求.docx

# 查看知识库健康度
/qe-fleet knowledge sync

# 治理审计
python3 scripts/governance_audit.py auto

# 仅导出 Excel（不重复生成）
python3 scripts/fleet_runner.py export --requirement source_docs/requirements_raw/需求.docx
```
