"One human, plus a fleet of AI agents. That's not an embarrassing admission, it's the whole point." —— Matthew Ford,OcuClaw创始人
前言
一个人能不能像一个团队一样开发?给你看一个正在发生的真实案例。
Matthew Ford是一个独立开发者,他做了一个叫OcuClaw的智能眼镜App——把AI Agent装进Even Realities G2眼镜里。但今天要讲的不是这个产品本身,而是他怎么开发的。
他用了一套叫做"Fleet Control Center"的系统:同时运行多个完全隔离的AI Agent开发环境(他称之为"box"),每个box里跑着一个完整的Agent堆栈,Agent自己在里面写代码、跑测试、提交PR。他只需要审核结果。
一个人,管理一个Agent舰队。这是2026年最值得学习的独立开发者工作模式。
核心架构:什么是Fleet Control Center?
Ford的原话是:"OcuClaw is the product. The Fleet Control Center is the factory."
Fleet Control Center的核心概念是一个"box"——一个完整的、隔离的开发环境。每个box都是一台独立的Linux虚拟机(Fly.io的Sprite),里面装有:
- OpenClaw/Hermes Agent网关和插件
- G2眼镜模拟器(渲染到虚拟显示器)
- Dev server(应用构建服务器)
- Claude Code和OpenAI Codex CLI(已登录,随时可调度)
- 4100+测试用例的验证套件
- dispatch harness、watchdog、heartbeat遥测系统
- 独立的Tailscale网络隧道
关键点:这不是容器,是完整的虚拟机。每个box有自己的root权限、持久文件系统、运行状态。暂停一个box,一周后唤醒,网关还登录着,分支还checkout着——就像电脑休眠后唤醒一样。
三种模式:Overview / Cockpit / Phone
Ford设计了三种操作模式,对应不同的工作场景:
Overview(舰队总览)
所有box的缩略图平铺在屏幕上。休眠的box显示灰色,活跃的box实时显示其眼镜模拟器的渲染画面。一句话:一眼就知道哪个任务在做、哪个任务完了、哪个出了问题。
Cockpit(驾驶舱)
进入单个box,同时看到眼镜渲染画面和App UI。你的点击和滑动会变成box内模拟器的真实输入——你就是在"驾驶"这个开发环境。
Phone(真机模式)
模拟器让位,你的真实手机和眼镜连接到box。真实硬件 + 远程开发环境,体验跟本地开发一样。
为什么一个独立开发者需要舰队?
痛点1:模拟器是单线程的瓶颈
智能眼镜App的开发有一个特殊性:你必须通过模拟器才能验证效果。模拟器是排他性资源——两个任务不能同时用。在传统开发模式下,Agent写完代码后只能干等着模拟器空闲,而Ford自己也随时需要用模拟器手动验证一些东西。
"两个或三个任务在跑的时候,大家大部分时间都在等模拟器的队。瓶颈从来不是工作本身,是机器。"
痛点2:一个客户端只能跑一个插件版本
OpenClaw的一次实例只能运行一个OcuClaw插件版本。尝试连接第二个客户端,会把第一个的session挤掉。"测试分支A vs 分支B意味着每次都要拆掉一个再架另一个。"
当Ford发现自己开始设计脚手架来在同一台机器上管理多个OpenClaw实例时,他知道本地方案走到头了。
痛点3:Agent能干活但不能"闭环"
Agent能写代码、构建、测试。但"闭环"——从代码生成到确认一切正常运行——需要人的手在共享机器上操作。这种"一千个小伤口"的摩擦,是独立开发者产能的真正杀手。
实战细节:Agent们具体在做什么?
Ford的Agent舰队不只是写代码。它们在执行一整套开发运维流程:
-
功能开发:Agent收到任务 → 在box里写代码 → 构建 → 在模拟器中验证 → 提交PR → Ford审核
-
Bug修复:用户提交的bug报告自动流入系统 → Agent在box里分析 → 提出修复方案 → 在模拟器中端到端测试 → 返回PR
-
依赖监控:Agent监控OpenClaw和Hermes Agent的release日志 → 检查每个release对代码的影响 → 生成"需行动/需检查/需关注"的优先级列表
-
跨版本兼容:不同box跑不同版本的依赖 → Agent并行测试兼容性 → 一次验证多个版本组合
技术决策:为什么选VM而不是容器?
Ford的回答是教科书级别的架构决策:
"每个box必须是一台计算机,不是一个进程。里面的栈是有状态的,并且假定自己拥有整台机器——持有真实凭证的Agent运行时、独立虚拟显示器上的模拟器、两个编程引擎的登录态、checkout出的仓库、构建缓存、Tailscale身份、以及box端的舰队管理组件。"
关键是:最近的box唤醒后保留了进程状态,隧道自动重连。容器停止后启动是冷的(磁盘在,但运行态不在了),而VM暂停再唤醒是"接着刚才的思考继续"。
我们能学到什么
1. 独立开发者的产能上限由"瓶颈"决定,不是"工作时长"
Ford的瓶颈不是他不够努力,而是物理机器的共享限制。他解决的不是"怎么更努力",而是"怎么移除共享资源的排队"。
2. Agent不只是代码生成器,它们是运维员
Ford让Agent做的远不止"写代码"——它们在做release监控、兼容性测试、bug分类和修复。这些通常是团队里senior engineer做的工作,现在Agent在独立完成。
3. 基础设施的选择要匹配使用模式
Ford选择了按需启动的VM而非固定服务器,因为他的使用模式是"爆发式"的:大部分时间box休眠,然后一个下午同时启动多个box。按需计费的VM比24/7的固定服务器便宜得多。
4. "One human, a fleet"是2026年独立开发者的新常态
这不是科幻。这是一个真实在用的系统。一个人 + 一支Agent舰队 = 一个团队的产能。而且这个系统不仅限于眼镜App开发——任何需要多任务并行、需要隔离环境、需要Agent自主工作的开发场景,都可以借鉴这个模式。
实操指南:如何搭建你自己的Agent舰队
第一步:选择一个VM平台
- Fly.io Sprite(Ford的选择,按需启动,有持久存储,约$2.5/月起)
- AWS EC2 Spot实例(更便宜但不保证可用性)
- 本地Proxmox/VMware(前期投入大但长期成本低)
第二步:每个VM配置Agent环境
每个box里需要的核心组件:
- Agent运行时(Claude Code / OpenCode / Codex CLI)
- 你的项目代码(git clone完整仓库)
- 测试套件(确保Agent可以自主验证)
- 模拟/沙箱环境(如果开发需要专用硬件模拟)
- 网络隧道(Tailscale/WireGuard实现安全远程访问)
第三步:搭建控制平面
- Fleet Overview:所有VM的实时状态面板
- Dispatch System:把任务分配给空闲box
- Watchdog + Heartbeat:确保每个box健康运行
第四步:定义Agent的任务模板
标准PR任务流程:
1. 拉取最新代码
2. 理解需求或定位bug
3. 编写修改代码
4. 运行完整测试套件
5. 在模拟器中验证效果
6. 提交PR并附带验证结果摘要
常见问题
Q: 这个系统的成本是多少?
A: Ford没有披露具体数字,但"爆发式"使用模式比固定服务器便宜得多。以Fly.io Sprite为例,最小的1vCPU/256MB约$2.5/月,但box大部分时间休眠不收费。估算一个3-5个box的舰队每月成本在$20-50之间。
Q: 适合什么类型的项目?
A: 任何有大量并行独立任务、需要隔离环境的开发项目。特别适合需要模拟器/沙箱的移动端、IoT、嵌入式开发。Web开发和API开发也可以受益。
Q: Agent会不会写出质量很差的代码?
A: Ford的做法是关键:Agent只负责写+测试,人负责审核。Agent提交PR,附带测试结果,人只看结果决定merge——这是人机协作的正确姿势。4100+测试用例是最后的安全网。
Q: 会不会被Agent的费用吃掉成本?
A: Agent API调用的成本确实需要考虑。但Ford的经验是:Agent运行在隔离的box里,避免了反复的人工调试消耗;而且Agent可以批量处理多个任务,边际成本递减。对于独立开发者来说,时间比API费用贵得多。
总结
OcuClaw的Fleet Control Center不仅仅是一个聪明的架构设计——它展示了一种全新的工作模式:人定义方向,Agent执行细节,人审核结果。
这个模式的核心洞察是:Agent已经足够强大到可以自主完成一个完整的开发-测试循环,但仍然不够强大到可以独自做出正确的架构决策。人的价值不是在键盘前敲代码,而是在高处看方向。
对于所有独立开发者来说,这不是"要不要用Agent"的问题——是"要不要被Agent竞争"的问题。一个人运营一支Agent舰队,现在是可行的,未来是必须的。
