449eec9df7
- 创建 Main + Sub Agent 动态编排方案 - Main Agent 作为编排者,根据任务需要动态安排 Sub Agents - Sub Agents 分为 Execute、Review、Test 专业角色 - 不是固化工作流,而是 Main 根据需求灵活调整 - 添加上下文隔离原则 - 创建工作流脚本模板 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
7.3 KiB
7.3 KiB
v0.4 → Main + Sub Agent 迁移计划
概述
将三实例方案 (v0.4) 迁移到 Main + Sub Agent 架构。
架构对比
v0.4 (三实例)
┌─────────────────────────────────────────┐
│ tmux sanguo_dev │
│ ┌─────────────┐ ┌─────────┐ ┌───────┐ │
│ │ Claude │ │ Codex │ │Gemini │ │
│ │ (架构师) │ │(后端) │ │(前端) │ │
│ └─────────────┘ └─────────┘ └───────┘ │
└─────────────────────────────────────────┘
通信: SendMessage 跨实例
项目: 3 个独立目录
Main + Sub Agent
┌─────────────────────────────────────────┐
│ sanguo_moziplus_v3 项目 │
│ ┌───────────────────────────────────┐ │
│ │ Main Agent (架构师) │ │
│ │ - 分析需求 │ │
│ │ - Agent() 指派 Sub Agent │ │
│ │ - 整合结果 │ │
│ └───────────────────────────────────┘ │
│ │ │ │
│ ▼ ▼ │
│ ┌──────────────┐ ┌──────────────┐ │
│ │ Sub Agent 1 │ │ Sub Agent 2 │ │
│ │ (Executor) │ │ (Reviewer) │ │
│ └──────────────┘ └──────────────┘ │
└─────────────────────────────────────────┘
通信: Agent 工具
项目: 1 个目录
迁移映射
| 组件 | v0.4 | 目标 | 操作 |
|---|---|---|---|
| Claude Code 实例 | 3 个 | 1 个 | 移除多余实例 |
| 项目目录 | 3 个 | 1 个 | 保留 sanguo_moziplus_v3 |
| CLAUDE.md | 3 个文件 | 1 个文件 | 合并到主项目 |
| SendMessage | 跨实例 | Agent 工具 | 替换通信方式 |
| tmux 配置 | ~/.tmux-sanguo.conf | 不需要 | 删除 |
| 启动脚本 | start-sanguo-env.sh | 不需要 | 删除 |
| 消息队列 | message.sh | 不需要 | 删除 |
| ttyd Web | 8088 端口 | 可选 | 保留用于远程 |
| 角色 Skills | 3 个 | 3 个 | ✅ 保留 |
| Superpowers | 共享 | 共享 | ✅ 保留 |
| GLM-5.2 | 统一后端 | 统一后端 | ✅ 保留 |
迁移步骤
步骤 1: 保留部分
1.1 保留 Superpowers Skills
无需操作 - 已安装在 ~/.claude/skills/
1.2 保留角色 Skills
无需操作 - 已创建:
~/.claude/skills/architect-role/~/.claude/skills/backend-dev/~/.claude/skills/frontend-dev/
1.3 保留 GLM-5.2 配置
无需操作 - 已在 ~/.claude/settings.json
步骤 2: 创建 Main Agent 配置
2.1 创建主项目 CLAUDE.md
在 sanguo_moziplus_v3/.claude/CLAUDE.md:
# sanguo_moziplus_v3 - Main Agent
## 角色
你是架构师/项目经理,负责协调 Sub Agent 完成开发任务。
## 核心职责
- 接收用户需求
- 分析并拆分任务
- 指派 Sub Agent 执行
- 收集并整合结果
- 最终审查和验收
## 严格限制
**绝对不亲自编写代码**。所有编码任务通过 Agent 工具指派给 Sub Agent。
## 工作流程
1. 接收用户需求
2. 加载 architect-role skill
3. 分析需求,拆分任务
4. 使用 Agent 工具指派 Sub Agent:
```javascript
Agent({
subagent_type: "claude",
prompt: "作为后端开发专家,实现: ..."
})
- 收集 Sub Agent 返回结果
- 加载 CODE-REVIEW skill 审查
- 整合结果并提交 Git
Sub Agent 类型
- Executor: 执行编码任务 (加载 backend-dev/frontend-dev)
- Reviewer: 代码审查 (加载 CODE-REVIEW)
决策框架 (Linus 三问)
- 这是现实问题还是想象问题?
- 这个问题真的需要解决吗?
- 这个方案真的能解决问题吗?
### 步骤 3: 创建工作流
已在 `.claude/workflows/feature-development.js`
### 步骤 4: 清理 v0.4 组件
#### 4.1 可以删除的文件
```bash
# tmux 配置 (可选删除,如果不用三实例)
rm ~/.tmux-sanguo.conf
# 旧项目目录 (可选删除,如果不再使用)
rm -rf ~/.claude/projects/sanguo-main
rm -rf ~/.claude/projects/sanguo-backend
rm -rf ~/.claude/projects/sanguo-frontend
# 启动脚本 (可选删除)
rm ~/.claude/messages/sanguo/start-sanguo-env.sh
rm ~/.claude/messages/sanguo/message.sh
4.2 保留的文件
# 角色 Skills - 保留
~/.claude/skills/architect-role/
~/.claude/skills/backend-dev/
~/.claude/skills/frontend-dev/
# GLM-5.2 配置 - 保留
~/.claude/settings.json
# 可选: ttyd 配置 (如果需要 Web 访问)
~/.ttyd
步骤 5: 更新文档
5.1 创建新设计文档
docs/design/06-design-v0.5-sub-agent.md
5.2 更新快速参考
docs/06-quick-reference-v0.5.md
步骤 6: 验证测试
6.1 测试 Agent 工具
// 在 Main Agent 中测试
Agent({
subagent_type: "claude",
prompt: "作为后端开发专家,编写一个简单的 Hello World API"
})
6.2 测试工作流
Agent({
scriptPath: ".claude/workflows/feature-development.js",
args: "实现用户登录功能"
})
对比表
| 方面 | v0.4 三实例 | Main + Sub Agent |
|---|---|---|
| 复杂度 | 🟡 中等 | 🟢 简单 |
| 启动 | 需要启动脚本 | 直接使用 |
| 通信 | SendMessage (有限制) | Agent 工具 |
| 隔离 | 实例级别 | 会话级别 |
| 并行 | ⚠️ 复杂 | ✅ 支持 |
| 学习成本 | 🟡 中等 | 🟢 低 |
| 维护成本 | 🟡 中等 | 🟢 低 |
| Web 访问 | ✅ ttyd + tmux | ⚠️ 需要 Claude Code |
优势
Main + Sub Agent 方案优势:
- 更简单: 不需要 tmux、启动脚本
- 更灵活: Sub Agent 自动隔离、并行执行
- 更可靠: Agent 工具是内置功能,无跨实例限制
- 更易维护: 单一项目目录
迁移检查清单
保留
- Superpowers skills
- 角色 Skills (architect-role, backend-dev, frontend-dev)
- GLM-5.2 配置
- ttyd (可选)
创建
- .claude/CLAUDE.md
- .claude/workflows/feature-development.js
- docs/design/06-design-v0.5-sub-agent.md
- docs/06-quick-reference-v0.5.md
删除
- ~/.tmux-sanguo.conf
- ~/.claude/projects/sanguo-*
- ~/.claude/messages/sanguo/*.sh
测试
- Agent 工具测试
- 工作流测试
- Skills 加载测试
回滚方案
如果需要回滚到 v0.4:
# 恢复项目目录
# 从 Git 恢复或重新创建
# 重新运行 v0.4 设置
~/.claude/messages/sanguo/test-sanguo-env.sh
~/.claude/messages/sanguo/start-sanguo-env.sh