Tasks(任務管理)

Claude Code 內建的任務分解 + 進度追蹤機制。把大需求拆成 N 個 task,逐一 in_progress → completed,並可保留依賴關係。

上線時間

2026/01/22。

核心 API

動作用途
TaskList列出所有任務
TaskGet看單一任務細節
TaskCreate建任務(支援 blockedBy 依賴)
TaskUpdate改狀態 / 內容 / owner
TaskStop終止

狀態流轉

pending → in_progress → completed
                         ↓
                       deleted(取消)

重要原則(文章引用):「只能在真正完成時才標 completed」——不可在部分完成、有錯、有阻塞時標完成。

任務依賴(blockedBy)

Task #5(部署)blocks ← Task #4(跑測試)
                       ← Task #3(程式合併)

→ Task #5 在 #3、#4 都 completed 前不能開始。

為什麼要有 Tasks 而不只是 todo list?

文章作者指出三個價值:

  1. 避免遺忘:長對話中 task 不會被擠出上下文
  2. 可恢復:對話中斷重啟後 Claude 從 TaskList 重新接上
  3. 進度可視化:使用者一眼看到「做到哪了」

範例:PAM 重構任務

TaskCreate "拆出 GradingService" → in_progress
  ├─ TaskCreate "抽出 CalcGrade 方法"
  ├─ TaskCreate "抽出 ComputeScoreD"
  ├─ TaskCreate "改 HrController 呼叫"
  └─ TaskCreate "改 ReviewController 呼叫"

TaskCreate "跑全部測試" blockedBy 上述 4 個

TaskCreate "更新 CLAUDE.md" blockedBy "跑全部測試"

→ Claude 一個個跑,跑完才能進入下一個。

Sub-agents 的差異

TasksSub-agents
本質任務追蹤項獨立 agent 實例
執行主 Claude 自己跑派工到別個 agent
隔離共用上下文獨立上下文
適合順序工作探索/驗證/測試

→ 大型重構:用 Tasks 規劃 + 用 Sub-agents 執行。

Agent Teams 的關係

Agent Teams 是「多 agent 協作」,每個 team 成員可以管自己的 task list。

對 Vincent 工作場景

PAM bug 修復流程

Task #1:重現 bug(測試案例)
Task #2:定位根因(grep + 讀 code)
Task #3:修復 + 加單元測試 [blockedBy #2]
Task #4:跑全部 223 筆測試 [blockedBy #3]
Task #5:更新 CLAUDE.md(如有規則調整)[blockedBy #4]
Task #6:commit + push [blockedBy #4]

多需求並行

Task A1:重構 ExcelService
Task B1:加 ExcludedCandidates 候選池
Task C1:HrController 拆 partial

→ 每個獨立追蹤,不會混在一起。

限制

  • task 太細 → 變成噪音
  • 建議:1 個 task 對應「半天的工作」尺度
  • 任務描述要寫得 Claude 一看就懂在做什麼

相關概念

強連結(原文明確提及)

推斷連結(LLM 認為相關,待確認)

← 回到 wiki