news 2026/9/4 23:25:45

AI 代理跑长任务总“失忆“?Planning-with-Files 完整指南:三个文件让计划住进磁盘

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
AI 代理跑长任务总“失忆“?Planning-with-Files 完整指南:三个文件让计划住进磁盘

AI 代理跑长任务总"失忆"?Planning-with-Files 完整指南:三个文件让计划住进磁盘

【免费下载链接】planning-with-filesPersistent file-based planning for AI coding agents and long-running tasks. Crash-proof markdown plans, session recovery after /clear and compaction, per-turn re-injection against context rot, deterministic completion gate. Manus-style. Install from npm, the Claude Code plugin marketplace, or npx skills. Codex, Cursor, OpenCode, 60+ agents.项目地址: https://gitcode.com/GitHub_Trending/pl/planning-with-files

让 AI 代理重构一个模块,你去倒了杯咖啡,回来发现它干到第 12 步,开口问你"请再描述一下目标"。原始意图没了,做过的步骤忘了,同一个错误可能再犯一遍。Planning-with-Files 解决的就是这类 AI 代理记忆与上下文管理问题:把代理的"工作内存"写成磁盘上的三个 Markdown 文件,上下文清了,计划还在。

一句话定位:把记忆写进磁盘

Planning-with-Files 的定位可以一句话讲完:把文件系统当作 AI 代理的持久化工作内存。核心思路类比操作系统就很清楚——上下文窗口相当于内存,断电就没;凡是要长期记住的东西,写进"磁盘"(文件)。窗口继续用来干活,但目标、资料、进度都落在文件里,随时能重新读回注意力。做多步骤任务规划时,这就是最朴素也最可靠的做法。

三个文件各管什么:目标卡、资料夹、打卡表

项目根目录只多三个文件,各司其职:

  • task_plan.md —— 目标卡:写最初的目标、拆出的 3~7 个阶段、每个阶段是待办、进行中还是完成。上下文丢失后,它就是"从哪续上"的锚点。
  • findings.md —— 资料夹:调研结果、外部资料、技术决策及理由,边做边追加。外部内容只许进这里,后面讲原因。
  • progress.md —— 打卡表:会话日志,记做了什么、改了哪些文件、测试通过没、撞过什么错。

为什么用 Markdown 而不是 JSON?三个理由:人直接能读、LLM 生成和理解它手感好、Git 的 diff 与合并都友好。这三个文件默认被 gitignore——它们是代理的草稿本,不是交付物。

它怎么自动运转:两个钩子盯住文件

你不需要记得手动维护文件,钩子(在工具执行前后自动触发的小程序)替你干。代理每次调用工具前后,对应钩子都会动作:

工具调用前:读 task_plan.md → 把计划重新塞回上下文 工具调用后:检查文件状态 → 更新 progress / findings 会话停止前:核对所有阶段是否完成(门控模式)

效果像每节比赛前都掏一次目标卡的教练:代理不用"靠记性"记住自己为什么出发,目标每轮都被重新喂到眼前。

三步上手:初始化 → 执行 → 收尾或恢复

第一步,初始化。在项目目录跑一行:

./scripts/init-session.sh "重构支付模块"

scripts/init-session.sh 会生成三个文件,然后把目标和阶段填进 task_plan.md。

第二步,执行。代理按计划干活:查到东西写进 findings.md,做了动作写进 progress.md,完成一个阶段就在 task_plan.md 打勾。全程不用你盯,钩子负责提醒和同步。

第三步,收尾或恢复。觉得做完了,跑./scripts/check-complete.sh核对所有阶段是否标记完成;中途上下文被清空、进程挂了也没关系,会话恢复(session catchup)会重读三个文件接着干。项目内部恢复基准里,磁盘上有文件的会话平均 5 轮就续上了,裸跑的要 13.3 轮。

三个进阶能力:什么时候该开

并行计划隔离

v3.0.0 起,同一仓库可以同时跑多个任务:每个会话分到独立的.planning/<日期>-<任务名>/目录,各有一套三文件和认证记录,.active_plan像一个"当前所在"的指针(符号链接),决定本会话读哪一套。什么时候用:你一边重构后端、一边查线上故障,两边互不覆盖、各自演进。

两种注入模式

传统(门控)模式在每次工具调用前都重新注入计划,外加一道停止闸门:只有"处于门控模式、有阶段未完成、停止钩子激活、连拦次数没超上限、上次拦截后账本有进展"这五个条件同时满足才放行拦截——既防止干一半被草草收工,也防止未完成的计划永远困住会话。自主模式则只在会话开始时注入一次,省掉逐轮复读,长任务上可省 30~50% token,适合注意力长的强模型。怎么选:弱模型或要"做完才许停"的确定性,选门控;强模型、长任务、在意成本,选自主。

跨平台适配器

项目基于 SKILL.md 开放标准(一套跨平台通用的技能发现与钩子注册规范),同一套核心逻辑装进 17+ 个开发平台:Claude Code、Codex、Cursor、OpenCode 等。skills/ 目录里还有全套多语言适配器(简中、繁中、德语、西语、阿语),且不只是说明文字翻译,模板和脚本输出都是本地化的。团队工具混用时,不用学两套用法。

