跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言AI

Planning with Files:基于文件的 AI 代理规划工作流实践

介绍 Planning with Files 插件,通过 task_plan.md、findings.md、progress.md 三个文件将 AI 代理的任务规划、发现与进度持久化到文件系统,解决长任务中上下文丢失和目标漂移问题。结合 Hooks 机制强制校验状态,支持会话恢复,适用于复杂多步骤的 AI 开发或调研任务。

未来可期发布于 2026/3/30更新于 2026/7/2547 浏览
Planning with Files:基于文件的 AI 代理规划工作流实践

Planning with Files:基于文件的 AI 代理规划工作流实践

1. 把规划写进文件:让 AI 代理不再失忆

项目地址:https://github.com/OthmanAdi/planning-with-files

简介:一个将任务规划、进度与知识落地的 Markdown 文件工作流插件,支持 Claude Code、Cursor、Gemini CLI 等。

核心价值:解决 AI 在长任务中上下文漂移、记忆丢失的问题,通过持久化文件实现可追溯的过程记录。

1.1. 前言

在使用 AI 处理复杂任务(如写文章、做调研、改项目)时,常出现前 10 分钟顺畅,随后因上下文重置或工具调用过多导致 AI'遗忘'目标、重复失败的情况。planning-with-files 不依赖更长的 Prompt,而是将重要信息从临时上下文迁移到文件系统,形成持久的工作记忆。

1.2. 背景与痛点:为什么需要'文件化规划'

AI 代理的上下文类似 RAM(有限、易失),而文件系统类似 Disk(持久、容量大)。常见痛点包括:

痛点典型表现后果
易失记忆上下文重置后计划和结论丢失返工、重复问答
目标漂移工具调用多了开始偏题交付不符合目标
错误不留痕失败未记录,下次重踩坑效率降低
上下文塞爆资料堆在对话里未写入文件不可追溯

解决之道在于将工作流改为'可持久化'。

1.3. 核心观点:3 文件 + Hooks

该模式维护三个核心文件:

task_plan.md → 任务分阶段与状态(计划与对齐) 
findings.md → 研究发现与关键决策(知识沉淀) 
progress.md → 会话日志、操作记录、测试结果(过程可追溯) 

Hooks 负责在关键时点读取/提醒,脚本负责初始化与校验,Session Recovery 负责在 /clear 后补全遗漏信息。

1.3.1. 与'上下文工程'的关系

这是一种偏工程实现的 上下文工程(Context Engineering) 方案。通过将上下文从'聊天记录'迁移到'文件系统',实现:

  • 单一真理来源:以 task_plan.md/findings.md/progress.md 为最新事实依据。
  • 状态显式化:阶段状态、决策、错误均写在文件中。
  • 最小必要上下文:重要信息入盘,按需读取。
  • 思考与行动分离:先写发现再执行,减少污染。
1.3.2. Manus 六大上下文工程原则落地

项目在 skills/planning-with-files/reference.md 中总结了 Manus 的 6 条原则,本项目将其转化为可操作的工具:

原则原文要点本项目落地
Design Around KV-CacheKeep prompt prefixes STABLE稳定流程与文件结构
Mask, Don't RemoveDon't dynamically remove toolsallowed-tools 白名单
Filesystem as External MemoryMarkdown is working memory三文件外部化记忆
Manipulate Attention Through RecitationRe-read task_plan.md before decisionPreToolUse 回显计划
Keep the Wrong Stuff InLeave wrong turns in context记录 Errors 不静默重试
Don't Get Few-ShottedUniformity breeds fragility适度引入变化避免循环

经验总结:

  1. 文件是记忆:重要信息必须落盘。
  2. 压缩要可恢复:保留 URL/路径/关键词指针。
  3. 目标要复读:关键决策前回读 task_plan.md。
  4. 失败要留痕:显式记录错误与修复。
  5. 动作要有变体:避免机械循环。
1.3.3. 2-Action Rule:防止'看过就忘'

每进行两次查看/搜索操作,必须立刻将关键发现写进 findings.md。零散片段若不进入文本文件,会在上下文压缩后消失。

