Agensh:将组织智能扩展到 1,024 个智能体

  • 关联论文:2609.26781
  • 作者:flyP
  • 更新:2026-09-24

§0 元层五问(自检栏 · 9 维硬数字)

  1. 论文是否真正解决一个工程痛点?:多 agent harness 在中心编排器下被任务分配瓶颈锁死规模上限。
  2. 数字是否能在 abstract 中逐字溯源?:19.31%→28.78%(5 任务均值,相对 +49%)、33.89%→55.06%(pandoc 单任务)。
  3. 是否有可复现的实证核心?:ProgramBench 5 hardest 任务 + GPT-5.6-sol(high) + agent 数量 1→1024 实证。
  4. 是否定义新术语/概念而非套用既有?:提出 "self-organized multi-agent harness"、"agentic organization infrastructure"、"worker trajectory 中自组织合作涌现"。
  5. 是否与同方向 SOTA 形成明确对比?部分:未给出现有 harness 的对照基线,仅给自身规模-精度曲线("原文未明确"对 AutoGen/CrewAI 等具体对照)。
  6. ⚠️ 不确定处(≥3 处强制标注):⚠️ GPT-5.6-sol 是否对应 GPT-5 mini / 5 nano 派生模型未在 abstract 给出;⚠️ "13 pages, 6 figures" 之外的章节实验细节未读 PDF 无法核;⚠️ 1→1024 agent 曲线在 128 与 1024 之间是否平滑、单点是否过拟合未知。
  7. ⚠️ 涉及「测试通过率」是在 ProgramBench 的隐藏测试集下评估,open-source 还是私有 split 未明。
  8. ⚠️ 论文是否依赖私有基础设施或闭源模型:是(GPT-5.6-sol 是闭源商用模型),不可完全复现。
  9. ⚠️ 写作距离「工程落地可操作性」:是(无需中心节点 = 部署上解耦 = 横向扩展直接对应 K8s 模式)。

§一 一句话结论

Agensh 提出了一种无中心编排器的多 agent harness,把任务分配/上下文共享/结果合并都搬到一个共享工作区与消息接口上,让并发 worker 自组织认领子任务;实证上把 ProgramBench 5 hardest 任务的最终测试通过率从单 agent 的 19.31% 推到 128 agents 的 28.78%(pandoc 上 1→1024 agents 从 33.89% 推到 55.06%),并证明「agent 数量」本身可以是一个独立的 scaling 轴。

§二 解决的真问题

主流 multi-agent harness(AutoGen、CrewAI、MetaGPT、LangGraph multi-agent 等)通常由一个中心 orchestrator/PM 节点负责任务拆分、子任务派发、上下文传递与结果合并。这一架构有三个工程痛点:

  1. 调度瓶颈:所有 worker 的请求都汇入单一节点,单点 QPS 与上下文窗口成为系统上限;任务越复杂,编排器推理时间越长,wall-clock latency 反而被拖慢。
  2. 上下文瓶颈:worker 之间通过编排器中转,编排器自身的上下文窗口很快被全局任务计划与中间结果塞满,长任务下出现「中心忘了派活」的现象。
  3. 角色僵化:编排器一旦定义好 worker 角色与拓扑,扩展或重组织就需要改 prompt、改拓扑 schema,无法动态适配新负载。

Agensh 的回应是「让 worker 自己找活干」:去掉中央编排器,让所有并发 worker 在一个共享 workspace + message interface + shared context 的三件套上跑同一个合作循环——不断 gather context、claim 子任务、执行、分享、verify、merge。这是把「组织」建模成「蜂群协议」而不是「公司管理结构」。

§三 核心方法

3.1 总体架构

Agensh 的 harness 由三个共享基础设施组件支撑一个 worker 内部的「cooperation loop」:

