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,想接谁接谁。
冷静看:还没跑通的挑战
谁来保证验收标准本身是对的? Entrix 的 fitness rules 是人配置的,Gate Verifier 验的是规则——规则写错了,链路通得很顺畅,但交付物就是错的。目前靠人兜底。
多 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