博客

别再手动更新任务看板了:让智能体自己移动卡片

不用拖卡片也能让任务看板保持真实:干活的 AI 智能体在开始和完成时自己移动每个任务,你只负责做决定。

Weft 是为独立创业者和小团队打造的 AI 任务管理工具。

全部文章

作者: Andrei Finogeev ·

当干活的智能体在干活的同时就把卡片移好了,你就不用再手动更新任务看板了。在 Weft 里,start_task 把任务放进 Doing,report_progress 在智能体干活期间维持认领,complete_task 把它移到 Done;如果任务需要你审阅,就移到你的收件箱。你不再是那个负责让状态保持真实的人,而是那个做决定的人。

Weft 是我们做的。关于其他产品的事实来自它们的官方页面,核对于 2026年10月27日。

为什么每块任务看板最后都会过时?

更新状态是一份没人给钱的副业。正事是写代码、发账单、修页面。移动卡片是额外开销,而且偏偏出现在你想赶紧往下走的时候。

于是卡片总是事后、成批、凭记忆去挪。到了周四,Doing 里有三件没人在做的事,Todo 里有一件周一就已经上线的事。大家不再信任看板,转去翻聊天记录,看板就成了上周的一张快照。

AI 智能体让情况更糟。一个智能体一个下午就能做完五个任务,如果你还得自己一张张拖卡片,那你就是在给一个更快的员工打杂。

解决办法是事后清理,还是事前预防?

自动化看板有两种方式。事后清理是任由状态跑偏,再用 AI 来理顺。Hypertask 的文章 Stop Manually Updating Your Task Board 走的就是这条路:它介绍了一个 AI Triage 按钮,会读取你的收件箱,把每一项标为“可以安全归档”或“需要你处理”,在你批准后归档第一类。如果你的痛点是潮水般的评论和提醒,这是个合理的工具,而且 Hypertask 有为此内置的 AI。Weft 没有内置 AI,也没有通知分拣。

事前预防是另一条路:状态从一开始就不会出错,因为改状态不是一个单独的步骤。智能体不认领卡片就没法开工,不关闭卡片就没法收工。事后没有东西要分拣,因为卡片已经说明了发生了什么。

我们选择了预防。一块需要定期清理的看板,在两次清理之间都是错的。

智能体怎么在干活的同时移动卡片?

Weft 通过 Model Context Protocol 在 https://letsweft.com/api/mcp 连接你的 AI 客户端。客户端在浏览器里用 OAuth 登录,没有密钥要复制。四个工具调用承载了一个任务从开始到结束的状态:

  1. start_task 认领任务并把它移到 Doing。认领是一个 20 分钟的租约。如果第二个智能体尝试同一个任务,它会收到 already_claimed,并被告知不要重复劳动。
  2. report_progress 是心跳。每次调用都会续租,响应里会告诉智能体每 5 分钟续一次。如果智能体崩溃或对话被关掉,心跳就停了,租约在 20 分钟后过期,任务被释放,谁都可以接。沉默也是一种状态。
  3. request_input 带着选项向你提问,同时智能体保留认领。问题会进入你的收件箱,并可以以推送通知的形式发到你的手机上。
  4. complete_task 记录结果、证明结果的产物(URL、提交、文件哈希)、没做的部分、仍然未知的部分,以及下一步。默认情况下,任务直接移到 Done。如果任务被标记为需要审阅,或验证检查没通过,它会停在你的收件箱里。

智能体不需要记着去更新什么,因为更新就是它干活时发出的那个调用。租约和回执的完整机制,见认领循环指南。

坦白说有一个限制:Weft 从不主动调用智能体。只有当你和智能体在一个会话里时,它才会通过 get_my_work 或 start_task 拉取工作。卡片会动,是因为你在运行的智能体移动了它们,而不是因为 Weft 在监视你的仓库。Weft 没有 GitHub 或 Slack 同步,也没有 webhook,所以在智能体会话之外合并的 pull request 不会自己移动卡片。

手动看板和智能体移动的看板放在一起是什么样?

