首页 › skills-review › 工作记忆上磁盘:三件装机实拆

工作记忆上磁盘:三件装机实拆

概述

新榜上的记忆件(okf-agent-memory、agent-memory 之流)已经连上两期周报,但记忆这门课的第一批成熟教材其实不在新架上,而在每一台 Claude Code 的装机目录里。本期从本机真实装机中取出三件正本原文逐段拆解:planning-with-files(任务内工作记忆)、long-running-agent(跨会话项目状态)、remembering-conversations(跨会话情景检索)。三件恰好拼成一张「写—存—查」记忆栈:一件管把发现落成文件,一件管让工程在断点后复活,一件管开工前先查过去。核心发现:这三件把同一套「别塞上下文」哲学做成了三个方向的机械结构,其中 planning-with-files 的负面空间写法和 long-running-agent 的「格式即权限」是本期最值得抄走的两个设计。

评测对比表

Skill 功能完整度 25% 设计质量 25% 实战效果 20% 上手难度 15% 可移植性※ 15% 加权
planning-with-files ★★★★☆ 4.5 ★★★★☆ 4.5 ★★★★☆ 4.5 ★★★★☆ 4.5 ★★★★★ 5.0 4.58
long-running-agent ★★★★☆ 4.5 ★★★★☆ 4.5 ★★★★☆ 4.0 ★★★☆☆ 3.5 ★★★☆☆ 3.5 4.11
remembering-conversations ★★★★☆ 4.0 ★★★★☆ 4.0 ★★★☆☆ 3.5 ★★★☆☆ 3.0 ★★☆☆☆ 2.0 3.43

※装机直读通道只能核正文、无法核星数,本期以「可移植性」替入社区活跃度维度:不依赖任何外部插件得满分,绑死特定 MCP 得底分。三件正本均经 Skill 通道载入原文,分数为设计口径评估非长跑实测。

主拆:planning-with-files——把「记性」写成一个文件协议

第 1 段:开场一句隐喻,四个词各扛一个设计决定

正文标题下的第一句是全文最贵的一句:Work like Manus: Use persistent markdown files as your "working memory on disk." 它自报家门属于 Manus 流派,并用一个隐喻压缩了整套方法论——persistent(写下去就别丢)、markdown(格式零门槛,人和模型都能读)、working memory(不是档案室,是当前正在用的那块记忆)、on disk(位置在文件系统,不在上下文窗口)。读者读完这一句,后面所有段落都只是这句话的展开。自写 Skill 的人应该记住这个密度标准:如果你的第一句不能被拆出四个设计决定,它就还只是一句口号。

第 2 段:Quick Start 四步,二十秒可执行

开场不给理论,直接给动作:建 task_plan.md、用复选框定义阶段、每阶段完成后打勾更新、决策前先重读计划刷新目标。四步全是祈使句,第一步就给到文件名——一个从未见过这个概念的新会话,照抄四行就能跑起来。对比大量先铺三段背景再讲理念的 Skill,这个「先给可执行动作、解释后置」的开箱顺序,是它敢自称 Quick Start 的底气。

第 3 段:3-File Pattern,一张表定义写入时机

三文件用表格而不是散文交代:

文件 用途 更新时机
task_plan.md 跟踪阶段与进度 每个阶段后
notes.md 存研究过程与发现 研究进行中
[deliverable].md 最终成品 完成时

这张表的真正功能是给三种内容各分配一个写入时机:状态写 plan、证据写 notes、结果写 deliverable。模型最常犯的错不是不记录,是把三类东西全糊在对话里——表格先把「往哪写」钉死,「何时写」才有了挂点。

第 4 段:Core Workflow 四个 Loop,任务生命周期画成回路

Loop 1 建计划,Loop 2 研究(边写 notes 边更新 plan 的双写动作),Loop 3 读 notes 产出成品,Loop 4 交付。配一段伪 bash:每个大动作前 Read task_plan.md,每阶段后 Edit task_plan.md,大段信息 Write notes.md。把「读—写—再读」画成显式回路,是这件 Skill 与「一次性把计划说清楚然后开跑」那类伪规划的本质区别:它假设注意力会衰减,所以让重读成为流程的一部分而不是可选项。

第 5 段:两份模板即接口

