KanBots: 通过 Kanban 编排并行 AI Agent
从 AI 对话界面向自主 Agent 的转变,从根本上说是我们管理工作方式的转变。虽然单个对话窗口足以应对简单的查询,但复杂的软件工程任务需要一个记录系统——一种跟踪进度、管理依赖关系并并行执行任务的方式。
KanBots 是一款开源桌面应用程序,它重新构想了 Kanban 看板,不仅将其视为项目管理工具,还将其视为 AI Agent 的活跃运行时。通过与 Claude Code 和 Codex 等基于 CLI 的 Agent 集成,它允许开发者将多个 Agent 分配到不同的卡片中,每个 Agent 都在其独立的 git worktree 中运行。这种方法将看板从静态的任务列表转变为并行功能开发的动态引擎。
并行代理架构
KanBots 的核心是“Agent 运行时”的概念。KanBots 不再将 AI 视为对话伙伴,而是将其视为可以被分配到特定任务的工作者。
隔离的 Worktree
KanBots 中最关键的技术决策之一是使用 git worktrees。当一个 Agent 被分配到一张卡片时,它不仅仅是修改当前目录;它会创建一个专门的 kanbots/issue-N 分支并创建一个相应的 worktree。这确保了:
- 并行性是安全的: 多个 Agent 可以同时在不同的功能上工作,而不会在本地工作目录中引起合并冲突。
- 上下文被保留: 每个 Agent 都有其干净的状态,这使得审查和回滚更改变得更加容易。
- 部署被简化: 通过 GitHub 集成,可以通过单击一下将 worktree 提升为 commit 或作为 draft PR 打开。
Agent CLI 适配器
KanBots 并不试图从零开始构建自己的 LLM 编排层。相反,它使用 AgentCliAdapter 来与现有的、强大的 CLI 工具(如 Claude Code 和 Codex)进行交互。这允许用户利用其现有的身份验证(例如 claude /login)和 API 密钥,而无需在应用内管理单独的账户系统。
高级编排:Autopilot 与 Persona
对于那些希望超越手动分配的用户,KanBots 引入了“Autopilot”系统,用于实现自我进化的功能开发。
基于 Persona 的执行
KanBots 中的“persona”是一个命名的系统提示词片段。用户可以定义诸如 Product Manager、Engineer、Reviewer 或 Tester 之类的角色。在 Autopilot 模式下,编排器会在多达四个并行插槽中轮询这些 persona。
自我进化的 Backlog
与传统的自动化不同,Autopilot 允许 Agent 能够修改看板本身。当 Agent 在实现过程中发现新的需求或 Bug 时,它可以在看板上提交新的卡片。这些新任务随后会被循环中的下一个可用 persona 接手,从而创建一个工作流向完成目标收敛的闭环。
本地优先哲学
在云端中心化的 AI 工具时代,KanBots 在隐私和本地控制方面采取了坚定的立场。该应用程序被设计为本地优先的工具,其中一切——SQLite 数据库、配置和 worktrees——都存储在仓库旁边的 .kanbots/ 文件夹中。
这种“零服务器”方法确保了代码永远不会离开机器,这是许多开发者认为在专业应用中不可或缺的要求。此外,通过包含 MCP (Model Context Protocol) 服务器,允许其他感知 MCP 的工具(如 Cursor 或 Claude Desktop)与 KanBots 看板进行交互,使看板成为其他 Agent 的一类工具。
社区观点与挑战
虽然技术架构令人印象深刻,但 Hacker News 上的社区讨论揭示了当前 Agent 工作流中存在的几个关键矛盾点。
监督缺口
许多开发者对这些工具的“autopilot”性质表示怀疑。正如一位用户所言,Agent 在短时间内生成的巨大变化量可能会让审查工作变得难以应对:
"I keep wondering how people accept a nights worth of agent activity... At minute 5, I may ask the AI to redo stuff even as its spitting out code."
这突出了一个根本性的挑战:随着 Agent 编写代码的能力不断增强,人类的审查能力成为了瓶颈。
IDE 集成问题
另一个争议点是界面。虽然 Kanban 看板非常适合高层级的编排排布,项目经理可以进行高层级的编排排布,但一些开发者认为 Agent 不应该被局限在“微小的对话界面”中,而应该在每个任务周围拥有完整的 IDE 环境。人们渴望一种“1 任务 = 1 worktree = 1 完整 IDE”的模型,即人类可以随时跳入功能齐全的编辑器中,实时地审查和完善 Agent 的工作。
成本与可预测性
随着一些 CLI 工具转向基于 API 的计费模式,运行高层级编排器的成本可能会激增。KanBots 通过实现实时成本分析和每次运行/每次会话的预算上限,解决了这个问题,避免了经常伴随自主 Agent 循环而出现的“意外账单”场景。
结论
KanBots 代表了将 AI Agent 视为可扩展劳动力而非仅仅是对话界面的重要一步。通过将 Kanban 的结构化纪律与 git worktrees 的技术隔离性相结合,它提供了一个管理自主软件工程复杂性的框架。虽然“监督缺口”仍然是一个挑战,但本地优先、开源的开源方式确保了开发者可以保持对代码和流程的控制权。