任务系统
任务系统帮助 Claude Code 在复杂任务中保持组织性和可追踪性。
核心概念
任务系统由以下工具组成:
| 工具 | 功能 |
|---|---|
TaskCreate | 创建新任务 |
TaskUpdate | 更新任务状态 |
TaskGet | 获取任务详情 |
TaskList | 列出所有任务 |
TaskStop | 停止运行中的任务 |
任务状态流
pending → in_progress → completed
↓
deleted
任务结构
interface Task {
id: string; // 任务 ID
subject: string; // 简短标题(祈使句)
description: string; // 详细描述
status: TaskStatus; // 状态
activeForm?: string; // 进行中时的显示文本
owner?: string; // 所有者(Agent 名称)
metadata?: Record<string, any>; // 自定义元数据
blocks?: string[]; // 阻塞的任务 ID
blockedBy?: string[]; // 被阻塞的任务 ID
}
使用时机
应该使用任务系统的场景:
- 需要 3 步以上的复杂任务
- 需要计划和跟踪进度的任务
- 多 Agent 协作时分配工作
- 用户明确要求使用任务列表
不需要任务系统的场景:
- 单一、简单的任务
- 3 步以内的小任务
- 纯对话性质的交互
任务依赖
任务之间可以建立依赖关系:
Task #1: 设计数据库 Schema
Task #2: 实现 API 端点 (blockedBy: #1)
Task #3: 编写前端组件 (blockedBy: #2)
Task #4: 编写测试 (blockedBy: #2)
任务 #2 必须等任务 #1 完成后才能开始。任务 #3 和 #4 可以在 #2 完成后并行进行。
与其他系统的区别
| 系统 | 生命周期 | 用途 |
|---|---|---|
| 任务系统 | 当前会话 | 追踪工作进度 |
| 记忆系统 | 跨会话持久 | 保存长期知识 |
| 计划模式 | 当前会话 | 设计实施方案 |