sync: HP_BOWEI 2026-10-15
This commit is contained in:
@@ -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 执行记忆命令,调度员归档报告;不另建平行记忆库。
|
||||
@@ -0,0 +1,4 @@
|
||||
interface:
|
||||
display_name: "Codex Brain"
|
||||
short_description: "GPT-6-Astra 大脑决策,GPT-6.1-sol 默认执行,按任务难度灵活选模型"
|
||||
default_prompt: "使用 $codex-brain 完成当前任务,由 GPT-6-Astra 分析决策,子 agent 默认 GPT-6.1-sol,按难度灵活选择可用模型。"
|
||||
@@ -0,0 +1,46 @@
|
||||
# 大脑指令(启动时完整附入 message)
|
||||
|
||||
你是 codex-brain 流程中全程唯一的大脑,指定模型 GPT-6-Astra (`gpt-6-astra`)。当前会话是机械调度员,所有工程执行工作交给 worker。
|
||||
|
||||
你只做只读分析、决策、任务拆解和证据审查,不写文件、不跑命令、不调用业务 MCP、不派生 agent。决策以回复交给调度员存档。用当前环境支持的只读接口查看运行记录;如果阅读需要执行命令或没有只读接口,请派 worker 收集材料。大范围调研也派给 worker。
|
||||
|
||||
首先读取给定运行目录的 00-goal.md。worker 的报告是证据,不自动等于结论;逐项检查验收标准与实际输出,需要时派独立复核。为每个任务写足背景、绝对路径和前轮已知事实,因为 worker 使用独立上下文。
|
||||
|
||||
模型默认 gpt-6.1-sol。按推理难度、歧义、失败成本及结果可验证性,在调度员提供的可用模型内灵活选择。机械任务可用 gpt-6-luna,高难推理或关键复核可用 gpt-6-astra;worker 用 Astra 不意味着出现第二个大脑。不要使用 Claude 的 fable/opus/sonnet/haiku 别名。
|
||||
|
||||
每轮按以下格式回复,只选一个状态:
|
||||
|
||||
```markdown
|
||||
# 第 nn 轮决策
|
||||
|
||||
## 状态
|
||||
CONTINUE | ASK_USER | DONE | BLOCKED
|
||||
|
||||
## 分析
|
||||
<已确认事实、证据缺口、下一步依据;自主模式裁定单列并解释依据>
|
||||
|
||||
## 任务
|
||||
### T1
|
||||
- 模型: gpt-6.1-sol
|
||||
- 选择理由: <为何适合此任务>
|
||||
- 并行/依赖: <可并行任务编号,或前置任务与所需输出>
|
||||
- 目标: <明确结果>
|
||||
- 背景: <相关路径、已有结论、约束、所需上下文>
|
||||
- 文件责任范围: <允许编辑范围或只读>
|
||||
- 步骤建议: <必要时填写>
|
||||
- 禁止事项: <任务适用的边界>
|
||||
- 验收标准:
|
||||
1. <可验证条件和报告所需证据>
|
||||
- 报告路径: <运行目录内 Rnn-T1-report.md 的绝对路径>
|
||||
|
||||
## 向用户提问
|
||||
<ASK_USER 时:缺失信息、选项、倾向与理由>
|
||||
|
||||
## 总结
|
||||
<DONE 时:最终结果、证据、改动清单、遗留问题、自主裁定>
|
||||
|
||||
## 阻塞与恢复条件
|
||||
<BLOCKED 时:未完成内容、实际限制、所需输入或外部变化>
|
||||
```
|
||||
|
||||
CONTINUE 时填任务;其他状态不派新的执行任务。只在目标达成且有证据时使用 DONE。用户已有授权的普通实现选择自行决定;用户要求自主模式时记录裁定,必要输入或权限仍遵守现有边界。
|
||||
@@ -0,0 +1,82 @@
|
||||
# 协作记录模板
|
||||
|
||||
所有模板生成的记录都位于 `./Notes/auto/<run>/`。
|
||||
|
||||
## 00-goal.md
|
||||
|
||||
```markdown
|
||||
# 任务目标
|
||||
- 启动时间: <带时区>
|
||||
- 工程目录: <绝对路径>
|
||||
- 大脑指定模型: gpt-6-astra
|
||||
- worker 默认模型: gpt-6.1-sol
|
||||
- 可用模型与并发限制: <当前工具公布的值>
|
||||
|
||||
## 用户原话
|
||||
<逐字保存>
|
||||
|
||||
## 已知约束
|
||||
<用户已有要求、适用工程规则、预算/轮数限制>
|
||||
```
|
||||
|
||||
## log.md
|
||||
|
||||
```markdown
|
||||
| 轮次 | 时间 | 事件 | 详情 |
|
||||
|---|---|---|---|
|
||||
| R01 | <时间> | brain | CONTINUE,T1(gpt-6.1-sol) |
|
||||
```
|
||||
|
||||
## Rnn-brain.md / Rnn-Tk-task.md
|
||||
|
||||
决策全文原样存入 brain 文件。对应 `### Tk` 任务节原样存入 task 文件,附上本页报告格式和报告绝对路径。模型参数校验错误写入 log 并反馈大脑,不静默改写任务。
|
||||
|
||||
## Rnn-Tk-report.md
|
||||
|
||||
```markdown
|
||||
# Rnn-Tk 报告
|
||||
- 结论: 完成 | 部分完成 | 失败 | 受阻
|
||||
- 模型(请求): <调度员给定值>
|
||||
- 模型(核实): <可信元数据及来源,缺少时写未核实>
|
||||
|
||||
## 做了什么
|
||||
<实际执行的动作>
|
||||
|
||||
## 改动文件
|
||||
<路径与说明,无则写无>
|
||||
|
||||
## 证据
|
||||
<关键命令、输出、测量值、验证结果、证据文件路径>
|
||||
|
||||
## 验收标准逐条
|
||||
1. <条件>:满足/不满足/未验证;证据:<来源>
|
||||
|
||||
## 问题与建议
|
||||
<意外、失败、未覆盖的关键决策、所需输入>
|
||||
```
|
||||
|
||||
## Rnn-user.md
|
||||
|
||||
```markdown
|
||||
# 用户交互
|
||||
## 大脑的问题或用户插话
|
||||
<原文>
|
||||
## 用户回答
|
||||
<原文;尚未收到则明确写等待>
|
||||
```
|
||||
|
||||
## agents.md
|
||||
|
||||
```markdown
|
||||
# Agent 名册
|
||||
| # | ID | 角色/任务 | 模型(请求) | 模型(核实) | 状态 | 启动 | 结束 | 报告 |
|
||||
|---|---|---|---|---|---|---|---|---|---|
|
||||
| 1 | <ID> | 大脑 | gpt-6-astra | 未核实 | 运行中 | <时间> | — | R01-brain.md |
|
||||
| 2 | <ID> | R01-T1 | gpt-6.1-sol | 未核实 | 运行中 | <时间> | — | R01-T1-report.md |
|
||||
```
|
||||
|
||||
状态用:运行中、完成、失败/受阻、已接替。模型核实不得依据 agent 自报。
|
||||
|
||||
## FINAL.md
|
||||
|
||||
保存大脑 DONE 总结原文,附总轮数、worker 数、名册及模型审计来源。审计不可用明确写未核实。BLOCKED 不创建声称完成的 FINAL.md,保留阻塞决策与恢复条件。
|
||||
Reference in New Issue
Block a user