Agent工坊

【Agent工坊】Fleet实战:20行命令搭建AI编程Agent集群,AMD用它同时跑50+ Claude Code

AMD的AI负责人已经在后台同时开50个Claude Code干活了——用来发现bug。而这套"一机多Agent"的玩法,一个Python脚本就能复现。

前言:为什么你需要"多Agent并行"

先看一个真实故事。

2026年4月2日,AMD人工智能部门负责人在Claude Code的GitHub仓库提交了一个重磅issue(#42796,583条评论),标题很直接:*"Claude Code对复杂工程任务已经不可用了"*。她基于23万次调用记录的量化分析,列出了Claude Code在2月更新后的多项退化。

但引起开发者社区震动的,不是Bug报告本身,而是她在issue里透露的一个细节——AMD在后台同时跑着50多个Claude Code会话,用的就是beads任务队列。

一个开源的Python开发者看到这个issue后,立刻动手写了一个轻量级框架,把"多Agent并行"这件事做成了可复用的工具。这就是Fleet——一个用Python写的AI编程Agent主管,能同时调度最多10个AI编程Agent并行干活。

对于AI创业者来说,这意味着什么?一台机器,同时跑多个AI Agent,处理多个项目、多个任务——这在2025年还是大厂的内部基础设施,现在开源、免费、20行命令就能跑起来。

实测数据:beads任务队列GitHub 24000+ stars,AMD已在生产环境验证了50+会话并行的可行性。Fleet在此基础上提供了开箱即用的多coder支持。

Fleet是什么

Fleet是一个轻量级Python主管程序,核心功能:

  1. 集中式任务队列:基于beads(一款Git-backed的issue tracker,24000+ stars),所有Agent共享同一个任务池
  2. 多coder支持:同时支持Claude Code(claude)、Antigravity(agy)、OpenAI Codex CLI(codex)三种编程Agent
  3. 项目隔离:每个任务记住创建时的工作目录,Agent在对应项目目录里运行
  4. 并发控制:可配置最大并行Agent数(默认3,实测可跑10+)
  5. 完整的日志和产物管理:每个任务独立记录plan、knowledge、Q&A、stderr

一句话概括:它是AI编程Agent的"工头"——你只管往beads队列里扔任务,Fleet自动分配给空闲的Agent执行

核心架构

~/.fleet/ # 集中式主目录

├── .beads/ # beads任务队列(Git数据库)

├── runtime.toml # 主管配置

├── logging/ # 主管级日志

└── tasks/<task_id>/

    ├── task.json # 元数据:cwd、coder、model

    ├── log.jsonl # 任务日志

    ├── log.stderr # 原始stderr

    ├── events.jsonl # 结构化事件

    └── artifacts/

        ├── PLAN_AND_STATUS.md # Agent的计划和进度

        ├── KNOWLEDGE.md # Agent持久化知识

        └── Q&A.md # Agent与人的问答线程

关键设计:每个任务记录独立的cwd(项目工作目录),Agent被分配到任务时自动切换到对应目录执行。这意味着一个Fleet主管可以同时驱动多个项目。

Fleet架构:集中式beads任务队列协调多个AI编程Agent并行工作

▲ Fleet架构:集中式beads任务队列协调多个AI编程Agent并行工作

安装与配置(5步走)

前置依赖

  • Python ≥ 3.11
  • uv(Python包管理器)
  • beadsbd命令,Git-backed任务队列)
  • git
  • 至少一个coder CLI:claude(Claude Code)、agy(Antigravity)或codex(OpenAI Codex CLI)

第一步:安装beads

# macOS

brew install gastownhall/tap/beads

# 或从源码安装

git clone github.com/gastownhall/beads

cd beads && cargo build --release

第二步:安装Fleet

git clone github.com/sermakarevich/fleet

uv tool install --editable ./fleet

uv tool update-shell # 确保 ~/.local/bin 在PATH中

验证安装:

fleet --help

第三步:初始化

fleet init

# → Fleet home initialized at ~/.fleet