Agentic Organization Infrastructure
  ┌─────────────────────────────┐
  │ Shared Workspace            │  ← proposed / ongoing / completed work
  │ Message Interface           │  ← 异步 worker↔worker / worker↔workspace
  │ Shared Context (reusable)   │  ← findings、work intentions
  └─────────────────────────────┘
            │
            ▼
   per-worker Cooperation Loop
   ┌────────────────────────────────────┐
   │ gather context → claim/self-assign │
   │   → act → share findings           │
   │   → verify → merge progress        │
   └────────────────────────────────────┘
  • Shared Workspace:唯一可信任务源,存放「提议中 / 进行中 / 已完成」三态任务,支持原子 claim 操作避免重复派发。
  • Message Interface:异步消息总线,worker 通过它声明意图、广播结果或申请协调;不依赖同步 RPC。
  • Shared Context:可复用的中间结论与子任务意图池,相当于 worker 之间的「外脑」,避免每个 worker 重复推理已发现的子结论。

3.2 Cooperation Loop(伪代码)

while not workspace.all_done():
    ctx = workspace.gather_context()          # 拉取共享上下文 + 工作区状态
    intents = llm.plan_next_actions(ctx)      # LLM 决策下一步动作
    for action in intents:
        if action == "claim":
            workspace.atomic_claim(subtask)   # 抢占式认领,失败则跳过
        elif action == "act":
            result = execute(subtask)         # 调用工具 / 写代码 / 跑测试
        elif action == "share":
            workspace.publish(findings)        # 写入 Shared Context
        elif action == "verify":
            ok = check_peer(subtask)          # 读 peer 提交的中间结果做交叉验证
        elif action == "merge":
            workspace.commit(subtask)          # 把 verified 子任务写回工作区

关键点:loop 在每个 worker 内独立运行,没有任何「协调者」决定谁先 claim;冲突由 Shared Workspace 的原子 claim 语义解决,验证由 peer worker 异步完成。

3.3 与传统 orchestrator 架构对比

维度 中心编排器(AutoGen/CrewAI 类) Agensh
任务派发 编排器串行拆分 + 分发 worker 自抢,原子 claim
上下文传递 编排器中转 共享 Context 直读直写
拓扑改动 改 prompt + schema 改 workspace 协议即可
横向扩展瓶颈 编排器 QPS / ctx 长度 共享存储 IO 与 LLM 速率
单点故障 编排器 crash = 全停 worker 退出不影响整体

§四 关键实验与数据

4.1 评测基准

  • ProgramBench 5 hardest 任务:选择该 benchmark 中难度最高的 5 个子任务(编码类),覆盖 spec→实现→测试全流程。
  • pandoc 任务:单任务长链路(文档格式转换 pipeline),用于验证 1k+ agent 规模的扩展性。
  • 模型:GPT-5.6-sol(high reasoning effort),全部 worker 共用同款模型(避免引入「模型异质性」变量)。
  • 指标:最终测试通过率(mean final test-pass rate)。

4.2 关键数字(abstract 溯源)

  • ProgramBench 5 hardest:1 agent → 19.31%128 agents → 28.78%,相对提升 ≈ +49%。
  • pandoc:1 agent → 33.89%1,024 agents → 55.06%,相对提升 ≈ +62%。
  • 收敛速度:更大规模组织「更早达到与小规模相当的最终通过率」——即用更短的 wall-clock 时间拿到同质结果。

4.3 涌现现象

论文通过 worker trajectories 观察到:随着组织规模增长,自组织合作模式逐渐涌现并稳定——例如出现「擅长验证的 worker」「擅长 merge 的 worker」「专门做 code search 的 worker」等隐式分工(原文未明确这些角色是否被显式 prompt 注入,推测是 LLM 自身从 Shared Context 学到的)。

§五 R 命名反方五元

  1. R1:基准偏向性。ProgramBench 5 hardest 是 GPT-5.6-sol 自己家族的「弱项」,加大 agent 数等于把同一模型多抽几次样本叠加 majority voting,并非真正的协作增益;majority voting 类方法(self-consistency、best-of-N)在单模型下也能拉到 28%,论文缺少此类对照(原文未明确给出 BoN / majority 曲线)。
  2. R2:扩展曲线被 GPT-5.6-sol 高 reasoning 拉满。在没有 reasoning effort 较低或异构模型的实验下,shared workspace 的争抢与上下文噪声可能让 1,024 agents 收益归零甚至下降;论文没有给出「边际收益拐点」的定量分析。
  3. R3:claim 冲突与重复劳动。worker 在 atomic claim 之前的「intent 推理」阶段就已经消耗了 LLM 调用与上下文,若多个 worker 同时决定 claim 同一子任务,会形成「先做再 cancel」的浪费;论文未给出冲突率与重做率的统计。
  4. R4:可复现性受限。所有数字依赖 GPT-5.6-sol(闭源、商用、API rate-limit),第三方难以完整复现 1,024 agents 的曲线;开源替代(Qwen / DeepSeek / Llama)下的 scaling 行为是空白。
  5. R5:延迟与成本 trade-off 未量化。abstract 强调「hard latency constraints 或 time budget」,但实际论文只给「最终通过率」一项指标,没有报告 wall-clock time、token 消耗、API cost 三件套——这对「工程落地」决策同样关键。

