name: planning-with-files description: Manus风格的文件化规划,用于复杂任务。使用task_plan.md、findings.md和progress.md来维持持久上下文。适用于多步骤任务、研究或涉及许多工具调用的工作。 version: 1.0.0 tools:
- 读取
- 写入
- 编辑
- 任务更新
- 任务列表 verified: false lastVerifiedAt: 2026-02-19T05:29:09.098Z
文件规划 - Manus风格的文件化规划
工作方式像Manus(Meta以20亿美元收购的AI代理):使用持久的Markdown文件作为你的“磁盘上的工作内存”。
核心原则
上下文窗口 = RAM(易失性,有限)
文件系统 = 磁盘(持久性,无限)
→ 任何重要内容都写入磁盘。
三文件模式
对于每个复杂任务,在项目目录中创建三个文件:
task_plan.md → 跟踪阶段和进度
findings.md → 存储研究和发现
progress.md → 会话日志和测试结果
模板可在以下位置获取: .claude/templates/planning/
何时使用此模式
适用于:
- 多步骤任务(3个步骤以上)
- 研究任务
- 构建/创建项目
- 涉及许多工具调用的任务
- 需要组织的任何内容
不适用于:
- 简单问题
- 单文件编辑
- 快速查找
关键时间规则
这些规则模拟钩子以确保正确的工作流程:
📌 任务开始时(SessionStart)
必须 首先创建所有三个文件,再进行任何其他工作:
- 使用模板创建
task_plan.md - 使用模板创建
findings.md - 使用模板创建
progress.md - 在task_plan.md中填写目标部分
原因: 没有规划文件,在50多个工具调用后你会忘记目标。
📌 在重大决策前(PreToolUse)
必须 在以下情况前重新读取 task_plan.md:
- 写入或编辑文件
- 执行命令
- 做出架构决策
- 实现功能
如何操作: 使用读取工具刷新上下文中的计划。
原因: 这保持目标在你的注意力窗口新鲜(Manus的“注意力操控”)。
📌 在文件操作后(PostToolUse)
必须 在以下情况后立即更新状态:
- 写入文件
- 编辑文件
- 完成一个任务阶段
如何操作: 编辑task_plan.md以更新阶段状态:
- **状态:** pending → in_progress → complete
原因: 跟踪进度并防止失去对已完成内容的追踪。
📌 在任务结束前(Stop)
必须 验证完成:
- 检查所有阶段标记为
complete - 审查交付物部分
- 确保没有未解决的错误
原因: 防止缺失工作的过早完成。
六条关键规则
1. 先创建计划
永远不要在没有 task_plan.md 的情况下开始复杂任务。不可协商。
## 目标
[一句话描述最终状态]
## 当前阶段
阶段 1
## 阶段
### 阶段 1:需求与发现
- [ ] 理解用户意图
- [ ] 识别约束和要求
- **状态:** in_progress
2. 两行动规则
“在每2次查看/浏览/搜索操作后,立即将关键发现保存到findings.md。”
这防止视觉/多模态信息丢失。
## 视觉/浏览发现
- 截图显示登录表单带有邮箱和密码字段
- API文档指示JSON响应格式
3. 决策前读取
在重大决策前,读取计划文件。这保持目标在你的注意力窗口。
# 在实现功能前:
读取工具 → task_plan.md
# 现在继续实现
4. 行动后更新
在完成任何阶段后:
- 标记阶段状态:
pending→in_progress→complete - 记录遇到的任何错误
- 注意创建/修改的文件
## 遇到的错误
| 错误 | 尝试次数 | 解决方案 |
| ------------------- | -------- | ------------------------ |
| FileNotFoundError | 1 | 创建了默认配置 |
5. 记录所有错误
每个错误都写入计划文件。这建立知识并防止重复。
6. 永不重复失败
if action_failed:
next_action != same_action
跟踪你尝试了什么。改变方法。
三击错误协议
尝试 1:诊断与修复
→ 仔细阅读错误
→ 识别根本原因
→ 应用针对性修复
尝试 2:替代方法
→ 相同错误?尝试不同方法
→ 不同工具?不同库?
→ 永不重复完全相同的失败行动
尝试 3:更广泛的重新思考
→ 质疑假设
→ 搜索解决方案
→ 考虑更新计划
3次失败后:升级给用户
→ 解释你尝试了什么
→ 分享具体错误
→ 请求指导
文件用途
| 文件 | 用途 | 何时更新 |
|---|---|---|
task_plan.md |
阶段、进度、决策 | 每个阶段后 |
findings.md |
研究、发现 | 任何发现后 |
progress.md |
会话日志、测试结果 | 整个会话期间 |
读取与写入决策矩阵
| 情况 | 行动 | 原因 |
|---|---|---|
| 刚刚写入文件 | 不要读取 | 内容仍在上下文中 |
| 查看图像/PDF | 立即写入发现 | 多模态 → 文本在丢失前 |
| 浏览器返回数据 | 写入文件 | 截图不持久 |
| 开始新阶段 | 读取计划/发现 | 重新定位如果上下文陈旧 |
| 错误发生 | 读取相关文件 | 需要当前状态以修复 |
| 暂停后恢复 | 读取所有规划文件 | 恢复状态 |
五问题重启测试
如果你能回答这些,你的上下文管理是稳固的:
| 问题 | 答案来源 |
|---|---|
| 我在哪里? | task_plan.md中的当前阶段 |
| 我要去哪里? | 剩余阶段 |
| 目标是什么? | 计划中的目标声明 |
| 我学到了什么? | findings.md |
| 我做了什么? | progress.md |
模板结构
task_plan.md 模板
# 任务计划:[简要描述]
## 目标
[一句话描述最终状态]
## 当前阶段
阶段 1
## 阶段
### 阶段 1:需求与发现
- [ ] 理解用户意图
- [ ] 识别约束和要求
- [ ] 在findings.md中记录发现
- **状态:** in_progress
### 阶段 2:规划与结构
- [ ] 定义技术方法
- [ ] 创建项目结构(如果需要)
- [ ] 用理由记录决策
- **状态:** pending
### 阶段 3:实现
- [ ] 按步骤执行计划
- [ ] 在执行前将代码写入文件
- [ ] 逐步测试
- **状态:** pending
### 阶段 4:测试与验证
- [ ] 验证所有要求满足
- [ ] 在progress.md中记录测试结果
- [ ] 修复发现的任何问题
- **状态:** pending
### 阶段 5:交付
- [ ] 审查所有输出文件
- [ ] 确保交付物完整
- [ ] 交付给用户
- **状态:** pending
## 关键问题
1. [要回答的问题]
2. [要回答的问题]
## 做出的决策
| 决策 | 理由 |
| ---- | ---- |
| | |
## 遇到的错误
| 错误 | 尝试次数 | 解决方案 |
| ---- | -------- | -------- |
| | 1 | |
findings.md 模板
# 发现与决策
## 要求
## <!-- 从用户请求捕获 -->
## 研究发现
## <!-- 探索期间的关键发现 -->
## 技术决策
<!-- 做出的决策及理由 -->
| 决策 | 理由 |
| ---- | ---- |
| | |
## 遇到的问题
<!-- 错误及其解决方式 -->
| 问题 | 解决方案 |
| ---- | -------- |
| | |
## 资源
## <!-- URL、文件路径、API引用 -->
## 视觉/浏览发现
## <!-- 关键:在每2次查看/浏览操作后更新 -->
progress.md 模板
# 进度日志
## 会话:[日期]
### 阶段 1:[标题]
- **状态:** in_progress
- **开始时间:** [时间戳]
- ## 采取的行动:
- ## 创建/修改的文件:
## 测试结果
| 测试 | 输入 | 预期 | 实际 | 状态 |
| ---- | ---- | ---- | ---- | ---- |
| | | | | |
## 错误日志
| 时间戳 | 错误 | 尝试次数 | 解决方案 |
| ------ | ---- | -------- | -------- |
| | | 1 | |
## 五问题重启检查
| 问题 | 答案 |
| -------------------- | -------------- |
| 我在哪里? | 阶段 X |
| 我要去哪里? | 剩余阶段 |
| 目标是什么? | [目标声明] |
| 我学到了什么? | 查看findings.md |
| 我做了什么? | 查看上方 |
反模式
| 不要 | 替代做法 |
|---|---|
| 使用TodoWrite进行持久化 | 创建task_plan.md文件 |
| 陈述一次目标后忘记 | 决策前重新读取计划 |
| 隐藏错误并静默重试 | 将错误记录到计划文件 |
| 将所有内容塞入上下文 | 存储大内容到文件 |
| 立即开始执行 | 先创建计划文件 |
| 重复失败行动 | 跟踪尝试,改变方法 |
Manus原则
| 原则 | 实现 |
|---|---|
| 文件系统作为内存 | 存储在文件,而非上下文 |
| 注意力操控 | 决策前重新读取计划 |
| 错误持久化 | 在计划文件中记录失败 |
| 目标跟踪 | 复选框显示进度 |
| 完成验证 | 在停止前检查所有阶段 |
记住: 你前期收集并写入磁盘的上下文越多,你的执行就越好。文件是你的持久内存。