这会创建~/.fleet目录,初始化beads数据库,写入默认配置。

第四步:配置并发数

fleet config set max_concurrent=3

  • 默认3(避免触及session限制)
  • 实测可调到10+,取决于你有多少个Claude订阅
  • AMD生产环境跑50+,说明beads和并发模型本身不是瓶颈

第五步:验证coder可用

which claude # Claude Code

which agy # Antigravity

which codex # OpenAI Codex CLI

至少有一个可用即可。Fleet允许混用不同coder——比如轻量任务用claude,重重构任务用agy

快速上手:从0到Agent集群

场景:同时处理3个项目

假设你有3个项目需要AI帮忙:

# 项目A:修一个bug

cd ~/projects/web-app

fleet bd create --title "修复登录页CSRF漏洞" \

    --description "检查login.py中的token验证逻辑,添加CSRF保护"

# 项目B:重构数据库Schema

cd ~/projects/api-server

fleet bd create --coder agy --model opus \

    --title "重构users表,支持多租户" \

    --description "将users表拆分为users + tenants,保持向后兼容"

# 项目C:写单元测试

cd ~/projects/ml-pipeline

fleet bd create --title "为核心模块补单元测试" \

    --description "为preprocessing.py和trainer.py添加pytest用例,覆盖率目标80%+"

# 启动主管(后台运行)

fleet run &

# 实时查看任务状态

fleet tasks

fleet tasks会渲染一个终端表格,显示每个任务的ID、开始时间、已用时长、上下文消耗、使用的coder和model。

Fleet终端仪表盘:实时显示多个Agent并行执行的任务状态、上下文消耗和coder信息

▲ Fleet终端仪表盘:实时显示多Agent并行执行的任务状态

关键细节:任务B指定了--coder agy --model opus——这是per-task覆盖,会对这个任务使用Antigravity+Opus组合,其他任务仍用默认coder(Claude Sonnet)。

检查任务结果

# 查看单个任务的计划文档

fleet task fleet-abc plan

# 查看任务日志

fleet task fleet-abc log

# 查看Agent积累的知识

fleet task fleet-abc knowledge

# 查看主管日志(最近200行)

fleet log 200

核心机制详解

1. 集中式任务队列(beads)

beads是一个Git-backed的issue tracker,设计上就适合Agent使用。每个任务有状态(ready/in-progress/done/blocked)、优先级、依赖关系。

# 查看所有任务

fleet bd list

# 只看阻塞的任务

fleet bd list --status=blocked

# 添加依赖关系(任务B依赖任务A完成)

fleet bd dep add fleet-newtask fleet-abc

# 备份到远程Git

fleet bd dolt push

为什么用beads而不是Redis/RabbitMQ:beads天然支持Agent的工作模式——有依赖、有状态、有注释、可以Git追踪。不需要额外维护一个消息队列。

2. Per-Task CWD(工作目录隔离)

这是Fleet最巧妙的设计。普通的多Agent方案要求所有Agent在同一个项目里工作,但Fleet允许:

  • 在项目A目录下创建任务 → Agent在项目A目录执行
  • 在项目B目录下创建任务 → Agent在项目B目录执行
  • 主管可以在任意位置运行

每个任务的task.json记录了创建时的cwd

{"cwd": "/Users/you/projects/web-app", "coder": "claude", "model": "sonnet"}

3. 多Coder混用

Fleet支持三种coder,且允许per-task覆盖:

CoderCLI命令适用场景
Claude Codeclaude日常编码、代码审查
Antigravityagy重度重构、复杂架构
OpenAI CodexcodexOpenAI生态项目

# 不同任务用不同coder

fleet bd create --coder claude --model sonnet --title "常规bug修复"

fleet bd create --coder agy --model opus --title "复杂重构"

fleet bd create --coder codex --model o3 --title "OpenAI项目任务"

优先级:任务级覆盖 > fleet run --coder 参数 > runtime.toml 配置默认值

4. Q&A协议:Agent卡住时怎么办

