编程 一个开源的多Agent协同交付平台Routa

2026-05-18 06:33:59 +0800 CST views 9

Routa:开源多 Agent 协同交付平台,让 AI 编程不再一团乱

标签: 开源项目 / 多智能体 / 软件交付 / AI编程
原文: 微信公众号「极客之家」https://mp.weixin.qq.com/s/xN6JBQ2PQxSEjtOkIJG3yQ
GitHub: https://github.com/phodal/routa


核心亮点

Routa 是一个以工作区为核心、面向软件交付的多智能体协同平台。它让需求拆解、实现、复核、交付这条链路显式化——每个角色干自己的活,不互相串戏。


痛点:单 Agent 聊天扛不住真实交付

用 Claude Code / Codex 做项目,聊天框塞了几百条 prompt,代码跑起来了,但整个过程乱得像一个没人维护的 issue 列表。

核心问题:单一 Agent 在一条聊天线程里既当策划又当程序员还当 QA,三个角色都做得稀烂。

phodal 在 README 里说得很准:

单一 Agent 聊天适合处理孤立任务,但一旦同一条线程同时承担拆解、实现、评审、证据收集和发布决策,语义边界就会迅速混乱。

Routa 想做的事:让这条链路显式化,每个角色干自己的活,不互相串戏。


三层角色架构

Routa 把协作拆成三个独立角色,各司其职:

角色职责关键约束
ROUTA Coordinator统筹:写 spec,等人确认,按 wave 分发任务不直接动文件
CRAFTER Implementor实现:只碰自己卡范围内的代码不顺手重构,提交完保证 worktree 干净
GATE Verifier把关:逐条对照 acceptance criteria证据不够就不算过,没有模糊判断

三个角色不在同一个 prompt 里打架。


看板驱动的工作流

Routa 核心运转方式是 Kanban,六列:Backlog → Todo → Dev → Review → Done → Blocked

你:构建一个用户认证系统,包含登录、注册和密码重置
                    ↓
         Workspace + Kanban Board
                    ↓
  Backlog -> Todo -> Dev -> Review -> Done
                              |
                        Blocked Resolver

六个 Specialist 各管一列

Specialist职责
Backlog Refiner把粗糙需求改写成结构化 YAML story(必须有 acceptance criteria、constraints、依赖关系和 INVEST 检查)
Todo Orchestrator不信任上游,重新解析 YAML,卡不清楚直接退回
Dev Crafter拿到卡后实现、验证、提交,写下 Dev Evidence
Review Guard独立验证每条 acceptance criteria,要求干净 git 状态
Done Reporter留下 completion summary,说清交付了什么
Blocked Resolver处理卡壳情况,写清原因并路由到正确泳道

最聪明的设计:卡片随流转变严格——Backlog 产出 YAML story,Todo 补 execution brief,Dev 追加 Evidence,Review 加 Findings,Done 写 summary。同一张卡,越往后信息量越密。


Review Gate:分层决策,不是喊 LGTM

Routa 的 Review 不是靠 AI 喊「LGTM」,而是分层决策:

层级职责
Harness Monitor回答「发生了什么」:暴露 traces、改动文件、执行命令、git 状态
Entrix Fitness回答「什么必须成立」:执行 hard gates、证据要求、文件预算和策略检查
Gate Specialist回答「能不能继续走」:逐条验证 acceptance criteria,决定进 Done / 打回 Dev / 升级人工

Entrix:Rust 写的验证引擎

Entrix 是 Routa 内置的验证引擎,用 Rust 编写(crates/harness-monitor/),可以定义 fitness rules:

cargo build -p entrix
entrix run --dry-run
entrix run --tier fast
entrix run --tier normal

比如:某类文件不能超出多少、某个测试必须存在、某段代码不能出现——这些都是硬规则,不是 AI 的模糊判断。


技术栈

技术说明
Web 端Next.js 16.2页面和路由处理器
桌面端Tauri + Rust Axum直接挂真实文件系统
验证引擎Rust (Entrix)harness monitor 和 git 操作
API 契约api-contract.yaml统一定义核心概念边界

两端核心语义一致——workspace、session、task、trace、codebase、worktree、review 这些概念,都由 api-contract.yaml 统一定义。不会出现桌面端能做、Web 端做不了的功能差异。

Rust Crate 结构

路径作用
crates/routa-core/共享 Rust 运行时基础层
crates/routa-server/Axum 后端
crates/routa-cli/CLI 入口和 ACP 服务命令
crates/harness-monitor/运行观测与 Entrix 评估引擎

三条上手路径

桌面端(最完整体验)

从 GitHub Releases 下载安装包 → 创建 workspace → 接入模型 provider → 关联本地仓库 → 开始。

CLI

npm install -g routa-cli
routa --help
routa -p "解释这个仓库的架构"
routa acp list
routa workspace list

Web(自托管)

npm install --legacy-peer-deps
npm run dev
# 打开 http://localhost:3000

或 Docker:

docker compose up --build

MIT 开源,不锁模型:Claude Code、Codex、Qwen Code,想接谁接谁。


冷静看:还没跑通的挑战

  1. 谁来保证验收标准本身是对的? Entrix 的 fitness rules 是人配置的,Gate Verifier 验的是规则——规则写错了,链路通得很顺畅,但交付物就是错的。目前靠人兜底。

  2. 多 Agent 并行冲突处理:Dev Crafter 在文件冲突时需要先协调,但具体怎么协调,文档目前没展开,还在迭代中。


与其他方案对比

方案多角色分离看板驱动验证引擎桌面端开源
Routa✅ 三层架构✅ Kanban✅ Entrix (Rust)✅ Tauri✅ MIT
Claude Code❌ 单线程
Cursor Agent❌ 单线程
Devin⚠️ 内部多步⚠️ 不透明

写在最后

Routa 在「让 Agent 协作有结构」这件事上,是目前开源方案里做得最认真的之一。不是拿一堆 prompt 拼在一起糊弄人,而是有体系地解决软件交付的协作问题。

快速上手

# CLI 方式
npm install -g routa-cli
routa --help

# 或 Docker
git clone https://github.com/phodal/routa.git
cd routa && docker compose up --build

Star 已近 900,Slack 社区活跃,值得跑起来感受一下。


本文整理自微信公众号「极客之家」,原文链接:https://mp.weixin.qq.com/s/xN6JBQ2PQxSEjtOkIJG3yQ
GitHub 项目地址:https://github.com/phodal/routa

复制全文 生成海报 开源项目 多智能体 软件交付 AI编程

推荐文章

15 个 JavaScript 性能优化技巧
2024-11-19 07:52:10 +0800 CST
15 个你应该了解的有用 CSS 属性
2024-11-18 15:24:50 +0800 CST
Vue 中如何处理父子组件通信?
2024-11-17 04:35:13 +0800 CST
18个实用的 JavaScript 函数
2024-11-17 18:10:35 +0800 CST
如何在Vue3中处理全局状态管理?
2024-11-18 19:25:59 +0800 CST
网络数据抓取神器 Pipet
2024-11-19 05:43:20 +0800 CST
Vue3中如何扩展VNode?
2024-11-17 19:33:18 +0800 CST
Vue3中如何实现国际化(i18n)?
2024-11-19 06:35:21 +0800 CST
js一键生成随机颜色:randomColor
2024-11-18 10:13:44 +0800 CST
程序员茄子在线接单