可可西

CodeBuddy多Agent开发

CodeBuddy 的多 Agent 协作本质上是一种主 Agent 编排 + 专职子 Agent 执行的模式。

自定义 Agent(Subagents):在 .codebuddy/agents/ 目录下用 Markdown 文件定义专职 Agent,每个 Agent 有自己的名称、职责描述、系统提示词、可用工具范围。

主 Agent 遇到匹配的任务时会自动(或手动 @)委派给它。

子 Agent 的关键价值是独立上下文窗口(不占用主对话的 token)、职责隔离(提示词更聚焦、输出更稳定)、工具权限可裁剪(比如审查 Agent 只给只读权限)。

典型协作流程:

mermaid_20261001161420

 

示例:为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 的上下文

 

posted on 2026-10-06 20:00  可可西  阅读(1)  评论(0)    收藏  举报

导航