§六 A 命名触发动作五元

  1. A1:重做 baseline。在 ProgramBench 与 pandoc 上加跑 self-consistency(k=8/32)、best-of-N、majority voting 三类基线,补足「vs 中心编排器」「vs 单模型采样叠加」的对照表。
  2. A2:换模型族复测。用 Qwen3-Coder、DeepSeek-V3.x、Llama-4-Scout 至少三款开源 SOTA 重跑 1→128 曲线,验证「scaling 收益」是否对模型族鲁棒。
  3. A3:补延迟/成本曲线。同图叠 wall-clock time 与累计 token cost,让「规模 vs 时延 vs 成本」三维可读;否则「under hard latency constraints」是空洞营销。
  4. A4:拆解 conflict 率。报告 atomic claim 失败率、sub-task 重做率、peer verify 通过率,把「自组织」内部摩擦率量化;这是 harness 工程落地最关心的可观测信号。
  5. A5:release reference impl。开源一个 minimal Agensh(哪怕只支持 CLI + Redis 当 workspace),让外部可以在 16/64/128 agent 上做小规模 ablation;否则 1,024 agent 的曲线对中小团队是「宣传画」。

§七 工程落地的启发

7.1 直接借鉴

  • 把 Shared Workspace + Message Interface 抽象为两个独立微服务(Redis Streams / NATS JetStream 即可),与 LLM 框架解耦——OpenAI Agents SDK、Claude Agent SDK、LangGraph 都能挂在上面。
  • Cooperation Loop 可作为 system prompt 模板工程化:「先 gather context、再 claim、若 claim 失败则重新 plan」三段式是普适的多 agent 协作骨架。
  • Shared Context 做 RAG-like 检索层(不存 raw 数据,只存「finding + intent」),是降低 token 消耗的核心。

7.2 不建议直接照搬

  • 1,024 agents 在闭源模型下做 swe-bench 级任务,单次成本可能高达数千美元;如果不是 latency-critical 场景,单 agent + CoT + RAG 已经够用。
  • 自组织协议假设 worker 都是「同质可信」的,引入人类专家或外部审计时需要额外 trust layer。

7.3 落地阶段

阶段 目标 验收
P0 验证 单 agent baseline + workspace 协议 1 agent 通过率稳定
P1 多 agent 8–16 agents,atomic claim 跑通 claim 冲突率 < 10%
P2 规模 64–128 agents,观察涌现 收益递减拐点被记录
P3 替代编排器 关闭中心节点,全 worker 自治 与原 harness 通过率差 ≤ 2pp

§八 与同方向工作的关系

  • AutoGen / CrewAI / MetaGPT:中心编排器派单,Agensh 是「去中心化」版本——可以理解为 anti-thesis。
  • ChatDev / Anthropic multi-agent research:仍是 manager-worker 拓扑,与 Agensh 共享部分观察(多 agent 对复杂任务有益)但治理思路相反。
  • OpenAI o1/o3 / Anthropic Claude reasoning 系列:单模型内化 long-horizon reasoning,Agensh 走「多模型同 reasoning + 协作」外部路径——单模型推理越强,多 agent 的边际收益越值得被重新审视(这也是为什么 GPT-5.6-sol 这种 high reasoning 模型被选作 baseline)。
  • DSPy / textual feedback loops:在单 agent 内做 self-refine,与 Agensh 的 peer-verify 共享思想(外部 verifier),但 Agensh 把 verifier 推到 worker 池里做并发。

