feat: Goal Hive Mode - BBS quick启动参数化 + Hive SOP + goal_mode prompt调整
This commit is contained in:
1 parent
72ed05609a
commit
fcbd8572f1
4 files changed
+55
-10
No files matched your search
@@ -75,6 +75,9 @@ memory/L4_raw_sessions/*
|
||||
# Goal Mode SOP
|
||||
!memory/goal_mode_sop.md
|
||||
|
||||
# Goal Hive Mode SOP
|
||||
!memory/goal_hive_sop.md
|
||||
|
||||
# Skill Search SOP
|
||||
!memory/skill_search/
|
||||
!memory/skill_search/**
|
||||
|
||||
+9
-2
@@ -19,6 +19,9 @@ BOARDS, BOARDS_MTIME_NS, BOARDS_LOCK = DEFAULT_BOARDS, None, Lock()
|
||||
def load_boards_if_changed():
|
||||
global BOARDS, BOARDS_MTIME_NS
|
||||
with BOARDS_LOCK:
|
||||
if BOARDS_FILE is None:
|
||||
if BOARDS_MTIME_NS is None: init_db(); BOARDS_MTIME_NS = 0
|
||||
return BOARDS
|
||||
if not os.path.exists(BOARDS_FILE):
|
||||
json.dump(DEFAULT_BOARDS, open(BOARDS_FILE, "w", encoding="utf-8"), ensure_ascii=False, indent=2)
|
||||
mtime = os.stat(BOARDS_FILE).st_mtime_ns
|
||||
@@ -211,5 +214,9 @@ def download_file(rand_id: str, filename: str):
|
||||
return FileResponse(path, filename=filename)
|
||||
|
||||
if __name__ == "__main__":
|
||||
import uvicorn
|
||||
uvicorn.run(app, host="0.0.0.0", port=58800)
|
||||
import argparse, uvicorn
|
||||
p = argparse.ArgumentParser(); p.add_argument("--cwd"); p.add_argument("--port", type=int, default=58800); p.add_argument("--key")
|
||||
a = p.parse_args();
|
||||
if a.cwd: os.chdir(a.cwd)
|
||||
if a.key: BOARDS_FILE = None; BOARDS.clear(); BOARDS[a.key] = {"name": "default", "db": f"{a.key}.db"}
|
||||
uvicorn.run(app, host="0.0.0.0", port=a.port)
|
||||
@@ -0,0 +1,34 @@
|
||||
# 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. 按http://127.0.0.1:<PORT>/readme?key=<BOARD_KEY>,在bbs发第一个帖子,包括1.任务目标;2.以下的Hive Master职责;3.优先使用`<BBS_CWD>`进行文件传输而非bbs的文件功能;4.附加说明:`此为最终目标,worker不要接单,先等hive master拆分子任务。`
|
||||
5. 后台启动首个worker
|
||||
6. 询问用户时间预算,按`goal_mode_sop.md`后台启动hive master
|
||||
7. Hive master,workers都是与你不同的独立进程,你启动它们后应当报告用户并停止
|
||||
|
||||
## Goal Master
|
||||
|
||||
`objective` 必须逐字包含三块,缺一不可:用户目标、`http://127.0.0.1:<PORT>/readme?key=<BOARD_KEY>`、下方“Hive Master 职责”全文;启动 master 前必须回读 `goal_state.json`,确认 objective 同时包含 BBS URL、`Hive Master 职责`、`保持调度视角`,否则不得启动。
|
||||
|
||||
Hive Master 职责:
|
||||
1. 你**负责任务调度和团队组织**,不允许亲自干活导致 worker 空转,耗时执行与复杂复核应拆给 worker
|
||||
2. 终极目标是要做到**完美的找不到任何问题的**任务交付结果,保证用户满意,围绕核心产出(不太需要额外产出)
|
||||
3. 针对任务目标设计要做的子任务,发到bbs上,worker会接任务并完成
|
||||
4. 如果子任务很多,worker做不过来,可以参照Goal Hive Mode SOP拉起更多worker
|
||||
5. 只要时间没到,就持续验收结果、检查问题、寻找下一个改进点,并继续设计新子任务
|
||||
6. 时间没到不允许交付,必须头脑风暴找改进点和检查点,也可发动worker一起寻找改进点
|
||||
|
||||
## 拉起 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 按需要增加。
|
||||
@@ -25,14 +25,14 @@ def _save(state):
|
||||
# --- prompt 模板 ---
|
||||
CONTINUATION_PROMPT = """[Goal Mode — 持续推进]
|
||||
|
||||
<untrusted_objective>
|
||||
<objective>
|
||||
{objective}
|
||||
</untrusted_objective>
|
||||
</objective>
|
||||
|
||||
⏱ 已用 {elapsed_min:.0f} 分钟,剩余约 {remaining_min:.0f} 分钟。第 {turn} 次唤醒。
|
||||
|
||||
你正在 Goal Mode 下工作:
|
||||
1. 禁止说"已完成,是否继续"——预算没到就不准停。
|
||||
1. 禁止说"已完成,是否继续"——预算没到就不准停,不准提前交付,围绕核心产出不要额外产出。
|
||||
2. 在 cwd 下建立工作文件夹存放成果和进度,复杂任务可使用 plan 模式。
|
||||
3. 如果当前方向做完了,主动找下一个改进点:测试/边界case/性能/安全/文档/代码质量。
|
||||
4. 找不到改进点?扩大视野:关联模块、上下游依赖、用户体验、错误提示、日志可观测性、上网搜索、找其他路径、翻记忆里面有无相关。
|
||||
@@ -41,16 +41,17 @@ CONTINUATION_PROMPT = """[Goal Mode — 持续推进]
|
||||
|
||||
BUDGET_LIMIT_PROMPT = """[Goal Mode — 预算耗尽,收口]
|
||||
|
||||
<untrusted_objective>
|
||||
<objective>
|
||||
{objective}
|
||||
</untrusted_objective>
|
||||
</objective>
|
||||
|
||||
⏱ 预算已耗尽({budget_min:.0f} 分钟)。这是最后一轮。
|
||||
|
||||
请执行收口:
|
||||
1. 总结本次 goal 的所有进展(列表)。
|
||||
2. 列出未完成的事项和建议的 next step。
|
||||
3. 确保工作文件夹中记录了关键成果,以便下次继续。
|
||||
1. 总结本次 goal 的所有进展(列表)
|
||||
2. 列出未完成的事项和建议的 next step
|
||||
3. 确保工作文件夹中记录了关键成果
|
||||
4. 清理一些确定无用的中间临时文件和不再用的进程
|
||||
"""
|
||||
|
||||
# --- 主逻辑 ---
|
||||
|
||||
Reference in new issue
Block a user