第 38 期 | `planning-with-files` 插件入门

更新于 2026/4/5

🎯 学习目标

  • 理解 planning-with-files 插件的核心作用及其在复杂任务管理中的价值。
  • 掌握 task_plan.mdfindings.mdprogress.md 这“铁三角”文件的设计理念与实际应用。
  • 学会引导 Claude 利用外部文件系统进行任务规划、进度跟踪和结果汇报,实现更透明、可控的 AI 协作。
  • 能够通过观察和修改这些文件,对 Claude 的工作流程进行干预和调试,提升 AI 代理的开发效率。

📖 核心概念讲解

38.1 planning-with-files 插件概述及其哲学

在复杂的开发任务中,人类工程师会习惯性地使用各种工具来辅助思考和管理:笔记本记录想法,TODO 列表规划步骤,日报总结进展,日志文件记录运行细节。这些外部化、结构化的信息是项目成功的关键。对于 AI 代理,尤其是像 Claude 这样强大的大语言模型,当它需要处理多步骤、长周期、需要持续记忆和自我反思的任务时,也同样需要一套机制来“外部化”它的思考过程和工作状态。

planning-with-files 插件正是为此而生。它不是一个单一的功能,而是一套设计哲学和工具集,允许 Claude 将其内部的“思维过程”和“任务状态”写入到外部文件系统中的特定 Markdown 文件。这样做有几个核心优势:

  1. 持久化记忆与上下文管理:克服 LLM 的上下文窗口限制,将关键信息存储在文件中,确保即使在多次交互或长时间任务中也能保持一致的上下文。
  2. 透明度与可解释性:将 AI 的规划、发现和进展以人类可读的格式呈现出来,让用户清楚地了解 AI 正在做什么、为什么这样做、遇到了什么问题。
  3. 可控性与可干预性:用户可以直接查看甚至修改这些文件,从而在 AI 工作过程中进行干预、纠正方向或提供新的输入,实现更精细的控制。
  4. 结构化自我反思:AI 可以通过阅读自己之前写入的文件来反思、学习和调整策略,提升任务执行的鲁棒性。

简单来说,planning-with-files 插件让 Claude 拥有了“写日记”和“写工作报告”的能力,从而能够更好地组织和管理自己的工作。

38.2 铁三角体系:task_plan.mdfindings.mdprogress.md

