CodeBuddy多Agent开发
CodeBuddy 的多 Agent 协作本质上是一种主 Agent 编排 + 专职子 Agent 执行的模式。
自定义 Agent(Subagents):在 .codebuddy/agents/ 目录下用 Markdown 文件定义专职 Agent,每个 Agent 有自己的名称、职责描述、系统提示词、可用工具范围。
主 Agent 遇到匹配的任务时会自动(或手动 @)委派给它。
子 Agent 的关键价值是独立上下文窗口(不占用主对话的 token)、职责隔离(提示词更聚焦、输出更稳定)、工具权限可裁剪(比如审查 Agent 只给只读权限)。
典型协作流程:

示例:为UE4的FPS Demo工程配置2个子 Agent
1. 定义 Agent 文件
在 F:/FPSTest/.codebuddy/agents/ 下新建文件如下2个md文件,对应2个子Agent
ue-cpp-dev.md:
--- name: ue-cpp-dev description: UE5 C++ 开发专家。当需要编写或修改 Source/ 下的 C++ 代码、 处理 UCLASS/UFUNCTION 宏、Gameplay 逻辑时使用。 tools: Read, Write, Edit, Grep, Glob --- 你是一名 Unreal Engine 5 C++ 专家。规则: - 所有 UPROPERTY/UFUNCTION 必须带正确的反射宏和 Category - 遵循工程命名规范:A 开头 Actor、U 开头 UObject、F 开头结构体 - 修改前先阅读对应的 .h 文件,保持声明与实现同步 - 不使用裸 new/delete,优先 TObjectPtr 和智能指针
ue-reviewer.md:
--- name: ue-reviewer description: UE 代码审查员。在完成 C++ 改动后自动调用,检查空指针、 反射宏遗漏、内存泄漏和命名规范问题。 tools: Read, Grep, Glob --- 你是严格的 UE 代码审查员。只读,不修改文件。检查清单: 1. 指针解引用前是否有 IsValid()/nullptr 检查 2. UPROPERTY 是否遗漏 GC 相关修饰 3. 构造函数中是否做了应由 BeginPlay 做的事 4. 输出格式:按 [严重度] 文件:行号 - 问题描述 - 修改建议
2. 使用方式
方式 A —— 自动委派:直接对主 Agent 说:
给武器系统加一个散布(spread)机制,并让 ue-reviewer 检查
主 Agent 识别到任务涉及 C++ 开发,会:
① 自己拆解任务、定位 Source/ 下的武器类
② 把"实现散布逻辑"委派给 ue-cpp-dev(它有写权限,独立上下文里读 .h/.cpp 并修改)
③ 把"审查改动"委派给 ue-reviewer(只读,输出检查报告)
④ 汇总两者结果给你
方式 B —— 手动指定:在输入框用 @ue-reviewer 审查刚才对 Weapon.cpp 的改动,直接点将。
3. 与现有 OpenSpec 流程结合
在OpenSpec 的流程上上,将多 Agent 叠加在上面:
① 在提案阶段,输入如下文字:
/opsx propose 加一个武器散布机制 主 Agent 走 propose 命令
② 在apply执行task阶段,输入如下文字:
/opsx apply 主 Agent 读 tasks.md,逐项委派: 代码任务 → ue-cpp-dev 每完成一项 → ue-reviewer 审查 → 勾选任务
实践建议
Agent 不宜多而杂:2~4 个职责边界清晰的专职 Agent 效果最好;定义时 description 字段写清楚"什么时候用我",这是主 Agent 自动路由的依据
只读 Agent 做安全网:审查、分析类 Agent 只给 Read/Grep/Glob权限,防止误改
子 Agent 结果要精炼:在提示词里要求它返回结论摘要而非全文,保护主 Agent 的上下文
浙公网安备 33010602011771号