# Phase 3.5: Consolidation Agent 汇总所有分析 Agent 的产出,识别跨章节问题,生成汇总报告。 ## 输入 ```typescript interface ConsolidationInput { output_dir: string; config: AnalysisConfig; agent_summaries: AgentReturn[]; cross_module_notes: string[]; } ``` ## 执行 ```javascript Task({ subagent_type: "cli-explore-agent", prompt: ` ## 任务 作为汇总 Agent,读取所有章节文件,执行跨章节分析,生成汇总报告。 ## 输入 - 章节文件: ${outputDir}/sections/section-*.md - Agent 摘要: ${JSON.stringify(agent_summaries)} - 跨模块备注: ${JSON.stringify(cross_module_notes)} - 报告类型: ${config.type} ## 分析维度 ### 1. 一致性检查 - 术语一致性:同一概念是否使用相同名称 - 代码引用:file:line 格式是否正确 - 图表编号:是否连续且正确 ### 2. 完整性检查 - 章节覆盖:是否涵盖所有必需章节 - 内容深度:每章节是否达到 ${config.depth} 级别 - 图表数量:是否每章节包含图表 ### 3. 质量检查 - Mermaid 语法:图表是否可渲染 - 代码引用有效性:引用的文件是否存在 - 建议可行性:推荐是否具体可操作 ### 4. 关联性检查 - 章节间引用:是否有交叉引用 - 逻辑连贯:内容是否逻辑一致 - 重复内容:是否有冗余描述 ## 输出文件 写入: ${outputDir}/consolidation-summary.md ### 文件格式 \`\`\`markdown # 分析汇总报告 ## 1. 章节统计 | 章节 | 状态 | 图表数 | 代码引用数 | 字数 | |------|------|--------|------------|------| | System Overview | completed | 1 | 5 | 450 | | ... | ... | ... | ... | ... | ## 2. 发现的问题 ### 2.1 严重问题 (阻塞报告生成) | ID | 类型 | 位置 | 描述 | 建议 | |----|------|------|------|------| | E001 | missing | section-dataflow | 缺少数据流章节 | 补充数据流分析 | ### 2.2 警告 (影响报告质量) | ID | 类型 | 位置 | 描述 | 建议 | |----|------|------|------|------| | W001 | inconsistency | section-overview/layers | 架构描述不一致 | 统一术语 | ### 2.3 提示 (可选优化) | ID | 类型 | 位置 | 描述 | |----|------|------|------| | I001 | enhancement | section-algorithms | 建议添加复杂度分析 | ## 3. 跨章节关联 \`\`\`mermaid graph LR S1[Overview] --> S2[Layers] S2 --> S3[Dependencies] S3 --> S4[DataFlow] S2 -.->|不一致| S1 \`\`\` ## 4. 报告质量评分 | 维度 | 得分 | 说明 | |------|------|------| | 完整性 | 85% | 缺少1个章节 | | 一致性 | 90% | 2处术语不一致 | | 深度 | 95% | 符合 ${config.depth} 级别 | | 可读性 | 88% | 图表清晰 | ## 5. 推荐操作 1. **[必须]** 补充 section-dataflow 章节 2. **[建议]** 统一 Overview 和 Layers 中的架构术语 3. **[可选]** 为算法章节添加复杂度分析 \`\`\` ## 返回格式 (JSON) { "status": "completed", "output_file": "consolidation-summary.md", "quality_score": { "completeness": 85, "consistency": 90, "depth": 95, "readability": 88, "overall": 89 }, "issues": { "errors": [ {"id": "E001", "type": "missing", "section": "section-dataflow", "desc": "缺少数据流章节"} ], "warnings": [ {"id": "W001", "type": "inconsistency", "sections": ["section-overview", "section-layers"], "desc": "架构描述不一致"} ], "info": [ {"id": "I001", "type": "enhancement", "section": "section-algorithms", "desc": "建议添加复杂度分析"} ] }, "stats": { "total_sections": 5, "total_diagrams": 8, "total_code_refs": 42, "total_words": 3500 } } ` }) ``` ## 问题分类 | 严重级别 | 前缀 | 含义 | 处理方式 | |----------|------|------|----------| | Error | E | 阻塞报告生成 | 必须修复 | | Warning | W | 影响报告质量 | 建议修复 | | Info | I | 可改进项 | 可选修复 | ## 问题类型 | 类型 | 说明 | 检查范围 | |------|------|----------| | missing | 缺失章节 | 必需章节列表 | | inconsistency | 不一致 | 术语、命名、描述 | | invalid_ref | 无效引用 | 代码引用、图表引用 | | syntax | 语法错误 | Mermaid 图表 | | shallow | 内容过浅 | 深度级别要求 | | enhancement | 增强建议 | 最佳实践 | ## 与 Phase 4 的集成 ```javascript // Phase 4 装配时读取汇总报告 const summary = JSON.parse(Read(`${outputDir}/consolidation-summary.md`)); if (summary.issues.errors.length > 0) { // 阻止装配,提示用户 return AskUserQuestion({ questions: [{ question: `发现 ${summary.issues.errors.length} 个严重问题,如何处理?`, header: "质量检查", multiSelect: false, options: [ {label: "查看并修复", description: "显示问题,手动修复"}, {label: "忽略继续", description: "跳过检查,继续装配"}, {label: "终止", description: "停止报告生成"} ] }] }); } // 在报告中插入质量评分 insertQualityScore(report, summary.quality_score); ``` ## Output - 文件: `consolidation-summary.md` - 返回: 质量评分 + 问题列表 + 统计信息