专为解决高复杂度问题设计的多智能体分析框架。通过模拟“专家委员会”模式,将任务拆解为不同领域的子任务,由虚拟专家(如架构师、渲染管线工程师、内存审计员)并行分析,最终汇总为深度解决方案。适用于:大型重构前调研、未定根因的复杂 Bug、跨系统依赖分析。
在进行任何深入调查前,必须先初始化 C++ 代码感知工具,以便快速、准确地分析数据结构、函数调用和类继承关系:
set_project_directory 工具,并将路径设置为当前项目的根目录。search_classes 和 get_class_info 分析 C++ 类定义。search_functions 和 get_function_signature 获取函数原型。find_callers 和 get_call_path 追踪逻辑流。当面对极其复杂的代码库问题、跨系统重构或深层架构隐患时,单一视角的分析往往存在盲区。本技能通过 模拟多智能体协作 (Simulated Multi-Agent Collaboration),调用不同领域的“虚拟专家”对同一问题进行多维度会诊,最终由主探员汇总形成全景视角的解决方案。
在启动调查时,根据任务性质从以下角色中指派 2-4 名专家:
Common.hpp 规范的代码组织。GPUData.hpp 规范。执行者: Lead Investigator (由当前 Agent 担任)
模拟每位专家的视角,按顺序输出分析日志。
格式:
[🕵️♂️ Role Name] Analysis Log:
- Focus: [分析的具体文件/函数]
- Observation: [发现的问题或现象]
- Technical Constraint: [识别到的限制]
- Proposal: [初步建议]
Lead Investigator 汇总各方观点,解决冲突,形成最终决议。
Priority (如性能优先) 进行裁决。Action Plan。"启用 Codebase Investigator 模式,调查 RenderSystem 的性能瓶颈。请指派 Rendering Engineer 和 DOD Specialist。" / "Use codebase_investigator"
# 🕵️♂️ Codebase Investigation: RenderSystem Reform
## 1. Investigation Team
* **Rendering Engineer**: Focus on OpenGL calls & Shader binding.
* **DOD Specialist**: Focus on Entity iteration & Memory layout.
## 2. Specialist Findings
### [🎨 Rendering Engineer]
* **Observed**: `RenderSystem::Update` 调用了 `glMapBuffer` 导致 CPU 等待。
* **Risk**: GPU 强制同步,帧率剧烈波动。
* **Advice**: 必须改为 `glMapBufferRange` 配合 `GL_MAP_UNSYNCHRONIZED_BIT` 或使用 Triple Buffering。
### [💾 DOD Specialist]
* **Observed**: 渲染循环中直接访问了非连续的 `SpriteComponent` 内存。
* **Risk**: Cache Miss 率极高。
* **Advice**: 引入 `RenderBatch` 结构,预先将数据重排 (Packed) 到连续内存中。
## 3. Synthesis & Verdict (Lead Investigator)
**Root Cause**: 同步式 Buffer 更新与非连续内存访问共同导致了性能瓶颈。
**Consensus**: 优先解决 Buffer 同步问题 (Rendering Engineer 方案),并在下一阶段优化内存布局 (DOD 方案)。
**Action Plan**:
1. [Rendering] 实现 Triple Buffering (参见 `tracks/performance/spec.md`)。
2. [Data] 重构 `SpriteComponent` 为 SoA 布局(暂缓,P2 优先级)。