TaskCreateTool:创建任务
2026/8/2 15:32:11 · 来源
#claude-code#best-practices#tool-architecture#task-management#task-object
本文讲解了 Claude Code 中 TaskCreateTool 如何将待办事项从简单文本升级为包含状态、依赖和元数据的正式运行时任务对象,揭示了其内部调用链与关键源码。
它把待办项升级成正式任务对象
TaskCreateTool 不是简单往列表里插一行文本,而是把一个工作项创建成正式任务对象:
- 有
id - 有
subject - 有
description - 有状态
- 可被后续更新、阻塞、归属
这说明 Claude Code 的任务系统已经不是展示层小功能,而是真正的运行时对象系统。
关键源码
const taskId = await createTask(getTaskListId(), {
subject,
description,
activeForm,
status: 'pending',
owner: undefined,
blocks: [],
blockedBy: [],
metadata,
})
随后它还会执行 hook:
const generator = executeTaskCreatedHooks(...)
调用链
模型拆出正式任务 > TaskCreateTool > createTask 写入存储 > 执行 task hooks > UI 展开任务视图
小结
TaskCreateTool 代表的是 Claude Code 从“todo 文本”到“正式任务对象”的那一步。
学习地图
学习路径:掌握 Claude Code 的任务系统
阶段一——概念认知(15 min)
- 了解 todo 文本 vs 正式任务对象的区别
- 理解任务属性:subject、description、status、owner、blocks
- 认识 task hooks 机制的概念与作用
阶段二——源码研读(30 min)
- 阅读 TaskCreateTool 的完整实现代码
- 追踪 createTask → 写入存储 → hooks 执行的调用链
- 分析 UI 如何消费任务对象并展开视图
阶段三——动手实践(60 min)
- 使用 Claude Code 执行一个复杂任务创建流程
- 观察任务从创建到渲染的全链路表现
- 尝试通过 API 或 CLI 操作任务的更新与状态流转
阶段四——进阶扩展(可选)
- 自定义 taskCreatedHooks 的行为
- 将外部系统集成到任务生命周期中
动手实践——分步指南
- 安装并启动 Claude Code:打开终端,运行
claude命令进入交互界面。 - 尝试发送一个需要多步拆解的需求,例如让模型生成一份项目结构图,观察模型自动将子事项拆分成正式任务的响应。
- 查看已创建任务的详细信息,对比简单文本待办与任务对象在数据结构上的差异(id、status、blocks 等字段)。
- 对已有任务执行状态更新操作,例如要求 Claude Code 将某任务标记为完成或调整其优先级。
- 阅读 TaskCreateTool 的源码文件:进入项目目录后,使用
cat命令查看src/TaskCreateTool.ts(或对应路径),重点关注 createTask 和 executeTaskCreatedHooks 两个关键调用。 - 在你的开发环境中通过 API(如 via MCP 或 SDK)手动构造一个任务对象,测试其能否被 Claude Code 正常消费。
三大推荐资源
- 1Anthropic Claude Code 官方文档
Claude Code 的权威参考文档,涵盖工具链、任务系统和工作流配置。
https://docs.anthropic.com/en/docs/claude-code/overview
- 2
- 3Anthropic Claude Code GitHub 仓库
Claude Code 相关工具的开源仓库,可深入查看 TaskCreateTool 等内置工具的实现源码。
https://github.com/anthropics/anthropic-tools
链接由 AI 推荐——使用前建议快速核实。