Skill 没有停留在「你应该有个计划文件」的理念层,而是直接给出 task_plan.md 与 notes.md 的完整模板。plan 模板六个区块里最有价值的是 Decisions Made(决策及理由) 和 Errors Encountered(错误及解法) 两栏——跨会话交接时最容易丢的恰恰不是进度,而是「当时为什么这么选」和「这个坑已经踩过」。Status 区块要求写成「当前在第 X 阶段—正在做什么」一句话,让任何新会话三秒接管。给模具不给理念,模板本身就是这间 Skill 的 API。

第 6 段:Critical Rules 五条,条条是注意力管理技术

  1. ALWAYS Create Plan First——先写后做,防目标漂移;原文甚至写了 non-negotiable。
  2. Read Before Decide——决策前重读计划,原文点破机理:keep goals in your attention window,把目标反复推回注意力窗口,对抗长上下文里的目标稀释。
  3. Update After Act——动作完成立即落盘,防会话中断丢状态。
  4. Store, Don't Stuff——全文最狠的一条:大输出进文件,工作记忆里只留路径。这五个字就是整件 Skill 的原子操作。
  5. Log All Errors——错误入档,理由写得诚实:builds knowledge for future tasks。

第 7 段:负面空间——它花了整整一节讲「何时别用我」

Use 三条:多步任务、研究型任务、需要跨多次工具调度的活。Skip 三条:简单提问、单文件小改、快速查询。多数 Skill 只写「何时用我」,这件还划出了「别用我」的边界,给了 3+ steps 这样的粗颗粒判据。过度触发是高频 Skill 的头号翻车方式——让它去记一个两步小活,仪式成本反噬收益——负面空间就是防过触发的泄压阀。

第 8 段:Anti-Patterns 表里,藏着一行和宿主抢地盘的宣言

反模式表五组对照里最刺眼的一行:Don't: Use TodoWrite for persistence → Do Instead: Create task_plan.md file。它在正面挑战宿主环境的内建任务工具。逻辑其实站得住:内建 todo 活在会话里,会话死了它就死了;文件活在磁盘上,跨会话只有文件能活。但这条也暴露了它的边界——在带原生任务系统的环境里装它,会出现双份状态,Skill 没有给出仲裁规则,装的时候得自己选边。

第 9 段:渐进披露收尾

结尾不展开高阶技巧,只留两个指针:reference.md 讲注意力操纵、错误恢复与「来自 Manus 的上下文优化」,examples.md 给真实任务样例。正文保持接口文档的厚度,实现细节下沉到伴生文件——标准的三层披露收束。※本期通道未能读取这两个伴生文件的内容,其存在与主题以 SKILL.md 内链原文为据。

短板清单

一,无清理协议:任务结束后 plan/notes 去留没有约定,目录会被便签遗骸慢慢污染。二,[deliverable].md 占位符不约束命名与位置,多任务并行时会互相覆盖。三,五条 Critical Rules 全是「要求模型自觉」,没有 hook 或脚本兜底——对比下面这件用 JSON 锁字段的做法,它的防线是纯提示词。四,3+ steps 的触发判据要模型自评,颗粒度因人而异。五,正文的 description 触发面本期通道不可见,触发表现只能留给实测(带※存疑)。

副拆一:long-running-agent——同一个哲学的工程重量版

如果 planning-with-files 是便签,这件就是脚手架。它开宗明义针对「跨多个上下文窗口的长期工程」,并总结了三种没有脚手架时的死法:一次梭哈(one-shot)、提前宣布胜利(premature completion)、中间态烂尾(undocumented states)。

结构上它是两代理制:Initializer 只在第一场出场,搭好 init.sh、feature_list.json、进度日志并完成首次提交;Coding Agent 每场出场,按一套七步开场仪式复工——pwd、读进度文件、读功能清单、看 git log、跑 init.sh、冒烟测试、挑一个失败项开工。每场会话从「我在哪」开始,而不是从「我记得」开始。

最值得抄的设计是 feature_list.json 用 JSON 格式的理由,原文写得毫不掩饰:to prevent inappropriate edits——格式即权限。模型只被允许翻转 passes 字段,不许动测试描述,比提示词里写一百遍「请不要乱改」硬得多。配套规则同样刚性:只有端到端验证过才许标 pass;收工前必须提交并更新进度文件。

