微信扫码
添加专属顾问
我要投稿
Claude Code Tasks 为复杂AI编程项目带来了革命性的任务管理方式,让多会话协作变得前所未有的高效。核心内容:1. Tasks系统如何解决传统Todos的三大局限性2. 基于文件存储的任务持久化与依赖管理机制3. 实际案例展示Tasks在REST API开发中的应用效果
最近,Anthropic 为 Claude Code 带来了一项基础设施级的重要更新:全新的 Task 管理系统。它并不是对 Todos 的简单升级,而是一套面向复杂、多会话开发项目的成熟编排层。如果你一直在用 Claude Code,可能已经发现 Tasks 正在逐步替代原来的 Todos。
在 AI 编程里,Tasks 的核心思路是把复杂工作拆成一小块一小块的任务。这些任务可以保存下来、彼此关联,也能在不同会话之间继续使用。它们直接存在文件系统里,还支持依赖关系,所以多个会话或子智能体可以围绕同一件事协同工作。
这其实就是 AI 编程里的项目管理,而且已经内置在 Claude Code 中。下面我们看看它是怎么工作的。
Todos 只存在于当前会话的内存中,一旦会话结束就会丢失。在开发过程中启动的子智能体,也无法看到主会话正在跟踪的事项。
对于简单任务还能靠模型自己推理,但一旦涉及多会话、长流程的项目,就明显缺少系统性的任务管理能力。
Tasks 采用基于文件的存储方式,任务以 JSON 文件的形式保存在 ~/.claude/tasks 目录中。这一设计带来了三点关键变化:
1. 持久化存储
任务不再依赖会话内存。即使退出会话,Tasks 依然存在,因为它们本质上是系统中的真实文件。
2. 依赖关系管理
Tasks 支持显式的依赖关系定义。例如,Task B 需要在 Task A 完成后才能开始,Task C 则依赖 A 和 B。这种结构更贴近真实项目,而不是简单的待办列表。
3. 多会话协作
通过设置 CLAUDE_CODE_TASK_LIST_ID=name,多个 Claude Code 会话可以共享同一组任务。当某个会话更新任务状态时,其他会话会同步看到变化。
随着 Opus 4.5 可以运行更长时间的自主工作流,Anthropic 需要一种比会话内存中待办列表更可靠的任务管理方式。
下面用一个简单的例子看看 Tasks 是如何工作的。
Break down building a REST API with user authentication into tasks with dependencies
需求会被拆成一组有先后关系的任务。结果出来后,任务结构和依赖关系都很清楚,用来规划复杂项目特别直观,也很好用。
Tasks 以文件形式存储在 ~/.claude/tasks 目录下:
~/.claude/tasks/
└── <uuid-folder>/
├── 1.json
├── 2.json
└── ...
每个任务都是一个独立的 JSON 文件,以 UUID 命名的文件夹作为容器。
每个任务文件包含清晰的元数据:
{
"id": "1",
"subject": "Initialize project and install dependencies",
"description": "Set up project structure, package.json, and install core dependencies (express, dotenv, cors, etc.)",
"activeForm": "Initializing project",
"status": "pending",
"blocks": ["2"],
"blockedBy": []
}
关键字段说明:
pending(待处理)、in_progress(进行中)、completed(已完成)这套依赖关系是以真实文件的形式存储的,而不是保存在内存或会话中。你可以读取、解析这些文件,甚至基于它们开发自己的工具。相比之下,传统的 Todos 在关闭终端或会话时就会消失。
Claude Code 提供了四个用于任务管理的工具,每个工具对应不同的编排需求。
TaskCreate({
subject: "Implement JWT authentication middleware",
description: "Add JWT validation to API routes with refresh token support",
activeForm: "Setting up auth middleware..."
})
TaskGet({ taskId: "2" })
// 返回:描述、状态、blockedBy、blocks、所有者、时间戳
// 认领任务
TaskUpdate({ taskId: "2", owner: "security-reviewer" })
// 开始工作
TaskUpdate({ taskId: "2", status: "in_progress" })
// 标记完成
TaskUpdate({ taskId: "2", status: "completed" })
// 设置依赖
TaskUpdate({ taskId: "3", addBlockedBy: ["1", "2"] })
#1 [completed] Analyze codebase structure
#2 [in_progress] Review authentication module (owner: security-reviewer)
#3 [pending] Generate summary report [blocked by #2]
Tasks 解决了 Todos 在实际开发中长期存在的问题,使它们真正适用于复杂、长期的开发工作。
Tasks 存放在 ~/.claude/tasks 目录中。它们是系统上的真实文件,而不是临时的会话状态。即使关闭会话、重启终端,任务依然存在。由于只是普通文件,你也可以在此基础上构建自己的工具。
Todos 只是一个平面列表,任务之间没有结构。真实项目往往存在先后顺序:有的任务必须等前置任务完成后才能开始,有的则可以并行推进。Tasks 允许在任务元数据中定义这些依赖关系,更贴近实际的开发流程。
关键区别:Todos 是平面列表,Tasks 是依赖结构。
这是最关键的一点。当你同时运行多个 Claude Code 会话或子智能体时,它们可以共享同一个任务列表。任一会话对任务的更新,都会同步到使用该列表的其他会话中。
这样可以避免重复处理同一任务,也减少智能体之间的冲突。不同子智能体可以分别负责认证、数据库结构或测试,但都基于同一份任务状态协作。
在开始使用 Tasks 之前,请确认 Claude Code 已升级到 2.1.17 或以上版本。
直接让 Claude 拆任务即可:
Create tasks for building a user authentication system with JWT tokens
任务会自动按依赖关系组织,支持后续查看和更新。
要让多个会话使用同一任务列表,需要设置环境变量:
CLAUDE_CODE_TASK_LIST_ID=my-project claude
所有使用相同 ID 启动的 Claude 会话都会看到并更新同一任务列表。任何更改都会自动同步。
这同样适用于 CLI 模式:
CLAUDE_CODE_TASK_LIST_ID=my-project claude -p "Complete the next pending task"
在 Agent SDK 中也可以使用相同的任务列表 ID,以便在 Claude Code 上构建自动化工作流。
Tasks 并非适合所有情况。下面是我在实践中的一些经验总结。
Claude Code 的 Tasks 让 AI 辅助开发不再局限于一次生成代码,而是可以管理整个项目的任务流。通过依赖跟踪、子智能体协作以及跨会话持久化,使工作流从个人效率工具扩展为团队协作平台。
这不仅是功能增强,更是一种设计理念的转变:从「会话内助手」升级为「项目级管理工具」。
在下一个多步骤项目中使用 Tasks,你会发现 AI 可以理解任务依赖、跨会话保持状态,并与其他智能体协调工作,从而释放更大的潜力。
既然看到这里了,如果觉得有启发,随手点个赞、推荐、转发三连吧,你的支持是我持续分享干货的动力。
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2026-03-05
移动端里的AI,用户到底要什么?---权衡性能和体验之战
2026-03-05
谷歌发布官方 CLI,可操作所有谷歌文档
2026-03-04
1块8读完3本三体!谷歌最强性价比模型来了,OpenAI两小时后紧急跟进
2026-03-04
OpenAI 遭到狙击!Gemini 3.1 Flash 性价比暴击 GPT-5.3,国外网友狂喜
2026-03-04
Claude Code 创始人的 7 步高效工作流,编程小白也能直接抄
2026-03-04
Gemini 3.1 Flash-Lite、GPT-5.3 Instant 发布
2026-03-04
Google 发布 Gemini 3.1 Flash-Lite:每秒 363 tokens,百万 token 只要 $0.25
2026-03-04
刚刚,GPT-5.3 发布:专治「油腻」,更准确!GPT-5.4 也快了
2026-01-24
2026-01-10
2026-01-01
2026-01-26
2025-12-09
2025-12-21
2026-01-09
2026-01-09
2025-12-30
2026-01-27
2026-03-03
2026-03-01
2026-02-27
2026-02-27
2026-02-26
2026-02-24
2026-02-24
2026-02-14