planning-with-files 插件通常会引导 Claude 围绕三个核心 Markdown 文件来管理项目,我们称之为“铁三角体系”:

  • task_plan.md (任务计划):

    • 用途:这是 AI 的“项目蓝图”或“待办事项清单”。Claude 在开始一项新任务之前,会首先在这里详细规划任务的分解步骤、预期目标、所需工具和可能遇到的挑战。它应该是一个结构化的、可执行的计划。
    • 内容示例
      # 任务计划:开发一个目录文件统计脚本
      
      ## 1. 理解并确认需求
      - 明确用户需求:递归遍历指定目录,统计所有文件类型及其数量。
      - 确认输出格式:以表格形式展示,包含文件类型和计数。
      
      ## 2. 环境准备与工具选择
      - 确认 Python 版本 (假设 Python 3.9+)
      - 确认所需库:`os` 模块(内置)
      - 编写脚本文件:`file_counter.py`
      
      ## 3. 核心逻辑实现
      ### 3.1 遍历目录
      - 使用 `os.walk()` 递归遍历。
      - 过滤出文件,忽略目录。
      ### 3.2 提取文件类型
      - 使用 `os.path.splitext()` 获取文件扩展名。
      - 处理无扩展名文件(例如 `.gitkeep` 或无后缀文件)。
      ### 3.3 统计数量
      - 使用字典存储文件类型和对应的计数。
      
      ## 4. 结果输出
      - 格式化输出为 Markdown 表格。
      - 考虑错误处理:目录不存在等。
      
      ## 5. 测试与验证
      - 创建一个测试目录结构。
      - 运行脚本并验证输出是否正确。
      
    • 何时使用:任务开始时,或任务方向需要调整时。
  • findings.md (发现与洞察):

    • 用途:这是 AI 的“研究日志”或“发现笔记”。在执行任务过程中,Claude 会将所有的观察结果、命令输出、错误信息、关键数据点、遇到的问题以及由此产生的洞察记录在这里。它是一个时间序列的、非结构化但有用的信息流。

    • 内容示例

      # 任务发现日志
      
      ## 2023-10-27 10:30:00 - 开始任务,创建测试目录
      ```bash
      mkdir -p test_dir/sub_dir
      touch test_dir/file1.txt test_dir/file2.json test_dir/sub_dir/file3.py
      touch test_dir/no_ext
      ls -R test_dir
      
      test_dir:
      file1.txt   file2.json  no_ext  sub_dir
      test_dir/sub_dir:
      file3.py
      

      2023-10-27 10:45:15 - 初步脚本运行结果

      • 编写了 file_counter.py 初版。
      • 运行脚本时发现 os.path.splitext 对于 no_ext 文件会返回 ('', '.no_ext')('no_ext', ''),需要处理空扩展名的情况。
      • 发现 os.path.splitext 返回的是 (root, ext),其中 ext 包含 .。在统计时需要去除 .

      2023-10-27 11:05:30 - 处理空扩展名和点号

      • 已修改脚本,将 no_ext 识别为 (无扩展名)
      • 已修改脚本,确保扩展名统计时去除前导 .
      
      
    • 何时使用:执行命令后、遇到错误时、获取到重要信息时。

  • progress.md (任务进展):

    • 用途:这是 AI 的“状态报告”或“每日站会更新”。Claude 会定期或在完成阶段性工作后,在这里总结当前任务的进展、已完成的步骤、下一步计划、遇到的障碍以及需要用户协助的地方。它是一个高层次的、结构化的状态更新。
    • 内容示例
      # 任务进展报告
      
      ## 当前状态:进行中
      
      ## 已完成工作
      - [x] 理解并确认用户需求。
      - [x] 搭建测试目录环境。
      - [x] 完成 `file_counter.py` 脚本的核心逻辑编写,包括目录遍历、文件类型提取和计数。
      - [x] 处理了无扩展名文件和扩展名前导点的问题。
      
      ## 下一步计划
      - [ ] 完善错误处理机制(例如,目标目录不存在)。
      - [ ] 编写详细的测试用例并全面验证脚本功能。
      - [ ] 优化输出格式,确保 Markdown 表格美观且易读。
      
      ## 遇到的问题/障碍
      - 暂无重大障碍,进展顺利。
      
      ## 需要用户协助
      - 暂无。
      
    • 何时使用:阶段性工作完成时,或用户请求状态更新时。

铁三角互动流程示意图:

       用户需求 (Prompt)
             |
             v
   +-----------------------+
   | Claude (AI 代理)      |
   +-----------------------+
     | (1. 规划)            ^ (5. 反思/调整)
     v                      |
+------------------------------------------------+
| 文件系统 (持久化记忆)                          |
|                                                |
|   +------------------+    +------------------+ |
|   | task_plan.md     |<-->| findings.md      | |
|   | (任务蓝图/待办)  |    | (发现/日志/洞察) | |
|   +------------------+    +------------------+ |
|         ^ |                     ^ |            |
|         | v (2. 执行)           | v (3. 记录)  |
|   +------------------+    +------------------+ |
|   | progress.md      |<-->| (工具执行/bash)  | |
|   | (状态报告/更新)  |    | (外部环境交互)   | |
|   +------------------+    +------------------+ |
+------------------------------------------------+
             | (4. 汇报)
             v
       Claude 回应用户

通过这三个文件,Claude 能够像一个有条不紊的工程师一样,将自己的工作分解、记录和汇报,极大地提升了其处理复杂任务的能力。


💻 模拟 Claude TUI 交互

以下是使用 planning-with-files 插件时,Claude 在终端(TUI)中的典型交互流程。

场景一:初始化任务并生成计划

用户请求 Claude 帮助编写一个简单的 Python 脚本,用于统计目录中的文件类型。

> 你好 Claude,请帮我编写一个 Python 脚本,它能递归遍历指定目录,统计所有文件类型(例如 `.txt`, `.py`, `.json` 等)的数量,并以 Markdown 表格的形式输出统计结果。

╭─ Claude ────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│  好的,这是一个有趣且实用的任务。为了确保我们能高效地完成,我将使用 `planning-with-files` 插件来为你规划整个开发过程。  │
│  我将首先创建一个 `task_plan.md` 文件来详细列出我将采取的步骤。                                                         │
│                                                                                                                       │
│  **Thinking:**                                                                                                        │
│  我需要创建一个 `task_plan.md` 文件,其中包含:                                                                       │
│  1. 理解需求:确认输入(目录路径),输出(Markdown 表格),核心逻辑(递归遍历,文件类型提取,计数)。                │
│  2. 环境设置:Python 脚本文件 `file_counter.py`。                                                                    │
│  3. 核心功能实现:`os.walk` 遍历,`os.path.splitext` 提取扩展名,字典计数。                                         │
│  4. 结果输出:格式化为 Markdown 表格。                                                                               │
│  5. 测试与验证:创建测试目录,运行脚本,验证结果。                                                                    │
│  6. 错误处理:考虑目录不存在等情况。                                                                                   │
│                                                                                                                       │
│  **Tool Call:**                                                                                                       │
│  `write_file`({                                                                                                       │
│      "path": "task_plan.md",                                                                                          │
│      "content": "# 任务计划:开发一个目录文件统计脚本\n\n## 1. 理解并确认需求\n- 明确用户需求:递归遍历指定目录,统计所有文件类型及其数量。\n- 确认输出格式:以表格形式展示,包含文件类型和计数。\n\n## 2. 环境准备与工具选择\n- 确认 Python 版本 (假设 Python 3.9+)\n- 确认所需库:`os` 模块(内置)\n- 编写脚本文件:`file_counter.py`\n\n## 3. 核心逻辑实现\n### 3.1 遍历目录\n- 使用 `os.walk()` 递归遍历。\n- 过滤出文件,忽略目录。\n### 3.2 提取文件类型\n- 使用 `os.path.splitext()` 获取文件扩展名。\n- 处理无扩展名文件(例如 `.gitkeep` 或无后缀文件)。\n### 3.3 统计数量\n- 使用字典存储文件类型和对应的计数。\n\n## 4. 结果输出\n- 格式化输出为 Markdown 表格。\n- 考虑错误处理:目录不存在等。\n\n## 5. 测试与验证\n- 创建一个测试目录结构。\n- 运行脚本并验证输出是否正确。\n"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
> ls -R

╭─ Claude ────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ ls -R will list the files in the directory. │ │ │ │ Tool Call: │ │ execute_bash({ │ │ "command": "ls -R" │ │ }) │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

```bash
> ls -R
.
task_plan.md

╭─ Claude ────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 好的,我已成功创建了 task_plan.md 文件。请你阅读这个计划,看看是否符合你的预期,或者是否有需要调整的地方。 │ │ 当你准备好让我开始执行时,请告诉我。 │ ╰───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯


### 场景二:执行计划并记录发现

用户确认计划后,Claude 开始执行,并在此过程中记录发现。

计划看起来很棒,请开始执行吧!

╭─ Claude ────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮ │ 好的,我将按照 task_plan.md 中的计划开始执行。首先,我将创建测试目录结构,并把相关操作和结果记录到 findings.md。│ │ 同时,我也会更新 progress.md 来反映当前的进展。 │ │ │ │ Thinking: │ │ 1. 根据 task_plan.md 的步骤 5,创建测试目录。 │ │ 2. 将创建目录的命令和 ls -R 的输出记录到 findings.md。 │ │ 3. 更新 progress.md,标记“创建测试目录环境”已