Type: concept
Confidence: 0.85
Created: 2026-04-16
Updated: 2026-04-16
Tags: AI工具方法论AI工程

ExitPlanTool

概述

Claude Code 早期工具之一,用于生成执行计划。在 AskUserQuestion Tool 的设计演进中曾被尝试扩展以支持提问功能,但因设计冲突而放弃。是理解 Claude Code 工具演进历史的重要案例。

关键内容

核心功能

计划生成: - 输出任务执行的详细计划 - 可能包含步骤分解、依赖关系、资源需求等信息 - 作为 Claude Code 工作流的起点

设计演进中的角色

尝试扩展:添加提问参数

在开发 AskUserQuestion-Tool 时,曾尝试修改 ExitPlanTool:

方案: - 添加参数:在计划旁边附带一组问题数组 - 优点:最容易实现的修复方式

失败原因: 1. 职责冲突:同时要求生成计划和关于计划的问题,导致 Claude 困惑 2. 潜在矛盾:用户的回答可能与计划内容相冲突 3. 多次调用需求:可能需要调用 ExitPlanTool 两次(一次生成计划,一次根据回答调整)

结论:此路不通,需要重新设计独立的提问工具

设计启示

单一职责原则: - 工具应该专注于单一功能 - 混合职责(计划 + 提问)会导致模型困惑 - 分离关注点是更好的设计选择

工具设计难度: - 即使看似简单的扩展也可能失败 - 需要"像智能体一样观察"才能理解设计约束 - 实验和迭代是必要的

在工具演进中的位置

时间线: 1. ExitPlanTool 作为早期工具存在 2. 尝试扩展以支持提问 → 失败 3. 尝试更改输出格式 → 失败 4. 最终创建独立的 AskUserQuestion Tool

与后续工具的关系: - AskUserQuestion Tool:独立的提问工具,解决了 ExitPlanTool 无法处理的需求 - TodoWrite/Task:任务跟踪工具,可能与 ExitPlanTool 协同使用

相关设计文档

关于 ExitPlanTool 的更多设计原因,可参考 Anthropic 关于提示词缓存的文章(trq212/status/2024574133011673516)。

来源

相关