Orca:编码代理并行运行器

开源代理开发环境押注下一个编码瓶颈是协调,而不是模型智能。

Orca:编码代理并行运行器
AI模型价格对比 | AI工具导航 | ONNX模型库 | Vibe Coding教程 | PLC在线仿真器 | Tripo 3D | Meshy AI | ElevenLabs | KlingAI | ArtSpace | Phot.AI | InVideo

Orca不附带模型,也不要求你创建账户。你将它指向你已经付费的Claude Code或Codex订阅,然后它就会做那件听起来要么鲁莽要么迟来的事情——取决于你这周过得怎么样:它同时运行十个这些代理,每个代理都在你的代码库的独立签出中,全部在一个窗口中跟踪。

这个组合值得停下来思考。大多数AI编码工具都是围绕一个代理在一个编辑器中在一个分支上工作构建的。Orca假设你几周前就放弃了那个模式,一直在四个终端标签之间来回切换,忘记了哪个代理修改了哪个文件,并清理了三个不同机器人在你没注意时修改的工作目录。这是对一个特定声明的押注:单个模型已经足够好了,真正的摩擦现在是一堆它们之间的协调,而不会让整个事情陷入混乱。

制作它的公司Stably AI有资格做出这个押注。它成立于2022年,由金景良(Jinjing Liang)和尼尔·帕克(Neil Parker)创立,前者曾在Google Chrome的测试和发布基础设施工作,后者是前Uber技术负责人。他们之前的产品是一个AI QA代理,围绕拉取请求生成和维护Playwright测试。Orca是同样的直觉指向整个工作,而不仅仅是测试:将自主的东西包裹在严格的隔离中,这样它就不会破坏你的工作状态,并为人类提供一个干净的界面来审查和合并。该项目是MIT许可的,自推出以来已超过10,000个GitHub星标。这不能证明它是好的。这证明它命名的问题是很多人都认识到的。

1、问题是状态崩溃,不是智能

这是Orca旨在防止的故障模式,值得具体描述,因为这是工具存在的全部原因。

你有一个仓库,一个签出,一个工作目录。你要求一个代理重构身份验证。很好。现在你想要第二个代理在第一个代理工作时更新你的CI管道,所以你打开另一个终端。两个代理都在编辑同一个目录中的文件。一个暂存了更改,另一个意外地暂存了它,第三个覆盖了配置文件,现在你正在扮演侦探,试图重建哪个非确定性机器人做了什么。分支冲突。丢失的编辑。你无法重现的上下文。

标准答案是纪律:每个任务一个分支,小心暂存,不断切换上下文。这在你运行超过两个或三个代理之前是有效的,此时记账会吞噬你试图购买的生产力。这是人们遇到的墙,你无法通过获得更聪明的模型来爬过这堵墙。一个更聪明的模型与另外两个智能模型编辑同一个目录仍然是一团糟。

Orca的答案是完全停止共享目录。

2、Git工作树才是真正的技巧

Orca底层的机制是许多开发人员很少使用的原生Git功能:工作树。工作树允许一个仓库同时签出多个工作目录,每个目录都在自己的分支上,所有目录共享同一个底层对象数据库。没有每个代理的完整克隆,没有重复的历史记录,只有指向同一个仓库的独立物理文件夹。

Orca大力依赖这一点。每个任务都有自己的工作树。当你将一个目标分散到三个代理时,每个代理都会落入自己的目录和自己的分支,因此它们不会编辑相同的文件。ClaCode可以在一个工作树中重构身份验证,而Codex在另一个中重写CI管道,第三个代理在第三个中起草文档,所有这些都同时进行,所有这些都并排可见。当它们完成时,你在差异查看器中比较结果,注释代码,并合并获胜的版本。因为它是建立在真正的Git工作树上,而不是专有沙盒上,所以你的分支是真正的分支,你的合并是真正的合并。

但要精确说明这给你带来了什么,因为很容易过度销售。独立的工作树意味着两个代理无法覆盖彼此的文件,因为它们不在相同的文件中。它们仍然可能以其他方式发生冲突。两个触及相同逻辑的分支在合并时会发生冲突。在同一个端口上启动开发服务器、写入同一个本地数据库或在工作树外生成文件的代理仍然可能相互绊倒。隔离是在文件系统级别,而不是在每个级别。它消除了最常见和最令人恼火的故障,但不是全部。当你超越玩具任务时,这种区别很重要。

3、将此付诸实践

你可以在不到一小时的时间内获得第一个有用的结果。这是低摩擦路径。

安装它。在macOS上:brew install --cask stablyai/orca/orca。在Linux和Windows上,可以从ondevc或GitHub发布页面直接下载,Arch有一个AUR包。没有账户需要创建。

带上你已有的订阅。Orca不卖你推理。将它指向你已经使用的编码代理CLI,Claude Code和Codex是最常见的,使用你现有的订阅或API密钥。如果代理在终端中运行,它就在Orca中运行。

打开一个真实的仓库,但不是你最重要的那个。选择一些在积压工作中有少量独立任务的东西。只有当任务并行运行时,整个价值才会显现,所以你至少需要两个不相互依赖的东西。

为每个任务启动一个工作树,并为每个分配一个代理。这是概念点击的时刻。给代理一一个错误修复,代理二一个小功能,并让它们同时在自己的目录中运行。并排观察两个终端。

合并前审查。打开差异查看器,阅读每个代理实际做了什么,然后合并好的一个。不要跳过阅读。该工具使接受更改变得快速,这也使得接受错误的更改变得快速。