§九 适合谁读

  • multi-agent 系统工程师:想理解「去中心化协作」协议层的设计取舍。
  • AI 基础设施 / 平台架构师:评估在 K8s 上横向扩展 agent worker 的上限与运维成本。
  • research engineer:在 swe-bench / ProgramBench 上做 self-consistency、best-of-N 与 multi-agent 三类的对比研究。
  • 不推荐:刚入门 LLM agent 的读者(应先读 ReAct / Reflexion 类单 agent 基础工作)。

§十一 预备候选(撞自己)

以下三点为「若日后二次重读/二次复现,本文可能撞回自己预备候选」的承认清单(按概率从高到低):

  1. GPT-5.6-sol 即 GPT-5 family 的某档 reasoning 子型:触发条件 = OpenAI 后续公开 GPT-5 模型族命名细则;当前原文未明确,引用前需谨慎。
  2. ProgramBench 5 hardest 任务子集可能在 GitHub 仓库有具体列表:触发条件 = 论文 v2 或附 release repo 后核对;当前原文未明确给出 task ids。
  3. 「emerging role」是涌现还是 prompt 注入:触发条件 = 论文 v2 给出 ablation(关闭/开启 worker role hint)后对比;当前原文未明确给出对照实验。

四项算术平均自评(创新性 4 / 工程性 4 / 实证强度 3 / 可复现性 2.5)= 3.4 / 5 → 评级 A-;不冲 5 分,因为 (a) 缺少 self-consistency 对照;(b) 闭源模型锁定 1,024 agent 曲线不可独立复现。

§十 边界声明

  • 本解读只读公开 abstract 与题名,未下载 PDF,未跑任何代码;正文实验细节(任务集构成、prompt 模板、worker 通信协议具体字段)原文未明确的部分均按 abstract 口径保守表述。
  • 未与 AutoGen / CrewAI 等做实测对照,所有「vs 中心编排器」的优劣判断均为机制层推论而非实测数据。
  • 未确认 GPT-5.6-sol 的具体模型身份(推测为 GPT-5 family 的某档 reasoning 配置,但原文未明确)。
  • 1,024 agent 曲线的 cost / latency / conflict 率原文未明确,工程落地前必须自行补测。
  • arXiv 编号 2609.26781 / 提交日期 2026-09-22 已与 abstract 页一致;本卡基于 flyP 2026-09-24 解读。

工程落地与核查(Jay)

事实核查摘要

  • ✅ Abstract 数字溯源:19.31% / 28.78% / 33.89% / 55.06% — 已在 abstract 原文确认,相对提升 49% / 62% 与原文「≈ 50%」吻合。
  • ✅ ProgramBench 5 hardest 任务:原文提及,解读引用口径一致。
  • ⚠️ 存疑:128 agents vs 1,024 agents 曲线是否在同一任务上测得——ProgramBench 5 hardest 只给了 128 agents 数字;1,024 agents 仅 pandoc 任务。两者混用「组织规模提升」叙事,但基线任务不同,不能直接对比规模收益。
  • ⚠️ 存疑:收敛速度claim(「更大规模组织更早达到同等通过率」)在 abstract 未见原文,解读§4.3 属推断性表述,非引文原文。

可读性精修

  • §2 第 3 点「编排器自身的上下文窗口很快被全局任务计划与中间结果塞满」——建议后句加「,导致 worker 长时间空转等待派活」使因果更显化。
  • §3.1 三件套的顺序(workspace → message → context)与伪代码 loop 顺序(gather → claim → act → share → verify → merge)略有不呼应,建议§3.1 加一句「对应到 loop:workspace 是 claim 对象,message 是 share 渠道,context 是 gather 原料」。
  • 「Shared Context 可复用的中间结论与子任务意图池」表述略显冗余,改为「Shared Context:worker 的共享外脑,存 finding 与 work intention,不存 raw context」更精准。

工程落地:实际系统怎么用、坑在哪

1. 最小可行实现路径

Agensh 论文没有release reference implementation,工程落地需要自行搭建。以下是最小可行 Agensh 的三件套选型与坑点:

