到你了
讲一件我们自己看板上的小事。自从大部分活由 AI 助手来做,它就变了样。
以前一个 feature 在 In Progress 里待上一两天,某个人在写它。现在它先在 In Progress 里由写代码的 agent 做,再进 In Review 由审代码的 agent 读 PR,审出问题回到 writer 改一轮,再进 In Review,然后终于轮到我们中的一个真的去看那个 PR。之后它等 agent 部署到 staging,等我们在 staging 上点一圈,再等 agent 部署到 production。
每一步都是一个状态。看板把它们全都显示出来了。但没有一列能回答我们打开看板时的那个问题:有没有什么在等我?
列是一条时间线,agent 不按直线走
issue 追踪器是为人把活交给人而设计的。状态列从左到右读起来像时间线,对人组成的团队这是对的:issue 基本一直向右走,「In Progress」意味着某位同事手上有它。

有了 agent,同一篇 issue 会来回弹。agent、agent、你、agent、你、agent、完成。步骤每小时都在变,而时间线上的位置几乎说不清你能不能去吃午饭。看看板变成了扫描:这九个状态里,哪几个是指我的?
Linear for Agents 和 GitHub 的 Copilot coding agent 把 agent 显示成 assignee 或者 PR 的作者,这有帮助。Jira 让你随便画流程,也有帮助。但在它们所有人那里,你要找的那件事,仍然是从状态名里猜出来的。
第二条轴
Bonsai 的看板现在有一条内置的轴,叫 Turn。任何时候,每篇 issue 都恰好处在四个之一:
| Turn | 含义 |
|---|---|
| Todo | 还没有人在动它 |
| Agent’s turn | 有 agent 在做,或者马上要派 |
| Your turn | 在等人 |
| Closed | 没有人需要再看 |
看板按 Turn 分组,Your turn 是最左边那一列。打开一个项目,屏幕上第一样东西就是你的收件箱。旁边是 agent 此刻正在做的事。左边那列空了,你就是自由的。

状态并没有消失。它们仍然由你定义,想要几个就几个,想叫什么就叫什么。只是每一个都属于某个 Turn。我们内置的 Feature 类型是这样的:
| Turn | 状态 |
|---|---|
| Todo | Backlog、Blocked、Ready |
| Agent’s turn | Developing、Reviewing、Revising、Deploying to Staging、Deploying to Production |
| Your turn | Review PR、Verify Staging、Needs Decision |
| Closed | Done、Canceled、Duplicate |
顺着走一遍,一个 feature 的 Turn 翻转六次:Developing、Reviewing、Review PR、Deploying to Staging、Verify Staging、Deploying to Production、Done。这种来回不是要藏起来的毛病,它就是工作真实的形状,看板终于把它画出来了。
为什么四个是固定的
每个状态都能改名。四个 Turn 不能改名,也不能加第五个。
这是故意的。这四个词是其他一切达成一致的基础。派发器知道 Agent’s turn 里的状态有一个角色要派。角色笔记里可以写一句「做完交回给人」,它只有一个意思:改到 Your turn 里的某个状态。看板知道哪一列是收件箱。如果这条轴可以编辑,每个项目都会把它改得稍微不一样,上面这些就都不成立了。
状态承载流程,Turn 承载注意力。把这两件事分开,就是全部的想法。
用起来是什么感觉
主要是更安静了。看板不再是一串要解码的状态,而是两个问题对应两列:他们需要我做什么,他们正在做什么。其余的都可以在右边等着。
Turn 正在上到 Bonsai 的 issue 看板,和把 issue 从一个 agent 交到下一个 agent 的自动化引擎一起。如果你在 waitlist 上,进来的时候就会看到它。