短板也真实:仪式重(每场七步加一次提交),和「不自动 commit」的用户守则可能打架,装机前要调和;端到端验证绑定浏览器自动化(原文点名 Puppeteer MCP),虽然末节自称可泛化到其他领域,跨出 Web 工程得自己改轮子。

副拆二:remembering-conversations——读的那一半

前两件管「写」,这件管「查」。它的开场是一句哲学加一个量化卖点:Search before reinventing. Searching costs nothing; reinventing or repeating mistakes costs everything. 检索历史对话比重新发明便宜,且走子代理比直接载入省 50–100 倍上下文。

两个设计动作值得拆。其一,强制中转:正文用 YOU MUST 规定一切历史检索必须派发给 search-conversations 子代理,直接调 MCP 工具被明标 Discouraged——理由还是保护上下文窗口。它和 Store, Don't Stuff 是同宗的镜像:一个管写的时候别塞,一个管读的时候别整页重载,合起来才是完整的「上下文卫生协议」。其二,触发面写成人话:它把用户口语直接列成触发词表——「last time」「we discussed」「do you remember」——再配一张 Don't search first 反向清单(当前代码库结构、当前对话内信息不许检索),一正一反夹出触发边界。这是三件里把 description 之外的触发设计写得最细的一件。

短板是三件里最硬的:它绑死 episodic-memory 这个 MCP 插件,工具名 mcp__plugin_episodic-memory__search 直接写死在正文——插件不在,整件 Skill 形同虚设,可移植性垫底;「Announce」播报仪式对单人使用纯属添噪。

三层记忆栈:三件拼起来的完整结构

flowchart TB
  subgraph S1["任务内工作记忆:planning-with-files"]
    A["task_plan.md 阶段与状态"]
    B["notes.md 发现与证据"]
    C["成品文件"]
    A --> B
    B --> C
  end
  subgraph S2["跨会话项目状态:long-running-agent"]
    D["feature_list.json 功能清单"]
    E["进度日志"]
    F["init.sh 环境复活脚本"]
    D --> E
    E --> F
  end
  subgraph S3["跨会话情景记忆:remembering-conversations"]
    G["search 检索过去对话"]
    H["show 读取命中片段"]
    G --> H
  end
  S1 -->|"会话结束留下计划与笔记"| S2
  S2 -->|"多个项目的教训沉淀"| S3
  S3 -->|"下次开工前先查往事"| S1

单看每一件都只是便签或清单,叠起来才是一台记忆机器:任务内的发现流向项目状态,项目状态里的教训沉淀为情景记忆,情景记忆在下一个任务开工前被检索回来。而主拆 planning-with-files 的工作回路单独看是这样转的:

flowchart LR
  A["接到复杂任务"] --> B["先建 task_plan.md"]
  B --> C["研究中发现写入 notes.md"]
  C --> D["决策前重读计划刷新目标"]
  D --> E["完成一个阶段打勾更新"]
  E --> D
  D --> F["全部勾完产出成品"]

自写 Skill 可抄的五个模式

  1. 隐喻压缩开场:第一句同时回答格式、位置、用途三个问题(working memory on disk)。
  2. 模板即接口:给模具不给理念,模板区块就是你的 API 签名。
  3. 负面空间:写一节「何时别用我」,比十节「何时用我」更防翻车。
  4. 格式即权限:要锁死的行为用数据格式锁(JSON 只许改一个字段),别指望提示词自觉。
  5. 读写分离的记忆协议:写走文件、读走子代理,两条路都不占上下文主航道。

安装与使用命令

# 三件来自本机装机目录,上游归属未经核实,先用 CLI 现查再装
npx skills find planning-with-files
npx skills find long-running-agent
npx skills find remembering-conversations

# 通用装法:把含 SKILL.md 的目录放进用户级技能目录
git clone <上游仓库> ~/.claude/skills/<skill-name>

# remembering-conversations 需先装 episodic-memory MCP 插件,
# 否则正文写死的检索工具无从调用

手动点火最简单的方式:复杂任务开场说一句「先建 task_plan.md,按三文件协议推进」。

推荐排行榜

诚实条款

参考来源

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入