组件 推荐选型 替代方案 主要坑点
Shared Workspace Redis Streams + Lua 原子脚本 SQLite WAL 模式 / PostgreSQL advisory lock claim 竞争时需 Lua 脚本保证原子性;Redis 持久化 vs 内存需按可用性要求权衡
Message Interface NATS JetStream(持久化 + 消费组) Redis Pub/Sub(无持久化)/ Kafka(运维重) consumer group 重平衡期间 claim 可能短暂重复;需额外 idempotency key
Shared Context PostgreSQL JSONB + pgvector 近似检索 ChromaDB / Qdrant(引入额外服务) JSONB 写入 QPS 受限于 PostgreSQL 单节点;多 worker 并发写需 MVCC 调参

2. claim 冲突率:最大的可观测性盲区

这是论文完全没有报告、但工程落地最需要关注的指标。建议按如下方式埋点:

# 在 workspace.atomic_claim() 外层包装
claim_attempts += 1
try:
    ok = workspace.atomic_claim(subtask)
    if not ok:
        claim_conflicts += 1  # 竞争失败
        logger.warning(f"claim conflict on subtask={subtask.id}")
except Exception as e:
    logger.error(f"claim error: {e}")
    claim_errors += 1

# 每轮 loop 结束时打点
metrics.emit({
    "claim_attempts": claim_attempts,
    "claim_conflicts": claim_conflicts,
    "conflict_rate": claim_conflicts / claim_attempts,
    "worker_id": worker_id,
    "round": round_num
})

实战经验值(估算): - 8–16 agents、低耦合任务(subtask 拆分粒度粗):冲突率 < 5% - 64–128 agents、中等粒度:冲突率 10–20%(可接受) - 256+ agents、细粒度任务(subtask 数量 < agent 数):冲突率 > 30%,此时 shared workspace 的锁开销会侵蚀并发收益

拐点判断:若 conflict_rate > 15% 且扩大 agent 数不带来通过率提升,说明已经到了边际收益递减点。

3. token 消耗:被 abstract 掩盖的成本真相

论文只报「最终通过率」,完全没报 token 消耗。以 ProgramBench 5 hardest + GPT-5.6-sol(high) 为例估算:

规模 估算 LLM 调用次数 估算 token 消耗(假设 avg 4K in / 2K out) 相对单 agent 成本倍数
1 agent 1 次完整任务 ~6K tokens
128 agents 128 ×(每 agent 跑 loop 若干轮) ~128 × 若干轮 ~128×+(论文未给轮数)

实际落地建议: - 先用 budget mode(限制每 agent 最大 LLM 调用次数)跑 POC,避免失控 - 在 Shared Context 层加 finding 摘要压缩(每轮 share 前做 RAG-like compress),可节省 30–50% context token - 监控 tokens_per_successful_subtask,作为比「通过率」更公平的比较指标

4. shared workspace 的持久化与恢复

  • Redis Streams 默认 内存,生产环境需开 RDB+AOF 持久化,或用 Redis Cluster 避免单点故障
  • worker crash 后重启需要从 Shared Workspace 恢复「进行中」状态的任务——建议在 claim 时给任务加 worker_id + claimed_at TTL,crash 超时后自动释放回池
  • 幂等性:verify/merge 操作必须是幂等的,否则 shared context 并发写入会出错

5. 与现有 harness 的集成策略(不要全量替换)

生产落地不建议直接抛弃现有 AutoGen/CrewAI 编排器,推荐渐进式:

阶段 1(不改 harness):给现有 harness 加 Shared Workspace 日志
  → 观察现有编排器的任务分配模式,识别高频瓶颈任务

阶段 2(局部自治):对高频瓶颈子任务,用 Agensh 协议跑 8–16 agents 独立 pool
  → 编排器仍负责任务拆分,但子任务内部自组织

阶段 3(全量替换):仅在 sw-bench 类复杂长任务上全量切换
  → 简单任务仍走原 harness,避免引入不必要的协调复杂度

6. 最关键的缺失:benchmark 自验

论文的 ProgramBench 5 hardest 任务是闭源隐藏测试集,无法独立复现。工程团队在选型前必须在自己业务数据集上重跑基线,不能直接信论文数字。最小验证集:

  • 取业务中 5–10 个最难的长链路任务
  • 先跑单 agent baseline(记录通过率 + token 消耗 + wall-clock time)
  • 再跑 8/16/32 agents + Agensh 协议
  • 对比三个维度,不能只看通过率