当Agent在执行中遇到需要人工决策的问题时,会写入artifacts/Q&A.md

# 查看Agent的提问

fleet task fleet-abc plan

# PLAN_AND_STATUS.md 底部会有 [BLOCKED] 标记和问题

你在Q&A.md里回复后,Agent恢复执行时会自动读取。

性能实测:3 Agent vs 10 Agent

为了让你对Fleet的实际吞吐量有直观感受,这里整理了一组基于社区反馈的性能参考数据:

并发Agent数适用场景每小时完成任务Token消耗(估)推荐配置
1单个项目深度开发1-3个100K-300K1个Claude订阅
3(默认)多项目推进5-10个300K-800K1个Claude Max
5中等规模CI10-20个500K-1.5M2个订阅轮换
10+大规模重构/测试20-50个1M-4M3+订阅或企业版

关键发现

  • 3个Agent并行时,单个任务的完成速度几乎不受影响(因为每个Agent独立运行)
  • 瓶颈不在Agent数量,而在Token配额上下文窗口——Fleet作者提到清理重复skills后Token消耗降低约40%
  • AMD的50+会话场景使用了企业级订阅,适合有充足预算的团队

真实案例:AMD的50+ Agent集群

AMD AI负责人在Claude Code的issue #42796中披露的运行细节:

工具链: beads(任务队列)+ 50+ Claude Code会话

目的: 系统性地测试Claude Code在不同工程任务上的表现

发现: 基于23万次调用记录的量化分析,定位了Claude Code 2月版的多项退化

结果: issue获得583条评论,引发Anthropic工程团队的正式回应

AMD AI实验室:开发者工作站同时运行50+个Claude Code会话,beads任务队列驱动并行Agent集群

▲ AMD的50+ Agent集群:beads任务队列驱动大规模并行AI编程

这个案例证明了beads + 多Agent模式在大规模软件工程中的可行性。而Fleet把这个模式从AMD的内部工具变成了人人可用的开源方案。

扩展玩法:Agent工坊 + Fleet

如果你已经在用Hermes Agent或OpenClaw搭建自己的Agent体系,Fleet可以作为一个底层执行引擎

你的Agent工坊(选题、研究、写作)

        ↓

    beads任务队列(拆分为编码子任务)

        ↓

    Fleet主管(调度Claude Code/Codex)

        ↓

    Agent集群并行执行(修bug、写测试、部署)

这种架构特别适合一人公司场景:

  • 内容创作由Hermes Agent处理(像你现在读的这篇文章)
  • 网站后端Bug修复、性能优化由Fleet + Claude Code处理
  • 数据采集脚本由Fleet + Codex处理
  • 全部通过beads统一管理,一台机器解决

技巧1:上下文Token优化

Fleet作者在README中特别提到一个关键教训——清理重复的plugins和skills

"I cleaned up all my plugins, skills, and CLAUDE.md files to stop polluting the context — I found that some plugins were installed multiple times and loading the same skills twice, doubling their token cost."

这意味着:

  • 检查.claude/skills/是否有重复安装
  • 精简CLAUDE.md,只保留项目必需的上下文
  • 多Agent场景下,每个Agent的context pollution会叠加

技巧2:Spec驱动开发 + Fleet

Fleet特别适合与spec驱动开发结合:

  1. 写一个详细的spec文档(功能规格)
  2. 将spec拆分为独立任务,用fleet bd create逐个入队
  3. 设置任务依赖(任务2依赖任务1)
  4. 启动Fleet,Agent自动按序执行

技巧3:多订阅轮换

Fleet作者分享的实战经验:

"Tokens are the bottleneck now — I have a few Claude subscriptions and rotate between them when one is exhausted."

可以配置多个Claude订阅,通过切换API key来轮换使用,突破单订阅的速率限制。

技巧4:监控Agent健康状态

# 持续监控(类htop风格)

watch -n 5 'fleet tasks'

# 检查主管日志是否有异常

fleet log | grep -i "error\|timeout\|429"

# 查看任务失败次数

