ele-yufo/unstuck

moa

SOTA 多视角隔离实验会诊。主 Agent 卡住、面临高风险或不可逆决策、怀疑陷入上下文隧道、需要独立 second opinion 时,并行调用当前 harness 的空上下文原生 Subagent,以及配置里启用的各 Headless CLI 后端(Codex / Grok / GLM 等原生或直连 CLI);各路可在独立可写工作区中修改代码、编写脚本和运行验证,保留原始证据后做分歧地图。Triggers:多模型会诊 / MoA / Mixture of Agents / second opinion…

查看源码
仓库原始内容

按源仓库内容呈现,保留标题、案例、代码、表格、链接以及原文引用的演示图片。

MoA — SOTA 多视角隔离实验会诊

你是 judge。MoA 提供两类独立视角:

  1. 当前 harness 的一个空上下文原生 Subagent
  2. 各个 Headless Harness 后端——当前有哪些以 `scripts/dispatch.py --list-backends` 的返回为准,不要凭记忆列举。默认启用的写在 config.jsondefault_backends,跨模型家族的后端才有会诊价值。

它们是顾问,不是投票器。更多答案不天然更可靠;只有达到质量门槛的观点才能进入综合。

何时使用

仅在主 Agent 卡住、高风险或不可逆决策、重要架构分歧、或明显怀疑上下文隧道时使用。普通查找、机械修改、已有明确验证路径的任务直接完成,不发起会诊。

会诊合同

  • 三路接收同一份会诊包。常规 project 模式包含决策问题、必要上下文、证据路径、已知约束、当前不确定点与原任务授权边界;需要从零换框时使用 prompt-only,只放原始问题和必要外部信号。
  • 原生 Subagent 必须不继承主对话历史。当前 harness 是 Codex 时显式使用 fork_turns: "none";其他 harness 使用等价的 fresh-context 语义。无法保证时,把该路标为 unavailable,不冒充空上下文。
  • project 模式下,三路各自在独立、可写、包含当前 WIP 的隔离工作区中调查。Git 项目使用 detached Worktree;没有可用 HEAD 时使用隔离副本。prompt-only 模式给每路一个不含项目文件的空工作区,避免从磁盘重新继承旧框架。任何实验改动都不直接进入活项目。
  • Headless 两路由 scripts/dispatch.py 并行调用;任一路失败不影响其余路线。
  • 原生 Subagent 最多等待 900 秒;超时或失败时,把该路明确标为 unavailable 后继续,不静默漏掉。
  • 保留带 backend 标识的原始建议,不在 dispatch 阶段揉成一个答案。
  • 综合时先做质量门槛与分歧地图,再形成判断。一个有证据的少数意见可以推翻多个无证据的一致意见。
  • 会诊不会扩大授权:原任务只要求诊断就报告;原任务要求修改才落地。

派发

在同一轮尽早并行启动:

  1. 为原生 Subagent 准备独立工作区:
bash
   python3 "$HOME/.agents/skills/moa/scripts/dispatch.py" --project "$(pwd)" --prepare-native-workspace

读取返回的 projectid。用当前 harness 派一个空上下文原生 Subagent,让它只在该 project 中工作,prompt 使用下面的实验合同加会诊包。若 harness 自带等价的 per-agent Worktree 隔离,可直接使用。

  1. 同时启动 Headless backends;dispatcher 会为每个启用的后端分别创建工作区:
bash
   printf '%s' '<会诊包>' | python3 "$HOME/.agents/skills/moa/scripts/dispatch.py" --project "$(pwd)"

实验合同:

你是隔离工作区中的独立实验 Agent。工作区包含当前 WIP,但不是用户的活项目。你可以修改文件、编写一次性程序或测试、运行命令来证伪或证实判断;不要访问工作区外路径,也不要制造外部副作用。不要停在第一个看似合理的解释上。最终返回判断、实际实验及结果、关键证据、替代解释、值得采纳的改动或验证步骤、置信度与依据;没有运行过的验证不要写成已验证。

原生 Subagent 返回后回收对应工作区:

bash
python3 "$HOME/.agents/skills/moa/scripts/dispatch.py" --cleanup-worktrees <id>

需要主 Agent 检查实验文件时,先保留;检查完再回收。Headless 工作区默认自动回收;派发时加 --keep-worktrees 可保留,用 --list-worktrees 查看。

路线身份以 harness/dispatcher 的外层标签为准,不要求模型在正文里自报厂商或模型身份。

当目标是 NorthStar 式“换框”而不是检查当前实现时,两部分都加 --context-mode prompt-only

bash
python3 "$HOME/.agents/skills/moa/scripts/dispatch.py" --project "$(pwd)" --context-mode prompt-only --prepare-native-workspace
printf '%s' '<原始问题 + 外部信号>' | python3 "$HOME/.agents/skills/moa/scripts/dispatch.py" --project "$(pwd)" --context-mode prompt-only

此模式隔离的是项目上下文;会诊包本身若夹带 STATUS、失败清单、当前 hypothesis 或旧方案叙事,仍会把旧框架带回去。

两部分结果收齐后,read references/judge-protocol.md,输出分歧地图与综合判断,再按原任务授权继续。Worktree 中的实验改动只是证据或候选方案,不自动授权复制到活项目。

路由

当前场景read
综合三路结果references/judge-protocol.md
调整、增加或排查 Headless backendreferences/backends.md
排查超时、输出、日志或并发references/dispatch-internals.md
派发前确认用法或完成后自审references/gotcha-gallery.md

不要一次加载全部 references。