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 结束前检查方案是否包含影响文件、风险、回滚方式和测试命令;缺任何一项都不应进入实现。

接下来去哪

官方来源

本页目录