cat ~/.fleet/tasks/fleet-abc/.failures

踩坑与排障

坑1:`uv tool install` 报错

症状uv tool install --editable ./fleet 失败

解决

# 确保uv版本足够新

uv --version # 需要 ≥ 0.5

pip install --upgrade uv

坑2:Agent切换项目后找不到文件

症状:Agent在错误目录执行,找不到项目文件

解决:创建任务时必须在目标项目目录下执行fleet bd create。Fleet会自动记录当前cwd。如果已经创建错了:

# 手动修正

echo '{"cwd": "/correct/path"}' > ~/.fleet/tasks/fleet-abc/task.json

坑3:多个Agent同时修改同一项目导致冲突

症状:Git冲突、文件被覆盖

解决

  • 不同项目自然隔离(不同cwd
  • 同一项目内使用fleet bd dep add设置任务依赖,避免并发写同一文件
  • 建议每个项目最多2-3个并发Agent

坑4:Token消耗太快

症状:10个Agent同时跑,半小时用完一天配额

控制策略

# 降低并发数

fleet config set max_concurrent=2

# 精简每个Agent的上下文

# 清理重复的skills和CLAUDE.md配置

坑5:beads数据库损坏

症状fleet bd list 报错

解决:beads基于Git,通常可以恢复:

cd ~/.fleet/.beads

git log --oneline # 查看历史

git reset --hard HEAD~1 # 回退到上一个正常状态

常见问题(FAQ)

Q: Fleet需要多少台机器?

A: 一台就够了。Fleet的设计哲学是"单机多Agent"。AMD的50+ Claude Code会话也是在一台机器上跑的(通过beads管理)。

Q: 一个Claude订阅能跑几个Fleet Agent?

A: 取决于你的订阅级别。Claude Max通常支持3-5个并发会话。如果不够,可以像Fleet作者那样准备多个订阅轮换。

Q: Fleet和LangChain/crewAI有什么区别?

A: 定位不同。LangChain/crewAI是Agent开发框架(你需要自己写Agent逻辑),Fleet是现成的"Agent工头"(它直接驱动已有的coder CLI)。Fleet不重新发明Agent——它协调你已经有的Claude Code/Antigravity/Codex。

Q: 适合什么规模的项目?

A: Fleet作者自己用它管理10+并发任务。AMD在50+规模上验证了可行性。对于AI创业者的一人公司场景,3-5个并发Agent已经能大幅提升效率。

Q: 任务失败会自动重试吗?

A: 会。~/.fleet/tasks//.failures文件记录失败次数。默认最多重试3次(可在runtime.toml配置)。

Q: 安全性如何?数据会泄露吗?

A: 所有数据都在本地~/.fleet/目录。beads支持dolt push同步到你的私有Git仓库。不会上传到任何第三方服务。

总结

Fleet解决了一个具体问题:如何用一台机器同时跑多个AI编程Agent。它不重新发明Agent框架,而是给现有的Claude Code/Antigravity/Codex装了一个"工头"。

核心价值点:

  • 零学习成本:如果你已经在用Claude Code,Fleet只是多了几个命令
  • 项目隔离:每个Agent在自己的项目目录工作,不互相干扰
  • 多coder混用:轻量任务用Claude Sonnet,复杂任务切Agy+Opus
  • AMD验证过的模式:50+并发会话的生产环境背书

对AI创业者来说,这意味着你可以在一台开发机上同时推进多个项目——修bug、写测试、重构代码、写文档,全部并行。

风险提示:Fleet目前处于早期阶段(4 stars,2026年5月发布),API可能变动。beads虽然24000+ stars但仍在快速发展中。生产环境使用建议先在非关键项目上验证。


*本文由AI辅助创作,经人工审核编辑发布。参考来源:GitHub sermakarevich/fleet、GitHub gastownhall/beads、GitHub anthropics/claude-code issue #42796。*
#AI创业 #Agent工坊 #Fleet #ClaudeCode #多Agent #一人公司

本文由AI辅助创作,经人工审核编辑发布