AI 程式設計教程中文版
官方教程中文版工具與 MCP

Todos / Planning 工具

Gemini CLI todos 和 planning 工具的用途:拆解複雜任務、跟蹤進度、避免長任務失控。

Todos 和 planning 工具適合長任務。它們讓 Gemini CLI 不只是一步一步猜,而是把任務拆開、標記狀態、按計劃執行。

Todo 是執行透明度,Plan 是風險控制。不要用一串 todo 代替執行前方案審查。

這兩類能力不是同一件事:write_todos 是當前會話裡的進度清單;Plan Mode 是安全的只讀規劃階段。前者管理執行透明度,後者管理風險。

適合場景

  • 多檔案重構。
  • 修多個測試失敗。
  • 遷移依賴。
  • 寫一組文件。
  • 接 MCP 或 GitHub Action。

Todos 怎麼用

write_todos 維護完整 todo 陣列,每項有 descriptionstatus。狀態包括 pendingin_progresscompletedcancelledblocked,同一時間只能有一個 in_progress。使用者可以用 Ctrl+T 檢視完整列表。

官方 todo 狀態只屬於當前會話,不是專案管理系統。它適合讓使用者看到 agent 現在做到了哪一步,但不能代替 GitHub issue、專案計劃文件或任務交接記錄。

好的 todo 應該具體

读 package.json 和 tsconfig
定位 auth 相关文件
列出修改计划
只修改 login handler
跑 auth 单测
总结 diff 和风险

不好的 todo

优化项目
修所有问题
让代码更好

Planning 怎麼用

Plan Mode 透過 enter_plan_mode 進入,Gemini CLI 會切到只讀的 PLAN approval mode。適合先讀程式碼、理解風險、形成方案。完成方案後,exit_plan_mode 會提交一個 Markdown plan 給使用者正式稽核;使用者批准後才切回可執行模式。

exit_plan_mode 要求 plan 檔案在專案臨時 plans 目錄裡,並且檔案存在、有內容。它不是“隨便說我計劃好了”,而是把計劃變成可審閱產物。

enter_plan_mode 會把 approval mode 切到 PLAN,並限制 agent 使用只讀工具;它不適用於 YOLO 模式。exit_plan_mode 會把最終 Markdown plan 提交給使用者確認,使用者批准後才切回 DEFAULTAUTO_EDIT 這類執行模式。

使用邊界

小任務不需要複雜 planning;直接執行更快。多檔案修改、高風險許可權、生產釋出、批次刪除、跨模組遷移則應該先計劃。計劃階段不要寫檔案或跑破壞性命令,除非使用者明確批准。

狀態應該怎麼用常見問題
pending等待執行的具體步驟條目太大,無法判斷進度
in_progress當前唯一正在做的步驟同時多個進行中
completed已完成且可驗證沒跑驗證就標完成
blocked需要外部輸入或環境修復明明可繼續卻假裝阻塞
cancelled明確不再執行不說明取消原因

好的 todo 應該能讓旁觀者理解當前任務卡在哪一步。計劃則應該能讓使用者在執行前判斷是否批准。

商業專案用法

對教程站、文件批次補齊、跨目錄改版這類長任務,todo 必須覆蓋“盤點、補源、改文、驗證、提交”五個階段。每個階段完成後再更新狀態,不要最後一次性標完成。

Plan Mode 更適合高風險動作:批次刪除、公開發布、許可權調整、生產指令碼、跨儲存庫同步。計劃裡至少寫清影響檔案、命令、回復方式、斷點風險和驗收方式。沒有這些內容,使用者無法判斷是否應該批准執行。

驗收方式

長任務開始後檢查 todo 是否覆蓋“讀取、定位、修改、驗證、總結”五類動作。Plan Mode 結束前檢查方案是否包含影響檔案、風險、回復方式和測試命令;缺任何一項都不應進入實現。

接下來去哪

官方來源

本頁目錄