手动看板智能体移动的看板(Weft)
谁移动卡片你,或者谁记得谁动干活的智能体,通过 start_task 和 complete_task。你仍然可以自己拖卡片
状态什么时候变事后、成批、凭记忆在工作开始和结束的那一刻。20 分钟没有心跳的认领会过期,任务被释放
Doing 意味着什么曾经有人开始过这件事一个具名连接的有效认领,并且它在过去 20 分钟内汇报过
Done 意味着什么有人拖了卡片一张回执:结果、产物、notDone、unknowns、下一步
你要审阅什么整块看板,为了找出变了什么只有停在你收件箱里的东西:对问题的回答,以及需要你决定的已完成工作
两个人做同一个任务两边都做完了才发现第二个智能体在开工前就收到 already_claimed
你的工作文员兼审阅者只做审阅者:接受、返工、以后再说或放弃

哪些该自动化,哪些必须留给我决定?

凡是关于工作的事实,都交给自动化:开始了、还在做、做完了、卡住了。这些智能体比你更清楚,因为干活的就是它。凡是关于工作的判断,都留给自己:这够不够好,该不该上线,这件事还值不值得做。

交给智能体留给自己
工作开始时把任务移到 Doing本周哪个任务最重要
干活期间维持认领任何不可逆的事:钱、发布、生产环境、法律
带着结果和证据关闭任务已完成的工作是接受、退回返工、推迟还是放弃
说明跳过了什么、对什么拿不准没有合理默认值的真正岔路
根据你们商定的计划创建任务计划本身

在 Weft 里,右边这一栏有两道门。当智能体在任务中途碰到一个决定时,它调用 request_input,你回答一个问题,最好是直接选一个选项。当智能体完成了需要你审阅的工作时,你会看到四个按钮:“接受”、“返工”、“以后再说”、“放弃”。选“返工”时要写一条备注。如果智能体传了下一步,你会在“接受”按钮上方看到它,所以接受批准的恰好就是这一步,不多不少。

AI 能根据一段对话把看板搭起来吗?

能,而且这是最容易的部分。在对话里描述你的项目,智能体就可以调用 initialize_board 创建四个默认列(Backlog、Todo、Doing、Done),再用 bulk_create_tasks 在一个事务里把整个计划加进去。这一批要么全部写入,要么全部不写,在你的月度额度里只算一次调用。没有指定列的任务会落到 Backlog。

Hypertask 的文章 Why We Let AI Agents Build Entire Boards 认为,交给智能体的合适单位是整个项目,而不是单个任务。我们同意智能体应该搭看板。我们不同意搭看板是难点。

搭看板很便宜:智能体几秒钟就能写出四十个任务。审阅才是真正的瓶颈。这些任务每一个总有一天都会产出需要你过目的成果,而你一天能看的就那么多。

所以 Weft 设的是注意力上限,而不是创建上限。当等你处理的东西太多时,start_task 会拒绝认领新工作,返回 attention_queue_full,并附上智能体仍然可以做的事(汇报进度、检查自己的工作、读看板)。上限是单人工作区 5 项、团队 10 项,或者预估审阅时间 45 分钟,以先到者为准。来自 request_input 的问题也计入其中,因为回答它们花的是同样的注意力。

智能体想规划多少都行,但当五件完成的事还在等你时,它没法开始第六件。

第一周该怎么安排?

先连接一个客户端。在 ChatGPT 里,Weft 是一个已发布的应用,所有方案都能用,包括免费版。在 Claude.ai 或 Claude Desktop 里,把它作为自定义连接器添加。在 Claude Code 里只需一条命令:claude mcp add --transport http weft https://letsweft.com/api/mcp(参见 Claude Code 设置页面)。然后把下面这段粘贴到对话里,改一下项目那一行:

你已经连上了我的 Weft 看板。这一周,请遵守下面的规则。

准备(今天):
1. 调用 get_board_state。如果没有列,调用 initialize_board。
2. 我的项目:[用 3-5 句话描述]。
   以清单形式提出最多 12 个任务。先给我看清单。
   我说可以之后,用一次 bulk_create_tasks 调用把它们加进去。

每次处理一个任务时:
3. 调用 get_my_work,看看哪些归你,以及我的队列还有没有余量。
4. 一开始真正动手就调用 start_task,而不是在我们
   还只是讨论的时候。保存 runId 和 leaseToken。