然后,只有在那时,才使用CLI。一旦可视化流程变得有意义,从脚本运行orca worktree create就是该工具从方便到强大的地方。这是错误的起点。

Orca要求的真正技能不是点击按钮。而是选择实际上可以并行运行的任务。如果搞错了,并行只会加速混乱。

好的第一个并行任务有一个共同点:它们不涉及相同的领域。在另一个代理修复一个包含的错误时更新文档。在一个代理处理不相关的组件时为另一个组件添加测试。或者将多个代理指向同一个隔离的问题,并比较谁解决得最好。

坏的第一个并行任务有相反的特点。两个代理编辑同一个数据库模式。一个前端更改依赖于一个未完成的后端更改。多个代理重写共享配置,或在同一个端口上启动服务。任何具有模糊验收标准的东西,因为你将无法分辨哪个结果是正确的。

在合并任何工作树之前,将其通过三个检查点。首先,在该工作树中运行仓库的测试,而不是信任代理自己对它所做工作的总结。其次,阅读每个更改的文件,而不是精彩集锦。第三,检查分支是否静默地触及了依赖项、迁移、权限、秘密或CI配置,这正是代理的信心超越其判断力的地方。

4、其他控制面

一旦工作树流程变得有意义,另外三个部分会提高上限。你第一天不需要它们中的任何一个。

CLI。在窗口下面,Orca作为可脚本化的引擎运行,其许多核心工作流在命令行上公开,而不仅仅是通过点击:创建和管理工作树、驱动终端、控制嵌入式浏览器。图形应用程序和CLI与同一个引擎通信。这打开了你围绕Orca构建的模式,而不是它自己执行的技巧。你可以将CI连接到捕获失败的测试,启动一个新的工作树,将堆栈跟踪放入代理中,并让它尝试修复无人值守。你可以让一个主代理将子问题委托给由对等方运行的子工作树。CLI使这些架构成为可能。它默认不使它们安全,你拥有管道和防护栏。

浏览器感知。Orca附带一个嵌入式Chromium浏览器,具有称为设计模式的功能。点击渲染页面中的任何元素,Orca会提取其HTML、计算CSS和裁剪的截图,然后将所有这些放入代理的提示中。你不是输入描述错位按钮的段落,而是点击按钮。代理也可以通过CLI驱动浏览器,获取页面快照并对其返回的元素进行操作,这比自动完成更接近QA。还有一条计算机使用路径用于操作本机桌面应用程序。

手机。当代理需要几分钟到几个小时才能完成时,坐在办公桌前看着它们是浪费你的时间。Orca有iOS和Android伴侣应用程序,可以与你的桌面配对,这样你就可以监视运行中的代理,在一个代理完成或卡住时收到通知,并从手机发送后续指令。这清楚地表明工作流程已经走了多远,从输入代码到监督输入代码的东西。

5、哪里会咬人

Orca是一个年轻、快速发展的开源项目,它的行为就像一个。这是一把双刃剑,粗糙的边缘是真实的。

年轻的跨平台桌面应用程序有渲染和输入的怪癖,Orca不断发布新版本,所以你本周遇到的特定错误可能在下周就消失了,新的错误可能已经到来。在你将日常工作流程提交给它之前,特别是如果你使用基于终端的编辑器,请检查当前的问题跟踪器,看看你的编辑器和操作系统,并自己尝试那个确切的工作流程。不要将任何人一个月前的错误报告(包括这个)作为当前状态。

带上你自己的订阅是正确的选择,但要清楚并行对你的使用做了什么。运行十个代理并不意味着十倍的美元成本,因为这取决于你的计费方式。在订阅计划上,你会更快地达到速率限制或用完你的配额。在API计费上,你会直接支付更多的代币。无论哪种方式,计费速度都比你从单代理工作中预期的要快,而且Orca不能为你支付账单。

最深层的限制是概念上的,而不是技术上的:编排是你还没有的技能。运行一个代理已经足够困难了。运行十个意味着编写清晰的任务边界,审查比你习惯的更多的差异,并培养哪种模型交给哪种工作的感觉。Orca给你控制平面。它不给你判断力,没有判断力,十个代理只是十倍的混乱,更快。

如果你只运行一个代理并且你很开心,你不需要这个。当你运行两个并失去跟踪时,Orca就赢得了它的位置。

6、它实际意味着什么

Orca有趣的地方不在于任何单一功能。它是一个完整类别的存在,即代理开发环境,说明了工作的发展方向。

长期以来,AI辅助开发的限制是模型。这正在放宽。Orca押注下一个限制是人类:我们无法一次指导大量有能力的代理,而不会让一半掉到地上。如果这个押注是正确的,工作头衔慢慢从"编写代码的人"变成"管理编写代码的舰队的人"。这是不同的技能,我们大多数人都还没有建立起来。

所以这是值得思考的事情。每个人都在谈论模型变得更聪明。几乎没有人练习Orca构建的东西,即一次运行许多它们并保持控制。本周去启动两个工作树,看看你是否真的可以。如果你在真实的代码库上把它推到十个代理,我想知道什么坏了,因为那是没有人写下来的部分。

Orca是MIT许可下的开源项目,可在macOS、Windows和Linux上使用,地址为ondevc,源代码在github.com/stablyai/orca。


原文链接: Orca Runs Ten Coding Agents at Once Without Letting Them Overwrite Each Other

汇智网翻译整理,转载请标明出处。