2. 怎么落地:在 Claude Code 里用起来

2.1. 安装

claude plugins install OthmanAdi/planning-with-files

安装后可用命令:

  • /plan (v2.11.0+):规划命令
  • /planning:开始会话与规划流程

2.2. 五步工作流

  1. 运行初始化脚本生成 task_plan.md / findings.md / progress.md。
  2. 在 task_plan.md 写清 Goal,拆 3–7 个 phases。
  3. 工作过程中按'发现/过程/计划'分别写入三文件。
  4. 每两次查看/搜索更新一次 findings.md(2-Action Rule)。
  5. 收尾前用 check-complete.sh 确认 phases 全部 complete。

2.2.1. Session Catchup:检查上一会话

每次开始长任务前,建议跑一次 session-catchup.py,确认上一次会话是否有未写入三文件的关键信息。

2.2.2. 模板文件位置

  • Templates:插件安装目录(如 ${CLAUDE_PLUGIN_ROOT}/templates/)。
  • 你的三文件:当前项目目录(project root)。

2.3. 会话恢复:/clear 之后不断档

当上下文满需 /clear 时,session-catchup.py 机制如下:

  1. 定位会话存储:查找 ~/.claude/projects/<sanitized-project>/ 下的历史会话文件。
  2. 找最后一次更新:扫描 Write/Edit 工具调用,定位三文件最后更新时间。
  3. 抽取后续内容:整理该时间点后的用户消息、助手消息及关键工具调用。

操作顺序:

  1. 读当前三文件确认状态。
  2. 跑 session-catchup.py 看报告,补全缺失信息。
  3. 跑 git diff --stat 确认真实改动,写入 progress.md。

2.4. 边界条件与取舍

不建议用原因替代
一句话问答/单文件小改创建成本高于收益直接问/直接改
不打算落盘任何过程失去意义至少写 task_plan.md
团队不需要可追溯复盘成本回收难只保留关键 decisions

预计超过 5 次工具调用或跨多会话的任务通常适用。

2.5. examples/README.md 演示

仓库示例展示了 Todo App 开发过程,体现三文件如何协同:

2.5.1. task_plan.md:阶段状态机
## Current Phase
Phase 1
### Phase 1: Requirements & Discovery
- [ ] Understand user intent
- [ ] Document findings in findings.md
- **Status:** in_progress
2.5.2. findings.md:固定决策
## Research Findings
- Python's `argparse` module is perfect for CLI subcommands
- `json` module handles file persistence easily
2.5.3. 错误记录

错误需双写入:

  • task_plan.md 的 Errors Encountered:避免复现。
  • progress.md 的 Error Log:便于追溯。

2.6. 最小循环(Loop)

每个 Loop 包含:

  1. Read task_plan.md(对齐目标)
  2. 做一件事(搜索/读文件/写代码)
  3. Write/Edit files(更新状态)

3. SKILL.md 重要性

真正起作用的是 SKILL.md 中的行为约束,通过 hooks 和脚本将流程变为可重复机制。

3.1. Frontmatter:能力边界声明

---
name: planning-with-files
version: "2.10.0"
description: Implements Manus-style file-based planning...
user-invocable: true
allowed-tools:
  - Read
  - Write
  - Edit
  - Bash
  - Glob
  - Grep
  - WebFetch
  - WebSearch
hooks: ...
---

YAML 格式提供机器可读的配置,明确身份、能力边界和触发机制。

3.2. PreToolUse:回显目标

PreToolUse:
- matcher: "Write|Edit|Bash|Read|Glob|Grep"
  hooks:
    - type: command
      command: "cat task_plan.md 2>/dev/null | head -30 || true"

每次关键动作前输出 task_plan.md 前 30 行,强制将 Goal/当前阶段塞回注意力窗口。

3.3. PostToolUse:更新阶段状态

PostToolUse:
- matcher: "Write|Edit"
  hooks:
    - type: command
      command: "echo '[planning-with-files] File updated...'

写入文件后提醒更新 phase 状态,防止遗忘。

