Claude Code 升级: Todos升级Tasks

0 评论 267 浏览 0 收藏 10 分钟

Claude Code 迎来重磅更新,Todos 进化为 Tasks!这次升级不仅是名称变更,更带来了跨会话协作、任务依赖管理和实时状态同步三大核心能力。随着 Opus 4.5 模型能力的提升,Anthropic 大胆砍掉了 TodoWrite 工具,同时为复杂工程项目设计了更强大的任务管理系统。本文将深度解析 Tasks 如何解决工程协作中的关键痛点,帮助开发者真正实现 AI 协同开发。

昨天 Claude Code 官方人员 Thariq 发了条更新,我第一反应是:”又改名字了?”

打开一看,这次不是简单的改名——Todos 升级,取而代之的是 Tasks 了。

核心变化:Tasks 可以跨 session、跨 subagent 协作,多个 Claude 实例可以同时操作同一个任务列表。

刚开始我看到这个,心里还挺纳闷的:不就是从 todo 改成 task 吗?能有多大区别?

但仔细看完 Thariq 的解释,我发现这事儿没那么简单。

为什么要改

两个原因,都是工程现实。

第一,Opus 4.5 变强了

官方用了一个词:unhobble,给Claude「解绑」。

模型能力在增长,最重要的事是让 Claude 能有效使用这些新能力。具体来说,Opus 4.5 相比之前的模型,能自主运行更长时间,也能更好地追踪自己的状态。

所以 TodoWrite Tool 已经没必要了,Claude 对小任务已经能自己记住该干什么。

模型能力变强,工具反而要做减法。

这个设计思路挺有意思的。Claude 3.5 Sonnet 那个时代,模型能力有限,你还得靠 TodoWrite 这种工具帮它”记住”自己该干什么。就像小时候骑自行车,你得有辅助轮。现在 Opus 4.5 长大了,辅助轮反而成了累赘。

去掉 TodoWrite,本质上是对模型能力的信任。

但我有个疑问:去掉 TodoWrite 后,小任务确实可以靠模型自己记,但复杂项目怎么办?如果一个项目有几十个任务,模型自己记不住,以前用 Todos,现在用 Tasks,区别到底在哪?

第二,项目变复杂了

Anthropic 内部发现自己在用 Claude Code 做更长的项目,有时候要跨多个 subagent、多个 context window、多个 session。

但项目是复杂的,任务之间有依赖关系,有 blocker,需要协调。Todos 不够用了。

Tasks 能做什么

三个关键能力,解决三个痛点。

1. 依赖关系:任务终于有”先后顺序”

Tasks 之间可以设置依赖,存在 metadata 里。

这对工程推进很关键:先做哪个、后做哪个,卡在哪儿,一眼清楚。

举个真实场景:你要实现一个用户认证功能。

Task 1:梳理现有工程结构

Task 2:定义接口与数据结构(依赖 Task 1)

Task 3:实现主流程(依赖 Task 2)

Task 4:补齐单测/回归用例(依赖 Task 3)

Task 5:文档与使用说明(依赖 Task 3)

以前用 Todos,你只能把 5 条 todo 列出来,它们之间的依赖关系全靠你脑子里记。Claude 不知道 Task 3 必须等 Task 2 做完,它可能一上来就想写测试。

现在 Tasks 能表达依赖,Claude 就知道推进路径了。

以前每个项目的依赖关系都在脑子里,项目一多就容易乱。现在让 Tasks 来管理,清晰多了。

2. 文件系统存储:任务从”聊天记录”变成”项目状态”

Tasks 存在~/.claude/tasks,多个 subagent 或 session 可以读写同一份数据。

这意味着你不是在某个对话里”临时记事”,而是在维护一份可持续的工程状态。

这个设计的精妙之处在于:任务不再是”某个 Claude instance 的记忆”,而是”项目本身的状态”。

类比一下:以前 Todos 就像你在笔记本上随手记的备忘,一旦笔记本丢了,信息就丢了。现在 Tasks 就像 git 仓库——每个 session 都能访问同一份数据,而且有历史记录。

我也遇到过这种尴尬:某个 Claude session 崩溃或者超时了,里面的 Todos 全丢了。现在 Tasks 存在文件系统,不用担心丢失。

这也意味着你可以在 Tasks 之上造自己的工具。官方说得很直白:”既然存本地,就可以在上面构建自己的工具。”

比如:

导出成 Markdown,当日报告直接生成

做个小脚本统计 blocker 和停留时长

同步到你常用的看板工具

3. 实时广播:多个 Claude 不再各干各的

一个 session 更新了 Task,所有正在操作同一个 Task List 的 session 都会收到更新。

这就是并行协作的基础:减少重复劳动,减少信息不同步。

想象一下:

Session A 在修改认证模块

Session B 在写测试用例

A 完成了某个 task,标记为”done”。B 立刻就能看到这个状态变化,知道可以开始依赖这个 task 的下一步了。

以前得靠你手动去两个窗口喊:”A 做完了!”现在 Tasks 自动广播。

这个功能对远程团队或者一个人开多个 session 协同工作来说,价值很大。我之前试过开 5 个 Claude Code,但总觉得它们在”各自为政”。现在有了 Tasks 的实时广播,才能真正协同起来。

怎么用

直接让 Claude 创建 tasks 就行。

启动 subagent 的时候特别有用。

如果想让多个 session 协作同一个 Task List,设置环境变量:

CLAUDE_CODE_TASK_LIST_ID=groceries claude

groceries只是示例。你真实用法应该更像:

CLAUDE_CODE_TASK_LIST_ID=refactor-auth-service claudeCLAUDE_CODE_TASK_LIST_ID=ship-feature-x claude

其他

Thariq 提到他们从社区项目 Beads 获得了启发,这个项目的作者是 Steve Yegge。

如果你对任务管理系统的底层设计感兴趣,Beads 是个很好的参考。它填补了”无状态的模型”与”有状态的复杂工程”之间的鸿沟,让 AI 能够像 RPG 游戏里的角色查看”任务日志”一样,随时知道主线任务走到了哪一步。

Steve Yegge 这个人挺有意思的。如果你不知道他是谁,建议去翻翻十几年前他在 Google 和 Amazon 之间那篇著名的”平台论”檄文。这哥们是典型的工具链狂魔,他出手改动这一层。

收个尾

看完这个更新,我心里有个判断:Todos 时代,你拿 Claude 当”高级补全”;Tasks 时代,你可以开始把它当成”可协作推进的工程角色”。

这个区分挺重要的。

如果只是补全代码,Cursor、Windsurf 这些工具已经够好用了。但如果是要”做项目”——从需求到实现到测试到部署,这个长周期任务,Claude Code + Tasks 才是为这个场景设计的。

这次升级最核心的价值是:把工程最痛的地方补上了——依赖、状态、同步。

你如果愿意按上面这套工作流跑一遍,会明显感觉到:项目推进更稳了,返工更少了,最关键的是——不容易烂尾。

本文由 @Ashcjka 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!