微信扫码
添加专属顾问
我要投稿
Routa桌面版发布,将Harness工程与AI Coding结合,打造多Agent协同的研发工作台,重新定义自动化研发流程。核心内容: 1. 从单Agent到多Agent协同的研发范式转变 2. 基于Harness工程与看板(Kanban)构建自动化工作台 3. 明确“完成的定义”(DoD)在AI研发流程中的关键作用
TL;DR:下载地址:https://github.com/phodal/routa/releases (由于 Apple 证书原因,macOS 下载 x64 版本)
几个月前,当 Coding Agent 的 CLI 模式开始显著改写整个行业时,我一边做出了《AutoDev CLI》, 一边也逐渐意识到:这场变化真正重要的,并不只是把 Coding Agent 搬进命令行。
随着对 ACP 协议和多 Agent 协同的持续实践,我越来越确认一件事:单个 Coding Agent 已经不再是最关键的问题,真正重要的,是如何让多个 Agent 在同一套工程体系里协同工作。 从《Vibe Coding 何必只在桌面 IDE,编码智能体协同的思考与设计》到 《2026 年,万物皆 Coding Agent 的平台工程》, 我其实一直在追问同一个问题:当 Dev 逐步退居为 AI Coding 流程中的一个环节之后,我们是否需要重新定义研发协作的平台形态?
顺着这条脉络,我做了一系列多 Agent 实验。直到后来,我逐渐形成了基于 Harness 工程的体系化思考,才忽然意识到:我一直在寻找的,也许正是这样一个答案——
Harness 工程 + Coding Agent + Kanban = AI 自动化研发工作台
Routa,就是这个公式第一次比较完整地落到产品形态上。
早先,我们探索的是多 Agent 的任务协同。 《Agent Team 实践与架构设计:在约束下构建可演进的一个人开发团队》里, 我关心的是:一个人带多个 Agent 时,怎么拆角色、控边界、做交接。
到了现在的 Kanban 方式,再到现在的基于看板的方式,我们进行了一系列的尝试和探索。其中最难的一点是:
DoD(Definition of Done,完成的定义)到底是什么?
在人工看守的本地模式和远程 Agent 自动化模式下,完成的定义明显不一样:
done 列的条件。简单来说,Spec 模式里的 done,只是 Kanban 里的 Dev 完成。从开发完成到交付完成,中间还隔着验证、门禁、证据和状态流转。
当 Coding Agent 越来越多、模型能力持续增强时,我们真正要回答的问题就变成了:如何让这些 Agent 在同一套工程约束下工作,而不把系统推向熵增?一个最简单的方式,就是为 Routa 项目构建 Harness 工程。通过实践与反复提炼框架,我们就能得到一个可以在其他项目中复用的 Harness 工程框架。于是,围绕 Routa,我逐步长出了几组关键部件。
现在 Routa 已经有接近 50 万行代码,并且几乎 100% 由 AI 生成。
而在整个系统里,最能体现 Harness 工程思路的,是 Routa Kanban 本身。它既是任务板,也是给 Agent 分派工作的界面;但更重要的是,它还是一套内建了质量门禁、阶段约束和领域专家的任务状态机: 卡片进入哪一列,不只是状态变化,也意味着系统开始按另一组规则检查这项工作是否具备继续推进的条件。
真实的软件研发从来不是一连串彼此独立的局部胜利。它更像一条持续推进的流:需求进入系统,任务被拆开,阶段向前滚动,不同角色在不同位置接手, 结果被验证、退回、重试,最后只有一部分穿过门禁进入交付。会话能承载一次生成,很难承载一条长期存在的任务流。
一旦 DoD 从“开发完成”变成“交付完成”,Kanban 就不再是看进度的工具了。它开始变成一套任务级的协议:卡片往哪一列走,不是位置变化,而是状态切换;
状态一变,输入、输出、验证方式以及后续动作都会被重新定义: backlog、 todo、 dev、 review、 done、 blocked,这些列,不只是流程节点, 而是不同阶段的工程语义,也是 specialist 接力协作的边界。
在 Routa 的 Kanban workflow 里,一张卡本质上是一个被持续补全的协议对象。
在这里 Kanban 是一套协议,列与列之间不是视觉上的排队关系,而是准入门禁和准出门禁的切换关系。 每个下游阶段先验证上游有没有交出它该交的东西,不合格就退回去: todo 可以把不完整的 story 打回 backlog, dev 可以把不可执行的卡退回 todo, review 也会因为证据不足、测试缺失、范围蔓延而把卡退回 dev。
所以,我更愿意把 Routa 的 Kanban 看成 Harness 的任务界面,它把“完成”这件事从口头判断变成系统约束。
协议写清楚之后,接下来的问题就简单多了:谁来履行协议,谁来接下一棒。
多 Agent 最容易被误解成一个并行问题:好像只要同时开更多 Agent,系统自然就会更强。可工程现实往往正好相反。Agent 越多,如果职责边界不清、阶段责任不明、交接关系含糊,系统只会更快地产生噪音。表面上每个 Agent 都在工作,实际上没有谁真正对某个环节负责。
所以在 Routa 里,多 Agent 的重点从来不是 “更多”,而是在于如何 “更清楚”。在这里真正参与交接的是 Kanban workflow 里的各个 Lane specialist(泳道专家):
这套设计最关键的是:“只做自己这一列该做的事”。每一个 specialist 都先验证上游,再完成本列目标,最后通过 move_card 把责任显式交给下游。
多 Agent 需要的就是:一条带有门禁、回退和恢复机制的接力链。
状态流和职责流一旦都成立,就会回到文章一开始的眼前:done 到底是什么?
对于一个长周期的项目来说,Done 通常要意味着两件事:
对于一个会持续被 AI Agent 改写的代码库来说,团队需要用软件工程的方式,重新回答“什么样的系统还能继续演进”。至少要把下面这些问题提前想清楚:
到了这里,Harness 就已经进入了完成定义本身。它把架构 Fitness、门禁规则、证据要求和放行条件前置下来,让系统能够判断:这次结果应该继续往前走,还是应该停在这里。
回到最开始那个公式:
Harness 工程 + Coding Agent + Kanban = AI 自动化研发工作台
其中,Coding Agent 提供的是执行能力,Kanban 提供的是任务状态,Harness 工程提供的则是约束、验证和完成定义。只有这三者被放进同一套系统里,AI Coding 才不会停留在“更快生成代码”的阶段,而开始进入“如何组织协作、如何定义完成、如何接住交付”的问题域。
所以,Routa 想做的,并不是一个聊天式 Coding Agent,也不只是一个多 Agent 容器。它在尝试做的,是把任务流、职责流和证据流重新接到一起,把“完成”重新写回系统。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-05-26
面壁智能BitCPM-CANN:端侧AI的内存革命
2026-05-26
AI Native 企业的关键,是从外化到内生
2026-05-26
真正开启Vibe Coding的第一天!
2026-05-26
Coding Agent 在百度的落地实践:从反馈闭环到工程范式重构
2026-05-26
刚刚,国产Agent模型闯入全球第一梯队!限时免费
2026-05-26
天工AI发布SkyClaw-v1.0:面向真实工作流的百万上下文 Agent 模型
2026-05-26
如何使用Codex的Goals机制完成长程任务?
2026-05-26
关于Agent Harness,我整理了一个最小版!
2026-04-15
2026-04-07
2026-03-31
2026-03-13
2026-04-07
2026-03-17
2026-03-17
2026-03-21
2026-04-24
2026-03-06
2026-05-26
2026-05-23
2026-05-21
2026-05-19
2026-05-09
2026-05-09
2026-05-09
2026-05-08