3.4. Stop Hook:完成闸门

调用 check-complete.sh 脚本,验证所有 phases 是否均为 complete,将主观完成感变为可验证规则。

3.5. Session Recovery

利用 scripts/session-catchup.py 生成 catchup 报告,将丢失的状态同步回三文件。

4. 下一步:10 分钟上手

  1. 安装并触发 /plan。
  2. 在项目根目录生成三文件。
  3. 在 task_plan.md 写 Goal,拆 3 个 phase。
  4. 两次阅读/搜索后更新 findings.md。
  5. 每做完一个 phase 更新状态并记录 progress.md。
  6. 收尾时跑 check-complete.sh 直到 phases 全部 complete。

5. 参考文献

  • Planning with Files(项目仓库)
  • Quick Start Guide
  • Workflow Diagram
  • planning-with-files SKILL.md
  • Reference: Manus Context Engineering Principles
  • Examples (skill-level): Planning with Files in Action
  • Examples: Planning with Files in Action

目录

  1. Planning with Files:基于文件的 AI 代理规划工作流实践
  2. 1. 把规划写进文件:让 AI 代理不再失忆
  3. 1.1. 前言
  4. 1.2. 背景与痛点:为什么需要“文件化规划”
  5. 1.3. 核心观点:3 文件 + Hooks
  6. 1.3.1. 与“上下文工程”的关系
  7. 1.3.2. Manus 六大上下文工程原则落地
  8. 1.3.3. 2-Action Rule:防止“看过就忘”
  9. 2. 怎么落地:在 Claude Code 里用起来
  10. 2.1. 安装
  11. 2.2. 五步工作流
  12. 2.2.1. Session Catchup:检查上一会话
  13. 2.2.2. 模板文件位置
  14. 2.3. 会话恢复:/clear 之后不断档
  15. 2.4. 边界条件与取舍
  16. 2.5. examples/README.md 演示
  17. 2.5.1. task_plan.md:阶段状态机
  18. Current Phase
  19. Phase 1: Requirements & Discovery
  20. 2.5.2. findings.md:固定决策
  21. Research Findings
  22. 2.5.3. 错误记录
  23. 2.6. 最小循环(Loop)
  24. 3. SKILL.md 重要性
  25. 3.1. Frontmatter:能力边界声明
  26. 3.2. PreToolUse:回显目标
  27. 3.3. PostToolUse:更新阶段状态
  28. 3.4. Stop Hook:完成闸门
  29. 3.5. Session Recovery
  30. 4. 下一步:10 分钟上手
  31. 5. 参考文献
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • OpenClaw 本地优先智能体框架架构与工程实践
  • 车载AVM开发实战:图像滤波与畸变矫正的C++实现
  • Python 编写小游戏教程:7 个经典案例源码
  • llama-cpp-python 完整安装与配置指南
  • 前端安全实战:密码加密与常见攻击防护
  • OpenClaw Secure DM Pairing 机制解析与安全私信访问配置
  • OpenClaw 微信通道插件接入与配置指南
  • Java 接入 AI 大模型个人实践:多轮对话与流式输出实现
  • GitHub Copilot 与 Claude Code 深度对比:如何选择 AI 编程助手
  • 三节课发布首张 AIGC 学习地图,探讨全员学习 AI 的必要性
  • VRCT 智能翻译工具:解决 VRChat 跨语言交流问题
  • 数据结构与算法核心知识点梳理及学习建议
  • 数据结构:顺序表的概念、实现与操作
  • 解决新机型 Copilot 键替代右 Ctrl 键问题
  • 单片机四舍五入算法原理与嵌入式边界处理实践
  • ERNIE-4.5-0.3B 轻量级模型部署指南与能力测评
  • Python 列表基础:创建、操作与切片详解
  • JDBC 连接 Oracle 数据库的常见连接串格式
  • 昇腾平台 DeepSeek-R1 与 Qwen2.5 强化学习训练优化实践
  • Ollama v0.17.0 更新:OpenClaw 自动安装、Web 搜索支持与 Tokenizer 性能优化

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online