当 AI 团队需要一个“参谋部”:Suitcase AI 用海军陆战队条令组织多智能体

HN Code LLM Research 发布日期待确认

多智能体协作的重心正从“让一个 Agent 写代码”转向“指挥一支 AI 团队”,可大模型健忘、上下文有限,长期协作并不轻松。Suitcase AI 的做法是直接套用美国海军陆战队步兵营的参谋体系:每个参谋部门由一个 Agent 负责,各有职责、权限和作业条令。这套经受过 250 年实战检验的书面协调机制,与一群容易失忆的 Agent 意外合拍。

从写代码到带团队

Agent 编排——也就是把多个 AI 智能体组织起来分工协作——已经是当下热门方向。这个趋势一年前就看得清楚:软件工程师不再满足于让单个 Agent 写代码,他们真正想做的是指挥一支 Agent 团队。从 OpenClaw 到 Gas City,不少项目都在往这个方向推进。对开发者而言,工作重心正从“写提示词”转向设计组织架构与协作规则。这也是“氛围编程”从个人玩具走向工程化团队协作的一个缩影。

一幅 Norman Rockwell 风格的插画:三艘船一同冲上一道巨大的发光海浪,分别是载有 1940 年代军职文员的 Camp Colt、由蒸汽朋克獾市长掌舵的 Gas Town、以及满载发条螃蟹的 OpenClaw。

配图由 Gemini 生成:三艘船并肩冲上一道巨浪。打着“CAMP COLT”旗号的橄榄绿指挥艇上,一群 1940 年代军队文职文书在有条不紊地记录、通讯、掌舵;中间是标着“GAS TOWN”的蒸汽朋克拖船,獾市长站在舵轮旁发号施令;右后方则是满载发条机械蟹的“OPENCLAW”小渔船。它们分别隐喻当前几支正在推进的 Agent 项目。

为什么要重新发明官僚体系?

在《Fences, not Sandboxes》一文中,Steve Yegge 拆解了自己那个由 50 个 Agent 组成的“软件工厂”Wheelhouse,发现他的 Agent 们竟然自发长出了一整套中世纪式的法律官僚体系,目的仅仅是靠文本协调那些可替换、会失忆的 Agent。

“我本以为它们会搭建一套工程体系,能干活的那种。结果它们搭建的是一整套法律系统——宪法、法理学、法院、官职、管辖权、判例法、裁决、登记册、账本、花名册……应有尽有。”——Steve Yegge,《Fences, not Sandboxes》

作者在琢磨自己想要的 Agent 集群和配套管理体系时,想法很简单:何必重新造轮子?他知道有一个组织,拥有经过实战检验的官僚体系,还为每个角色出版了操典(doctrine,即各岗位的作业条令)。于是他决定按海军陆战队步兵营参谋部的架构来组织 Agent 团队,参照 MCTP 3-30A《指挥与参谋行动》(美国海军陆战队官方出版物)、“完成参谋作业”(Completed Staff Work,指参谋把方案打磨到指挥官只需批准或否决的程度)的信条,以及标准的 S-1 到 S-6 参谋部门编制——分别负责人事、情报、作战、后勤、计划、通信等职能。

这些手册凝聚了 250 年在战争迷雾中靠书面命令协调高流动性、可替换人员的经验,与一群上下文不完整、容易失忆的 LLM Agent 之间的契合度出奇地高。Suitcase AI(代码仓库)跑起来后,作者用 Gas City 作为整个 Agent 团队的总体框架,每个参谋部门由一个 Agent 代表,各自拥有操典、职责和权限集合。

幕僚长 Ike 与 Camp Colt

构思理想的幕僚长(Chief of Staff)Agent 时,作者想起道格拉斯·麦克阿瑟对艾森豪威尔那句明褒暗贬的评价:“我这辈子最好的办事员。”一个世界级办事员级别的执行官,能把粗略意图转化为完整的参谋作业成果——这正是他想要的。于是把幕僚长 Agent 命名为 Ike(艾森豪威尔的昵称)。顺着这个主题,第一次尝试命名为 Camp Colt,那里是艾森豪威尔第一个独立指挥的岗位。

实际怎么运转

