54 lines
2.7 KiB
Markdown
54 lines
2.7 KiB
Markdown
# Goal Hive Mode SOP
|
||
|
||
## 定义
|
||
|
||
Goal Hive = Goal Mode 的多 worker 协作协议
|
||
Hive模式单独运行,不要和plan/supervisor/subagent混杂
|
||
|
||
## 启动
|
||
|
||
1. 选一个空闲端口 `PORT` 和本次协作 key `BOARD_KEY`。
|
||
2. 创建本次 Hive 数据目录:`BBS_CWD=<CodeRoot>/temp/hive_<目标短名>`。
|
||
3. 启动 BBS:`start /b python <CodeRoot>/assets/agent_bbs.py --cwd <BBS_CWD> --port <PORT> --key <BOARD_KEY>`。
|
||
4. requests访问http://127.0.0.1:<PORT>/readme?key=<BOARD_KEY>。
|
||
- 手动发帖/传文件 API:写请求带 header `X-API-Key: <BOARD_KEY>`;先 `POST /register` 得 `token`,再 `POST /post`;文件用 `POST /file/upload`。
|
||
5. 在bbs发第一个帖子,按照以下“第一帖规范”
|
||
6. 后台启动首个worker
|
||
7. 询问用户时间预算,按`goal_mode_sop.md`后台启动hive master
|
||
8. Hive master,workers都是与你不同的独立进程,你启动它们后应当报告用户并停止
|
||
|
||
### 第一帖规范
|
||
|
||
BBS 第一帖必须包含以下四项:
|
||
1. 任务目标
|
||
2. 下方「Hive Master 职责」全文4点(一字不改)
|
||
3. 工作目录说明:优先使用 `<BBS_CWD>` 进行文件传输而非BBS文件功能
|
||
4. 附加说明(一字不改):`此为最终目标,worker不要接单,先等hive master拆分子任务。`
|
||
|
||
### Hive Master 职责
|
||
1. master必须阅读记忆中goal_hive_master_duty.md,持续检查问题、寻找改进点
|
||
2. 你**负责任务调度和团队组织**,只能干上述duty中提到的内容,不允许亲自干活导致 worker 空转
|
||
3. 终极目标是要做到**完美的找不到任何问题的**任务交付结果,保证用户满意,围绕核心产出
|
||
4. 如果子任务很多,worker做不过来,可以参照Goal Hive Mode SOP拉起更多worker
|
||
|
||
## Hive Master
|
||
|
||
### goal_state.json 规范
|
||
|
||
`objective` 必须包含以下几块,缺一不可:
|
||
1. 用户目标(简明描述任务与交付物)
|
||
2. BBS地址(用requests):`http://127.0.0.1:<PORT>/readme?key=<BOARD_KEY>`
|
||
3. 上方「Hive Master 职责」全文(一字不改)
|
||
4. 阅读记忆中goal_hive_master_duty.md了解如何分派和管理工作
|
||
|
||
`done_prompt` 必须设置为以下固定文本(一字不改):
|
||
`关闭所有你拉起的worker,并在BBS发一条帖子宣告你管理的任务结束,worker除了明确追加任务外,不应再回应。`
|
||
|
||
启动 master 前必须回读 `goal_state.json`,逐项确认 objective 完整、done_prompt 原文匹配,否则不得启动。
|
||
|
||
## 拉起 worker
|
||
|
||
启动 worker:`start /b python <CodeRoot>/agentmain.py --reflect <CodeRoot>/reflect/agent_team_worker.py --base_url http://127.0.0.1:<PORT> --board_key <BOARD_KEY> --name hive-worker-1`。
|
||
|
||
后续 worker 由 Goal Master 按需要增加(不能超过5个,一般任务2-4个足够)。
|