# Phase 3.5: Consolidation Agent 汇总所有分析 Agent 的产出,生成跨章节综合分析,为 Phase 4 索引报告提供内容。 > **写作规范**: [../specs/writing-style.md](../specs/writing-style.md) ## 执行要求 **必须执行**:Phase 3 所有 Analysis Agents 完成后,主编排器**必须**调用此 Consolidation Agent。 **触发条件**: - Phase 3 所有 agent 已返回结果(status: completed/partial/failed) - `sections/section-*.md` 文件已生成 **输入来源**: - `agent_summaries`: Phase 3 各 agent 返回的 JSON(包含 status, output_file, summary, cross_module_notes) - `cross_module_notes`: 从各 agent 返回中提取的跨模块备注数组 **调用时机**: ```javascript // Phase 3 完成后,主编排器执行: const phase3Results = await runPhase3Agents(); // 并行执行所有 analysis agents const agentSummaries = phase3Results.map(r => JSON.parse(r)); const crossNotes = agentSummaries.flatMap(s => s.cross_module_notes || []); // 必须调用 Phase 3.5 Consolidation Agent await runPhase35Consolidation(agentSummaries, crossNotes); ``` ## 核心职责 1. **跨章节综合分析**:生成 synthesis(报告综述) 2. **章节摘要提取**:生成 section_summaries(索引表格内容) 3. **质量检查**:识别问题并评分 4. **建议汇总**:生成 recommendations(优先级排序) ## 输入 ```typescript interface ConsolidationInput { output_dir: string; config: AnalysisConfig; agent_summaries: AgentReturn[]; cross_module_notes: string[]; } ``` ## Agent 调用代码 主编排器使用以下代码调用 Consolidation Agent: ```javascript Task({ subagent_type: "cli-explore-agent", run_in_background: false, prompt: ` ## 规范前置 首先读取规范文件: - Read: ${skillRoot}/specs/quality-standards.md - Read: ${skillRoot}/specs/writing-style.md 严格遵循规范中的质量标准和段落式写作要求。 ## 任务 作为汇总 Agent,读取所有章节文件,执行跨章节分析,生成汇总报告和索引内容。 ## 输入 - 章节文件: ${outputDir}/sections/section-*.md - Agent 摘要: ${JSON.stringify(agent_summaries)} - 跨模块备注: ${JSON.stringify(cross_module_notes)} - 报告类型: ${config.type} ## 核心产出 ### 1. 综合分析 (synthesis) 阅读所有章节,用 2-3 段落描述项目全貌: - 第一段:项目定位与核心架构特征 - 第二段:关键设计决策与技术选型 - 第三段:整体质量评价与显著特点 ### 2. 章节摘要 (section_summaries) 为每个章节提取一句话核心发现,用于索引表格。 ### 3. 架构洞察 (cross_analysis) 描述章节间的关联性,如: - 模块间的依赖关系如何体现在各章节 - 设计决策如何贯穿多个层面 - 潜在的一致性或冲突 ### 4. 建议汇总 (recommendations) 按优先级整理各章节的建议,段落式描述。 ## 质量检查维度 ### 一致性检查 - 术语一致性:同一概念是否使用相同名称 - 代码引用:file:line 格式是否正确 ### 完整性检查 - 章节覆盖:是否涵盖所有必需章节 - 内容深度:每章节是否达到 ${config.depth} 级别 ### 质量检查 - Mermaid 语法:图表是否可渲染 - 段落式写作:是否符合写作规范(禁止清单罗列) ## 输出文件 写入: ${outputDir}/consolidation-summary.md ### 文件格式 \`\`\`markdown # 分析汇总报告 ## 综合分析 [2-3 段落的项目全貌描述,段落式写作] ## 章节摘要 | 章节 | 文件 | 核心发现 | |------|------|----------| | 系统概述 | section-overview.md | 一句话描述 | | 层次分析 | section-layers.md | 一句话描述 | | ... | ... | ... | ## 架构洞察 [跨章节关联分析,段落式描述] ## 建议汇总 [优先级排序的建议,段落式描述] --- ## 质量评估 ### 评分 | 维度 | 得分 | 说明 | |------|------|------| | 完整性 | 85% | ... | | 一致性 | 90% | ... | | 深度 | 95% | ... | | 可读性 | 88% | ... | | 综合 | 89% | ... | ### 发现的问题 #### 严重问题 | ID | 类型 | 位置 | 描述 | |----|------|------|------| | E001 | ... | ... | ... | #### 警告 | ID | 类型 | 位置 | 描述 | |----|------|------|------| | W001 | ... | ... | ... | #### 提示 | ID | 类型 | 位置 | 描述 | |----|------|------|------| | I001 | ... | ... | ... | ### 统计 - 章节数: X - 图表数: X - 总字数: X \`\`\` ## 返回格式 (JSON) { "status": "completed", "output_file": "consolidation-summary.md", // Phase 4 索引报告所需 "synthesis": "2-3 段落的综合分析文本", "cross_analysis": "跨章节关联分析文本", "recommendations": "优先级排序的建议文本", "section_summaries": [ {"file": "section-overview.md", "title": "系统概述", "summary": "一句话核心发现"}, {"file": "section-layers.md", "title": "层次分析", "summary": "一句话核心发现"} ], // 质量信息 "quality_score": { "completeness": 85, "consistency": 90, "depth": 95, "readability": 88, "overall": 89 }, "issues": { "errors": [...], "warnings": [...], "info": [...] }, "stats": { "total_sections": 5, "total_diagrams": 8, "total_words": 3500 } } ` }) ``` ## 问题分类 | 严重级别 | 前缀 | 含义 | 处理方式 | |----------|------|------|----------| | Error | E | 阻塞报告生成 | 必须修复 | | Warning | W | 影响报告质量 | 建议修复 | | Info | I | 可改进项 | 可选修复 | ## 问题类型 | 类型 | 说明 | |------|------| | missing | 缺失章节 | | inconsistency | 术语/描述不一致 | | invalid_ref | 无效代码引用 | | syntax | Mermaid 语法错误 | | shallow | 内容过浅 | | list_style | 违反段落式写作规范 | ## Output - **文件**: `consolidation-summary.md`(完整汇总报告) - **返回**: JSON 包含 Phase 4 所需的所有字段