5. 干活期间每隔几分钟调用一次 report_progress。
6. 如果遇到该由我做的决定(钱、发布、任何
   不可逆的事,或者真正的岔路),用 2-4 个选项调用 request_input。
   不要瞎猜,也不要为“能不能继续”征求许可。
7. 用 complete_task 收尾:一行结果、我能核查的
   产物(链接、提交、文件)、notDone、unknowns 和一个 nextStep。
8. 永远不要手动把卡片移到 Done。complete_task 会做这件事。
9. 如果 start_task 返回 attention_queue_full,就别再开新活。
   告诉我有哪些东西在等我,并帮我清掉它们。

每次会话结束时,告诉我你移动了哪些卡片,以及为什么。

十二个任务是有意为之。免费方案下你有 50 个活跃任务和每月 200 次 AI 调用,而第一周的目的是学会这个循环,不是把看板填满。如果你要迁移已有的看板,Weft 在所有方案上都能导入 Linear、Jira 或 Notion 的 CSV 和 Trello 的 JSON。

这一周里,只做两件事:问题来了就回答,进到收件箱的东西就拍板。不要拖卡片。如果某张卡片放错了地方,这本身就值得知道:告诉智能体它漏了哪条规则,而不是悄悄把卡片挪回去。

到了周五,检查两件事:每张 Done 卡片上是不是都有你能打开来核查的东西?有没有哪件送到你面前的事,其实你可以提前定好?如果有,把这个默认规则写进下周的提示词里。

这方面 Weft 不做什么?

  • 它没有内置 AI。思考发生在你自己的 AI 客户端里,所以 Weft 没有 AI 点数要买,也没有分拣按钮。
  • 它不会根据外部事件移动卡片。没有 GitHub、GitLab 或 Slack 同步,没有 webhook,没有公开的 REST API。如果你的状态应该在没有智能体参与的情况下跟着提交和合并走,有这些集成的工具更合适。
  • 它不会让每个任务都等你。大多数完成的工作会带着回执直接进 Done。只有需要审阅或检查没通过的任务,才会停在你的收件箱里。

如果你同时运行好几个智能体,是认领让它们互不干扰;多个智能体共用一块看板讲的就是这种情况,我的 AI 智能体到底做了什么讲的是怎么读回执。支持 MCP 的任务管理器的更全面对比,见 MCP 任务管理器对比表。

如果卡片由智能体来移动,我怎么知道它不是把所有东西都标成完成了?
Weft 里的 Done 来自 complete_task,它会记录结果、产物、没做的部分和未知的部分。读产物,别读总结。对于你想在算数之前检查的工作,把任务标为需要审阅,它就会停在你的收件箱里,等你选择“接受”、“返工”、“以后再说”或“放弃”。
智能体做到一半崩溃了会怎样?
它不再发送 report_progress。20 分钟没有心跳,租约就会过期,任务被释放,任何人(包括另一个智能体)都可以接手。不需要你发现它崩溃了,看板就会停止声称有人在做这件事。
注意力上限会拖慢我的智能体吗?
它拖慢的是开工,不是收工。当有 5 项(团队是 10 项)或 45 分钟的审阅量在等你时,start_task 会拒绝新工作,但智能体仍然可以汇报进度、读看板。解除阻塞最快的办法,是对已经在你收件箱里的东西拍板。
能让某些智能体只读吗?
能。每个 OAuth 连接可以有 full、write 或 read 权限,在授权页面上选择,或之后在设置里修改。read 连接可以看看板,但不能移动卡片。你也可以随时断开一个客户端。
这需要付费方案吗?
不需要。整个循环在免费版上都能跑,包含 50 个活跃任务和每月 200 次 AI 调用;bulk_create_tasks 只算一次调用。Pro 每席位每月 $7 或每年 $60,没有这些上限。
这比 AI 分拣更好吗?
它解决的是另一个问题。分拣是在事后清理一堆评论和通知;如果这堆信息流就是你的问题,内置分拣的工具(比如 Hypertask)更合适。智能体移动的看板,是让你的智能体做的工作从一开始就不会状态跑偏。