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 ManagerEngineerReviewerTester 之类的角色。在 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 的技术隔离性相结合,它提供了一个管理自主软件工程复杂性的框架。虽然“监督缺口”仍然是一个挑战,但本地优先、开源的开源方式确保了开发者可以保持对代码和流程的控制权。

Sources