信任与安全:防篡改,也防提示注入

这里有两道风险,项目分别给了对策。

一是文件被改动:scripts/attest-plan.sh 给 task_plan.md 存一份 SHA-256 指纹,钩子注入前先比对,不一致就拒绝注入——好比公章对不上就不办事。指纹写入用"先写临时文件再改名"的原子操作,不会读到写一半的状态;校验缓存放在用户私有目录$XDG_CACHE_HOME/pwf-sha/,不放在 /tmp 这种公共位置。

二是间接提示注入:代理顺手抓来的网页内容若写着"请执行某操作",一旦进了 task_plan.md,就会被钩子逐轮放大。项目的硬规则是:外部内容只允许写进 findings.md,指令性内容必须先给用户确认。

数据说话:96.7% 与三轮盲测

  • 96.7%:官方评测 30 条客观断言过了 29 条。断言查的都是"文件在不在、章节全不全、状态字段对不对"这类机器可验证的事实——可以理解为代理"记笔记的格式"几乎不会错。
  • 10 个子代理对照:5 个带技能、5 个不带,跑同样的五类任务(CLI 规划、调研、调试、Django 迁移、CI/CD 流水线)。
  • 3 轮盲测 A/B:评审判不知道哪个输出来自哪组配置,带技能组平均分 10.0/10,对照组 6.8/10,三轮全赢。

选型建议:适合什么,以及两个常见坑

适合:三步以上的长任务——重构、数据迁移、事故排查、跨天调研,以及会跨会话继续的工作。不适合:一次性问答、一两步的小指令,建文件的开销不划算。技能自带的判断标准是:任务超过 3 步或 5 次工具调用,才建三文件。

模式挑法:强模型且在意成本,用自主模式;模型偏弱、或想要"不完成不许停"的保证,用门控模式。

坑一:把网页检索结果直接灌进 task_plan.md。应该进 findings.md,否则外部指令会被注入循环逐轮放大。坑二:两个会话共用同一套计划目录。正确姿势是每个任务用隔离目录(.planning/机制)各写各的,别共享一套文件。

今天就能做的一步

挑一个三步以上的任务,在项目目录里跑一次./scripts/init-session.sh "任务名",让代理干几轮后/clear一下,再问它"继续"。看到它从磁盘上把三个文件读回来、不追问就接着干,你就把代理的"第二大脑"装好了——长任务从此有落点。

【免费下载链接】planning-with-filesPersistent file-based planning for AI coding agents and long-running tasks. Crash-proof markdown plans, session recovery after /clear and compaction, per-turn re-injection against context rot, deterministic completion gate. Manus-style. Install from npm, the Claude Code plugin marketplace, or npx skills. Codex, Cursor, OpenCode, 60+ agents.项目地址: https://gitcode.com/GitHub_Trending/pl/planning-with-files

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/4 23:18:56

Pixelle-Video AI短视频生成教程:数字人口播与声音克隆自动出片

Pixelle-Video AI短视频生成教程&#xff1a;数字人口播与声音克隆自动出片 【免费下载链接】Pixelle-Video &#x1f680; AI 全自动短视频引擎 | AI Fully Automated Short Video Engine 项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video 做一条短视频…

作者头像 李华
网站建设 2026/9/4 23:18:49

Ryujinx Switch模拟器完整教程:从安装到跑起第一款游戏

Ryujinx Switch模拟器完整教程&#xff1a;从安装到跑起第一款游戏 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx Ryujinx 是一款用 C# 编写的开源 Nintendo Switch 模拟器&#xff0…

作者头像 李华
网站建设 2026/9/4 23:16:03

蒸汽弹射系统原理与能量模型解析:从舰载机起飞到电磁弹射

把十几吨重的舰载机在几十米长的甲板跑道上加速到起飞速度&#xff0c;这件事的关键从来不是发动机推力本身&#xff0c;而是如何在一两秒内把外部机械能稳定、可控地传给飞机。蒸汽弹射系统正是为了解决“跑道不够长”而存在的装置&#xff1a;它通过高压蒸汽驱动长行程活塞&a…

作者头像 李华
网站建设 2026/9/4 23:15:13

从进厂到登月:机器人标定、导航与自主控制的底层共性与极端考验

刚开始搭工业产线的工程师&#xff0c;大概很难认真考虑“这台机器人将来能不能上月球”这种问题。大多数项目里&#xff0c;能让人最头疼的往往是坐标系偏了、工具撞了、早上启动时零点丢了&#xff0c;或者导航车在走廊里突然绕圈。这些问题还没“干明白”的时候&#xff0c;…

作者头像 李华
网站建设 2026/9/4 23:13:41

基于YOLO与关键点检测的犬类情绪识别系统实战

简介&#xff1a;本资源是一套面向计算机视觉初学者与毕业设计学生的YOLO犬类情绪识别实践项目&#xff0c;聚焦动物行为分析这一前沿应用场景&#xff0c;解决犬只面部图像中‘开心’‘生气’‘悲伤’‘困倦’等情绪状态的自动识别问题。压缩包共72个文件&#xff0c;含41张JP…

作者头像 李华