sync: HP_BOWEI 2026-10-15

This commit is contained in:
Myfro9
2026-10-15 02:00:27 +08:00
parent 6ac3081321
commit 47faf8bbb7
4 changed files with 195 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
---
name: codex-brain
description: 大脑分析、worker 执行的多 agent 循环。唯一大脑使用 GPT-6-Astra,任务子 agent 默认 GPT-6.1-sol,并由大脑按难度选择可用模型。用于用户要求 codex-brain、大脑模式、brain/worker loop 或主 agent 只分析不动手的任务;仅讨论或编辑本技能时不启动任务循环。
---
# codex-brain
参考 Claude Code 的 claude-brain,保留大脑、worker、调度员三角色及报告驱动循环,使用 Codex 的协作工具。
## 角色与模型
| 角色 | 数量 | 指定模型 | 职责 |
|---|---|---|---|
| 大脑(逻辑上的主 agent) | 全程唯一、持续复用 | `gpt-6-astra`(GPT-6-Astra) | 只读分析、拆解、决策、审查报告;不改文件、不执行命令、不调用业务 MCP、不派生 agent |
| worker(任务子 agent) | 按任务创建,可并行 | 默认 `gpt-6.1-sol`(GPT-6.1-sol) | 执行任务单、收集证据、写报告;不得再派生 agent |
| 调度员 | 当前 Codex 会话 | 当前会话模型 | 启动和联系 agent、机械转递、存档、更新名册、转达问题 |
大脑在运行时可作为一个独立子 agent 存在,以便显式指定 Astra;当前会话只承担调度,不是第二个大脑。技能文本不能切换当前会话模型,也不能保证模型参数实际生效。不要修改全局 Codex 模型配置。Astra 是用户指定的大脑模型,不因“最新模型”变化而自动替换。
调度员不要改写或优化任务单、替大脑判断完成,也不要亲自执行工程工作。允许它执行协作基础设施动作:创建记录目录、写协作记录、核对报告是否存在、管理 agent、读取模型审计元数据。路径错误、工具不可用、报告缺失等事实交给大脑重决策。
Codex 的提示词约束不是 Claude `tools: Read, Glob, Grep` 那种工具白名单。给大脑附上 [references/brain.md](references/brain.md) 的完整指令;如果运行环境提供可靠的只读权限配置,可使用,但不得宣称仅靠提示词已实现硬隔离。
## 模型选择
大脑每个任务指定模型及选择理由,默认 `gpt-6.1-sol`;难度、歧义、失败成本、结果可验证性决定是否调整:
- 常规实现、多步执行、测试与调试:默认 `gpt-6.1-sol`。
- 边界明确、容易独立验证的机械任务:可选 `gpt-6-luna`,仅限工具当前支持时。
- 高难推理、架构取舍、复杂故障或关键独立复核:可选 `gpt-6-astra`,仅限工具当前支持时。允许 worker 使用 Astra;大脑的角色仍全程唯一。
- 其他模型:仅使用本次运行工具公布的有效标识,不凭显示名称猜测参数。模型不可用时反馈大脑改派,禁止静默降级。
这些是选择标准,不要求为每个简单任务启动多个 worker。只并行独立任务;共享文件编辑应分配互不重叠的责任范围或顺序执行。
## 准备与工具适配
1. 读取当前工程 AGENTS.md 和适用的 bmem 记忆。确认工程根目录。
2. 查看本次运行提供的协作工具、有效模型与并发限制。若没有多 agent 能力,说明限制,不能声称已运行该模式。缺少 Astra 时不能以当前模型冒充大脑。
3. 创建 `./Notes/auto/<YYYYMMDD-HHMMSS>-<slug>/`,按 [references/templates.md](references/templates.md) 写 `00-goal.md`、`log.md`、`agents.md`。保留用户原话与已有约束,不添加调度员的方案。
4. 启动唯一大脑:`collaboration.spawn_agent` 使用 `task_name: "brain"`、`fork_turns: "none"`、`model: "gpt-6-astra"`,在 message 中附完整大脑指令、目标与运行目录绝对路径。指定 model/reasoning_effort 时使用 `fork_turns: "none"`,不要搭配全历史继承。若实际工具参数不同,以当前工具 schema 为准,不照搬 Claude 的 Agent/subagent_type 参数。
5. 保留返回 ID。运行中的 agent 用 `send_message` 联系;已经空闲或结束一轮的 agent 用 `followup_task` 触发下一轮。不要每轮重新创建大脑。并发限制包含当前会话和大脑,worker 按剩余名额排队。
## 每轮循环
1. 将大脑回复原文写入 `Rnn-brain.md`,追加流水。
2. `CONTINUE`:原样抽出每个任务至 `Rnn-Tk-task.md`,附报告格式;创建 worker,显式传任务指定模型(缺省 `gpt-6.1-sol`)、`fork_turns: "none"`,message 提供任务单路径、报告绝对路径、完整必要上下文、工程约束与“禁止派生 agent”。不依赖 worker 继承大脑上下文。
3. `ASK_USER`:转达原文问题并记录回答,用可用的用户输入工具;异步提问时依赖答案的工作保持等待,可继续独立任务。收到回答或用户中途插话后,原文存入 `Rnn-user.md` 并交给大脑。
4. worker 结束后核对报告存在。缺失时把其最终回复原文存为报告,注明“worker 未写报告,以下为最终回复”,不能补造证据。更新名册,向同一个大脑发送报告路径,请它读取原始报告并给下一轮决策。
5. `DONE`:只有目标达成且证据充分才成立。将大脑总结原文存入 `FINAL.md`,附轮数、模型审计和名册,向用户汇报结果与记录路径。
6. `BLOCKED`:如实保存未完成状态、原因和恢复条件,不把受阻写成完成。
所有协作记录仅在本次 `Notes/auto` 子目录内。工程交付文件按任务正常存放。不要在 Notes 根目录或其他目录另建协作 md。
每启动或结束一个 agent,更新 `agents.md` 并向用户显示完整名册:角色/任务、模型(请求)、模型(核实)、状态、开始/结束、报告。大脑永远第 1 行;历史 worker 行保留。请求模型依据 spawn 参数;实际模型仅依据工具返回或可信运行元数据,缺少证据写“未核实”,不能用 agent 自报或请求参数冒充核实结果。不要复用 Claude 的转录路径或 check_models.sh。
## 持续执行与恢复
- 保留原版默认 15 轮检查点:到达时由大脑审查进展、成本与下一步。已有持续工作授权且仍有有效进展则继续;用户设置了硬轮数/预算才按该限额停止,不为检查点重复索要许可。
- 同一任务连续 3 轮失败且任务单基本相同,向大脑报告事实,要求它重新决策,避免无变化重复派活。
- 用户要求“别问我”时,大脑自行裁定已授权范围内的普通选择,并逐轮记录依据;必要输入缺失或超出授权时报告具体阻塞,不能把自主模式当扩大权限。
- 大脑失联或终止后才创建接替实例,先确认旧实例不再运行;让接替大脑读取整个运行目录恢复状态,轮次继续递增,名册将旧实例记为“已接替”。
- 恢复任务时先确认目标运行目录、FINAL/日志及存活 agent,优先复用原大脑,不并存两个大脑。已完成运行只有用户要求新工作时才继续。
- 工作收尾按适用 AGENTS.md/bmem 协议归档,由 worker 执行记忆命令,调度员归档报告;不另建平行记忆库。