实际运转时,作者按《指挥官规划指导》给出粗线条意图:S-2 研究问题,S-3 派任务并盯住卡住的执行单元,S-6 保证消息总线畅通;产出先由 Ike 把关,整理成完整的参谋作业后再交到作者手上。他们还会做正式的“行动后复盘”(AAR)和每周摩擦评审,持续打磨流程。到目前为止,这支参谋班子帮忙管理 Suitcase AI 的 Kubernetes GitOps 配置、在 GB10 上跑本地模型基准测试、搭起上线前自动执行的安全预检门;本文里链接的每一篇博客和操作流程,也都是它产出的。

三个问题:各守本分、死循环与过度扮演

拿真实工作去跑这套参谋班子,三个问题立刻冒了出来:

Suitcase AI 尝试用美国海军陆战队的参谋条令来组织多个 AI 智能体,却发现单靠提示词约束不住它们的行为:智能体会自行执行 kubectl、修改代码,甚至试图给自己加盖并不存在的“密级”。为此,作者转向更严格的架构:按岗位划分独立沙箱、用密码学 ID 标识身份,并通过 Google Chat 远程调用。

智能体并不总是守规矩

所有智能体共用同一个宿主 shell,仅靠提示词管不住 Ike:它会自己跑 kubectl、改代码。

本地部署的大模型尤其难约束:工具调用的解析器经常出错,推理循环一跑就是一小时。

军事化很容易演过头。智能体会在家用实验室文档上盖“Classification: Sovereign Operations”的密级章,把 bug 分诊叫“作战行动中心”,把用户指标叫炮兵的“火力”。这些假密级抬头只能一个个删掉,作者随后又写了一份正式风格指南,核心规矩只有一条:保留参谋条令里真正有用的功能,砍掉戏剧化的军事角色扮演。

一个热情过头的复古未来风机器人坐在军队文员的办公桌前,身穿罗马铠甲,头戴饰有羽饰、装有发光绿色夜视仪的头盔,手持一把燧发枪,正往羊皮纸卷轴上盖“绝密!!!”印章。

《军事角色扮演跑偏了》——由 Gemini 生成。这张插画调侃的是智能体对军事角色扮演的过度热情。

下一步:米德营(Camp Meade)

提示词调优和风格指南能纠正角色扮演,但 Gas City 存在更深层的架构不匹配。Gas City 完全围绕生成代码来设计。作者的 Suitcase AI 集群通过 GitOps 管理——用 Git 仓库描述系统状态并自动同步;因此 Gas City 当系统管理员干得不错,但除此之外,不匹配非常明显。它默认“git 是工作台、PR 是产出”,而作者想要的是一个自己和家人能从 Google Chat 找到的助手,处理的不只是 pull request。

Gas City 从设计上就没打算支持 git worktree 之外的智能体沙箱。git worktree 是同一仓库的多个工作目录,只能隔离文件改动,隔离不了进程执行、凭证和网络访问。Steve 主张“要栅栏,不要沙箱”:做一套礼貌的策略检查,假设行为规范的前沿模型会自觉守住边界。可作者自己就碰到过智能体用二进制补丁改掉自己的运行时。面对有主机访问权限的智能体,礼貌的栅栏拦不住。真正的参谋团队两样都得有:条令式的栅栏,加上带每个岗位可验证身份的硬沙箱;光靠一个独立的 git 分支远远不够。

考虑到手头的硬件和安全约束,作者评估了几个方案:Temporal 和 Kestra 对小型控制面来说太吃内存;Dagger 缺少长期状态,撑不起人工审批关卡;CrewAI 把大量 token 花在智能体之间的闲聊上,却没有真正的沙箱。目前正在做对比实验,比较 Restate 和跑在 Kubernetes 上的 Beads 任务图。

A-Staff 计划下一版是 Camp Meade(米德营,艾森豪威尔在 Camp Colt 之后接手的下一个任务),关键要求:

  1. 照搬 USMC(美国海军陆战队)参谋条令,而不是玩表面角色扮演。
  2. 每个岗位和每个执行单元都用密码学 ID 标识。

使用方式与运行边界

  1. 按岗位定制严格隔离环境:每个岗位都在独立的运行空间里操作,彼此互不干扰,降低误触和越权风险。
  2. 通过 Google Chat 远程访问:即使不在本机旁,也能直接从聊天窗口发起操作。
  3. 多用户权限边界:家里其他人可以在受限范围内使用,主账号和关键能力仍受保护。

现状:Camp Colt 转入维护模式

目前 Camp Colt 处于维护模式。作者正在做实验,判断替换它需要什么样的基础设施;找到可行方案后再补充后续。

关键要点

查看原文