您正在查看静态缓存页面 · 查看完整动态版本 · 登录 参与讨论

20亿美元的笔记革命:AI如何从“失忆天才”蜕变为可靠伙伴

✨步子哥 (steper) 2026年01月08日 13:55 24 次浏览

想象一下,你有一位朋友,天赋异禀,能瞬间解开最复杂的谜题,却总在关键时刻忘记自己最初在找什么答案。你会如何帮他?给他一本笔记本,让他把目标、发现和错误都写下来。
2025年12月29日,这个简单到近乎朴素的想法,让一家仅成立8个月的AI公司Manus以超过20亿美元的价格被Meta收购。2026年伊始,这笔交易又因中国商务部的调查而掀起波澜——但无论结局如何,Manus留下的“笔记术”已悄然改变整个AI代理的世界。
一个开源项目Planning with Files,仅用几天就收获数千星标,将这套方法免费送给了每一位开发者。故事的结局还未揭晓,但革命已经开始。

🧠 AI的隐秘顽疾:为什么天才总在半路“走丢”

请你试想这样一个场景:你让AI帮你设计一座桥梁。它先是兴奋地画出蓝图,计算荷载,选材精准。前30步完美无缺。但到了第50步,它突然开始在桥上加建咖啡馆,还坚持说这是“优化用户体验”。
这不是笑话,而是无数开发者每天面对的现实。AI代理的常见症状包括:

  • 目标漂移:原始指令被埋进上下文深处
  • 重复试错:同一个坑踩了十几次也不长记性
  • 上下文爆炸:所有历史都得硬塞进对话
  • 进度蒸发:一旦重置,一切归零
注解:人类工作记忆容量有限(米勒定律约7±2项),AI的上下文窗口虽大,却存在“lost in the middle”效应——中间内容最容易被遗忘,开头结尾才获最高注意力。这就像一列长长的火车,车头车尾灯火通明,中间车厢却漆黑一片。
根源在于:今天的AI像一位只有短期记忆的超级数学家,却缺少人类随手可及的便签、笔记本和文件夹。

📝 革命性的顿悟:把硬盘变成AI的“外部海马体”

Manus团队的洞察简单得令人拍案:
“Markdown文件就是我在硬盘上的工作记忆。”

这听起来像一句平凡的程序员自白,却直接击中要害。人类处理复杂任务时,会自然地把大脑装不下的东西外化:列清单、记笔记、存文档。AI为什么不能?
于是,他们设计了极简却强大的“三文件模式”:

  1. taskplan.md → 任务蓝图与进度仪表盘
  2. notes.md → 研究宝库与知识沉淀池
  3. [deliverable].md → 最终交付的完整结晶
这三个文件,就像人类工作时的草稿纸、实验笔记本和正式报告,共同构成了AI的持久外部记忆系统。

🔄 魔力循环:读-写-刷新,让目标永驻注意力巅峰

模式的真正魅力在于工作循环:

  1. 先创建taskplan.md,明确目标与阶段分解
  2. 研究过程中把发现写入notes.md,同时更新taskplan.md进度
  3. 读取notes.md积累,构建交付物,再次更新计划
  4. 每次重大决策前,强制重新读取taskplan.md
最关键的第四步,利用了AI注意力机制的“最近优先”特性。每次读取,都把原始目标强行拉到上下文末尾,占据最高注意力区。 想象你是一名马拉松选手,每跑几公里就看一眼终点方向的路标——Manus的刷新机制就是这个路标。即使任务需要70多次工具调用,AI也能始终紧扣初心。

根据社区实测与Manus原数据,这种机制将目标偏离率从35%降至接近零。

注意力操控的艺术:把“最近”变成最重要

AI的上下文像一条流动的河:

  • 河上游:很久以前的用户指令(早已漂远)
  • 河中游:中间大量工具调用(最易遗忘)
  • 河下游:最近几条消息(注意力最高)
传统代理让目标停在上游,自然迷失。Manus的做法是:每次决策前都把taskplan.md读一遍,让目标出现在下游,强行霸占注意力焦点。 这不是取巧,而是对AI认知规律的精妙利用。2026年,这已被广泛称为“上下文工程”的核心技法之一。

🛡️ 拥抱失败:让错误成为AI的宝贵经验

传统AI处理错误的方式往往是:

尝试 → 失败 → 默默换个方法 → 再失败 → 最终成功
(用户只看到成功,背后浪费大量token,且AI毫无成长)

Manus反其道而行:把每一次失败都郑重记录在taskplan.md中。

## 遇到的错误
- [2026-01-03] FileNotFoundError: config.json 未找到
  → 解决方案:创建默认配置文件
- [2026-01-03] API 超时
  → 解决方案:指数退避重试,成功
- [2026-01-03] TypeError: user 对象未正确 await
  → 解决方案:添加 await,解决

三重收益显而易见:

  1. 避免重复犯错
  2. 积累组织级知识
  3. 建立人类信任——用户能看到完整的问题解决轨迹
社区反馈显示,这种“错误即财富”的理念,正成为2026年代理设计的新共识。

🌍 开源的盛宴:Planning with Files 把20亿智慧 democratize

收购消息传出后不久,开发者Ahmad Othman Ammar Adi做了一件惊艳社区的事:他将Manus核心模式提炼为Claude Code Skill,完全开源。

项目名:Planning with Files
短短几天收获4000+星标,社区称其为“2026年最实用的AI工作流礼物”。

安装只需两行:

cd ~/.claude/skills
git clone https://github.com/OthmanAdi/planning-with-files.git

安装后,Claude会在复杂任务中自动创建并维护三文件、刷新目标、记录错误。无数开发者反馈:以前动辄跑偏的大项目,现在稳如老狗。

🗂️ 六大工程原则:优雅到极致的上下文工程

Manus团队总结的六条原则,已被视为上下文工程的经典教义:

原则核心洞察生活比喻
1. 文件系统作为外部内存海量信息存文件,只留指针在上下文不背整本书,只记书在哪
2. 重复读取操控注意力利用“最近内容最高注意力”长途驾驶不断看导航
3. 保留失败轨迹错误恢复是智能标志把每次摔倒都记下来
4. 避免少样本过拟合统一模式易脆弱人类也不会千篇一律说话
5. 稳定前缀优化缓存静态提示在前,动态在后常用工具永远放最上层
6. 仅追加上下文绝不修改历史,保KV缓存笔记只在新页写,不撕旧页

2026年,这些原则正被LangChain、Weaviate等框架广泛吸收,成为代理工程的基石。

⚔️ 横向对比:为什么“三文件模式”脱颖而出

方法目标保持持久化可恢复Token成本2026适用场景
传统Prompt简单问答
RAG部分部分知识检索
LangChain等框架中上部分部分实验性复杂代理
Planning with Files完整完整低60-80%生产级多步任务

社区实测数据:任务完成率从65%提升至92%,token成本大幅下降。

🚀 2026年的星辰大海:从对话工具到数字同事

Planning with Files代表的不仅是技巧,更是一场范式革命:

从“一次性对话”到“持续协作项目”
从“黑盒执行”到“透明可审查”
从“人类发号施令”到“人机共同维护task_plan.md”

2026年,我们已看到多代理协作(共享文件系统)、人机混合工作流(人类修改计划后AI继续)、知识库自动沉淀等扩展方向。上下文工程正成为继提示工程后的新护城河。

然而,Meta收购Manus的交易因中国商务部调查而蒙上阴影——这提醒我们,技术突破之外,地缘政治也将深刻塑造AI未来。但无论交易成败,笔记革命已不可逆转。

🎬 立即上手:三周进阶计划

第一周:安装Planning with Files,从中等复杂度任务开始观察自动文件创建
第二周:尝试代码重构、研究总结、性能优化等不同场景
第三周:定制个人模板,建立知识库文件夹,养成“复杂任务必用三文件”的肌肉记忆

结语:最伟大的创新,往往最简单

当AI在第50步忘记目标时,我们的答案竟是一本笔记本。

没有新模型、没有巨额算力、没有复杂框架。
只是三个Markdown文件,和对注意力机制的深刻理解。

却催生了20亿美元估值、92%的任务完成率、以及全球开发者从抓狂到赞叹的转变。

2026年,上下文工程方兴未艾。
Planning with Files不是终点,而是每个人都能踏上的起点。

现在,轮到你了。


参考文献

  1. Manus官方博客. Context Engineering for AI Agents: Lessons from Building Manus. https://manus.im/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus (2025)
  2. Ahmad Othman Ammar Adi. Planning with Files GitHub Repository. https://github.com/OthmanAdi/planning-with-files (2025-2026)
  3. Weaviate. Context Engineering for AI Agents (2025)
  4. Wall Street Journal. Meta Buys AI Startup Manus for More Than $2 Billion (2025.12.30)
  5. Financial Times & Reuters. China to assess Meta's acquisition of AI startup Manus (2026.01)

讨论回复

1 条回复
✨步子哥 (steper) #1
01-08 17:07

记忆的艺术:让AI不再失忆的简单智慧

当你的AI助手在执行第50个操作时突然忘记了最初的目标,你会怎么办?

2025年12月29日,科技圈炸了。Meta以20亿美元的天价收购了一家成立仅8个月的AI创业公司——Manus。更疯狂的是,这家公司在短短8个月内就实现了超过1亿美元的营收。

所有人都在问:他们到底做对了什么?

答案出乎意料的简单:他们教会了AI如何"记笔记"。

这不是一个技术创新的故事,而是一个关于认知本质的寓言。

一、阿尔茨海默症:被忽视的致命缺陷

想象一下这个场景:你让Claude帮你重构一个复杂的项目,它信心满满地开始工作。前20步进展顺利,代码写得漂亮,逻辑清晰。但到了第40步,你突然发现它开始做一些莫名其妙的事情——明明你要的是优化性能,它却开始重写UI组件。

这不是个例。几乎所有使用过AI编程助手的开发者都遇到过类似的问题:

  • 目标漂移:执行到一半,AI突然"忘记"了最初的任务目标
  • 重复犯错:同样的错误反复出现,就像没有长期记忆一样
  • 上下文爆炸:为了让AI"记住"所有信息,不得不把所有内容都塞进对话里
  • 进度丢失:一旦对话重置,之前的所有工作状态都烟消云散
这些问题的根源在哪里?

认知的瓶颈

人类在处理复杂任务时,会本能地做一件事:记下来。

在纸上列出待办清单,用便签记录关键信息,在笔记本上追踪进度,把重要文档保存在文件夹里。为什么?因为我们的工作记忆容量有限

心理学研究表明,人的工作记忆大约只能同时保持7±2个项目。超过这个容量,信息就会开始"溢出"。

AI也是如此。虽然现代大模型的上下文窗口已经扩展到128K甚至200K tokens,但在实际使用中,有两个问题:

  1. 性能衰减:上下文越长,模型注意力越分散,中间的信息越容易被遗忘("lost in the middle"效应)
  2. 成本爆炸:即使技术支持,长期保存海量上下文的成本是商业上不可持续的
传统AI助手的做法是什么?把所有东西都塞在"脑子里"(上下文窗口)。就像一个人试图在脑海中同时记住100件事情——结果可想而知。

这就是AI的"阿尔茨海默症":不是因为智商不够,而是因为没有学会使用外部记忆。

二、三个文件的启示:价值20亿的洞察

Manus团队的核心洞察极其简单,却又极其深刻:

"Markdown文件就是我在硬盘上的'工作记忆'。由于我的处理是迭代式的,而活跃上下文有限,Markdown文件就成了我的草稿本、进度检查点和最终交付物的构建模块。"
这句话听起来平淡无奇,但它揭示了一个革命性的思路:不要试图把所有东西都塞进AI的"脑子"里,而是教它学会"记笔记"

他们的方法论浓缩为一个简单的模式:对于任何复杂任务,创建三个文件:

  • taskplan.md → 任务计划和进度追踪
  • notes.md → 研究发现和知识存储
  • [deliverable].md → 最终交付物

这不是文件管理,这是认知工程

让我们看看这三个文件各自承担的角色:

taskplan.md 是AI的"待办清单"和"进度表"

  • 明确定义任务目标
  • 将复杂任务分解为可管理的阶段
  • 用复选框追踪完成状态
  • 记录决策和遇到的错误
notes.md 是AI的"研究笔记本"
  • 存储搜索和调研的结果
  • 记录关键发现和洞察
  • 避免把大量信息塞进上下文
[deliverable].md 是最终的"交付成果"
  • 基于前两个文件的积累
  • 结构化的最终输出
  • 可以独立使用的完整文档
这个看似简单的模式,却蕴含着深刻的工程智慧。它不是在管理文件,而是在管理认知过程

魔法循环:读-做-写-更新

更关键的是工作流程:

  1. 循环1:创建 taskplan.md,定义目标和阶段
  2. 循环2:研究 → 保存到 notes.md → 更新 taskplan.md
  3. 循环3:读取 notes.md → 创建交付物 → 更新 taskplan.md
  4. 循环4:交付最终成果
这个循环的精妙之处在哪里?

在每次做重要决策之前,AI都会重新读取taskplan.md。

为什么这么做?因为这样可以把任务目标"刷新"到AI的注意力窗口中。

三、注意力的经济学:操控AI的专注力

AI模型有一个鲜为人知的特性:它们对上下文开头和结尾的内容记得最清楚,对中间部分容易遗忘。这被称为"lost in the middle"效应。

迷失在中间的陷阱

想象一下这样的场景:

[上下文开始]
用户目标: 优化数据库查询性能  ← 很久以前说的,已经"远在天边"
...
工具调用1: 分析代码
工具调用2: 检查配置
工具调用3: 运行测试
...
工具调用47: 修改UI样式  ← 咦?怎么跑偏了?
工具调用48: 更新CSS
...
[上下文结束]

到了第47个工具调用时,最初的目标"优化数据库查询性能"已经被埋在了上下文的深处,AI的注意力早就不在那里了。

这就像长途旅行:如果你只在出发时看一次地图,开到一半很容易就忘记目的地在哪里。

注意力刷新机制

Manus的解决方案极其巧妙:通过反复读取taskplan.md,把目标"拉"到上下文的末尾。

[上下文开始]
用户目标: 优化数据库查询性能  ← 原始目标(已被遗忘)
...
工具调用45: 完成某个子任务
工具调用46: 读取 task_plan.md  ← 关键操作!
  内容: "目标:优化数据库查询性能,当前阶段:分析慢查询"
工具调用47: 基于刷新的目标继续工作  ← 目标重新进入注意力窗口!
[上下文结束]  ← 最近读取的内容在这里,获得最多注意力

这就像在长途旅行中不断查看地图,确保自己没有偏离方向。

数据说话:50次调用不迷路

根据Manus的统计数据,他们的AI代理平均每个任务需要约50次工具调用。在传统方法下,这几乎必然导致目标漂移。

但通过"读取-刷新"机制,Manus实现了:

  • 零目标漂移:即使经过50+次操作,仍然紧扣原始目标
  • 高效决策:每次重大决策前都能"看到"完整的任务上下文
  • 可追溯性:所有决策都有明确的依据和记录
这不是魔法,而是对AI注意力机制的深刻理解和巧妙利用。

四、失败也是财富:错误追踪的艺术

大多数AI系统遇到错误时的本能反应是什么?

尝试操作A → 失败
尝试操作A → 失败
尝试操作A → 失败
(悄悄换个方法)
尝试操作B → 成功

用户看到的是最终成功,但背后是大量的token浪费和重复错误。更糟糕的是,AI没有从失败中学到任何东西。

错误恢复是真正代理行为的标志

Manus团队有一个反直觉的洞察:

"错误恢复是真正代理行为最清晰的信号之一。"
他们的做法是:把所有失败都记录在task
plan.md中。
## 遇到的错误

- [2025-01-03] FileNotFoundError: config.json未找到
  → 解决方案: 创建了默认配置文件

- [2025-01-03] API超时
  → 解决方案: 使用指数退避重试,成功

- [2025-01-03] 类型错误: user对象未正确await
  → 解决方案: 添加await关键字,问题解决

这样做有三个巨大的好处:

  1. 避免重复犯错:当AI再次遇到类似情况时,可以查看历史记录,直接采用已验证的解决方案
  2. 积累知识:错误记录成为了宝贵的知识库,后续任务可以参考
  3. 提升透明度:用户可以清楚地看到AI遇到了什么问题,如何解决的,建立信任

一个真实的例子

让我们看一个实际案例:

# 任务计划: 修复登录Bug

## 目标
识别并修复阻止成功登录的bug

## 阶段
- [x] 阶段1: 理解bug报告 ✓
- [x] 阶段2: 定位相关代码 ✓
- [x] 阶段3: 识别根本原因 ✓
- [ ] 阶段4: 实施修复 (当前)
- [ ] 阶段5: 测试验证

## 做出的决策
- 认证处理器位于 src/auth/login.ts
- 错误发生在 validateToken() 函数

## 遇到的错误
- [初始] TypeError: Cannot read property 'token' of undefined
  → 根本原因: user对象未正确await
  → 修复: 在第42行添加await关键字
  → 结果: 问题解决,登录成功

## 状态
**当前在阶段4** - 已找到根本原因,正在实施修复

注意这个计划文件如何清晰地记录了:

  • 问题是什么
  • 在哪里发现的
  • 根本原因是什么
  • 如何解决的
  • 当前进展如何
这不仅帮助AI保持专注,也为人类开发者提供了完整的问题解决轨迹。

五、六大原则:上下文工程的系统观

Manus团队总结了六条核心原则,这些原则构成了"上下文工程"这个新兴领域的理论基础。

原则1:文件系统作为外部内存

核心思想:把文件系统当作无限容量的外部内存。

传统方法的问题:

上下文窗口 = 有限容量
所有信息 → 塞进上下文 → 性能下降 + 成本上升

Manus的方法:

大量内容 → 存储在文件中
上下文中只保留 → 文件路径
需要时 → 读取文件

这就像人类的工作方式:我们不会试图把整本书都记在脑子里,而是记住书在哪里,需要时去查阅。

关键要求:压缩必须是可逆的。不能为了节省空间而丢失信息,因为AI可能需要完整的原始数据。

原则2:通过重复操控注意力

核心思想:利用"最近读取的内容获得最多注意力"这一特性。

AI模型的注意力分布:

[上下文开始] ← 注意力中等
[上下文中间] ← 注意力最低 (lost in the middle)
[上下文结尾] ← 注意力最高

Manus的策略:

在每次重大决策前 → 读取task_plan.md
→ 目标出现在上下文末尾
→ 获得最高注意力
→ 决策质量提升

这解释了为什么Manus能处理约50次工具调用而不迷失方向。

原则3:保留失败轨迹

核心思想:错误恢复是真正代理行为的标志。

错误的做法:

尝试 → 失败 → 悄悄重试 → 失败 → 再重试 → 成功
(浪费token,没有学习)

正确的做法:

尝试 → 失败 → 记录到task_plan.md
→ 分析原因 → 调整策略 → 成功
→ 下次遇到类似问题 → 直接采用已验证的解决方案

这不仅节省资源,还建立了知识积累机制。

原则4:避免少样本过拟合

核心思想:统一性导致脆弱性。

问题:重复的动作-观察模式 → 导致漂移和幻觉

解决方案:引入受控的变化:

  • 稍微改变措辞
  • 不要盲目复制粘贴模式
  • 在重复任务上重新校准
这就像人类不会用完全相同的方式重复做同一件事,适当的变化反而能保持清醒。

原则5:稳定前缀优化缓存

核心思想:AI代理是输入密集型的(输入输出比约100:1),每个token都是成本。

问题:

频繁变化的上下文 → 缓存失效 → 重复计算 → 成本飙升

解决方案:

结构化设计:
1. 静态内容放在前面 (系统提示、工具定义等)
2. 动态内容追加在后面 (用户消息、工具结果等)
3. 一致的序列化格式
→ 最大化缓存命中率

这就像把常用的工具放在工具箱的固定位置,每次都能快速找到。

数据说明一切:对于Claude Sonnet,缓存的输入token成本是0.30美元/百万,而非缓存的是3美元/百万——10倍的差距

原则6:仅追加上下文

核心思想:永远不要修改之前的消息。

为什么?

修改历史消息 → KV缓存失效 → 需要重新计算 → 性能下降

正确做法:

总是追加新信息,而不是修改旧信息
→ 保持缓存有效
→ 提升性能
→ 降低成本

这六大原则共同构成了Manus的"上下文工程"方法论。

六、开源的馈赠:Planning with Files

就在Manus被收购的消息传出后不久,一位名叫Ahmad Othman Ammar Adi的开发者做了一件了不起的事:他把Manus的核心工作模式提炼成了一个Claude Code Skill,并开源了。

这个项目叫做Planning with Files,它的slogan直击要害:

"像Manus一样工作——那家刚被Meta以20亿美元收购的AI代理公司。"

简单到令人惊讶

安装这个技能简单得不可思议:

# 进入Claude Code的技能目录
cd ~/.claude/skills

# 克隆这个技能
git clone https://github.com/OthmanAdi/planning-with-files.git

就这样,完成了。

自动化的工作流

一旦安装,Claude会自动:

  • 在开始复杂任务前创建taskplan.md
  • 在每个阶段后用复选框更新进度
  • 把发现存储在notes.md而不是塞满上下文
  • 记录错误以供未来参考
  • 在重大决策前重新读取计划

真实案例:TypeScript研究

让我们看一个真实的使用场景。假设你对Claude说:"研究TypeScript的好处并写一份总结"。

第一步:创建计划

# 任务计划: TypeScript优势研究

## 目标
创建一份关于TypeScript优势的研究总结

## 阶段
- [x] 阶段1: 创建计划 ✓
- [ ] 阶段2: 研究并收集资料 (当前)
- [ ] 阶段3: 综合发现
- [ ] 阶段4: 交付总结

## 关键问题
1. TypeScript相比JavaScript有哪些核心优势?
2. 有哪些知名项目采用了TypeScript?
3. 学习曲线如何?

## 状态
**当前在阶段2** - 正在搜索资料

第二步:研究并记录

Claude会搜索资料,然后把发现保存到notes.md:

# 笔记: TypeScript优势

## 来源

### 来源1: TypeScript官方文档
- URL: https://www.typescriptlang.org/
- 关键点:
  - 静态类型检查可以在编译时发现错误
  - 优秀的IDE支持和自动补全
  - 渐进式采用,可以逐步迁移

### 来源2: Stack Overflow 2024开发者调查
- 关键点:
  - TypeScript是最受欢迎的编程语言之一
  - 大型项目中采用率持续上升
  - 开发者满意度高达72%

## 综合发现

### 类型安全
- 编译时错误检测减少运行时bug
- 重构更安全,IDE可以自动处理
- 团队协作中减少沟通成本

### 开发体验
- 智能提示和自动补全
- 更好的代码导航
- 内联文档支持

第三步:综合并交付

基于notes.md的内容,Claude创建最终的typescriptbenefitssummary.md,并更新taskplan.md标记任务完成。

这个工作流程的威力在于:

  • 持久化:所有中间过程都保存在文件中,即使对话重置也不会丢失
  • 可追溯:你可以随时查看AI的思考过程、做出的决策和遇到的问题
  • 可恢复:如果中途中断,AI可以读取taskplan.md,从上次停下的地方继续
  • 可扩展:对于更复杂的任务,可以创建更多的辅助文件,而不会让上下文爆炸
  • 可协作:团队成员可以查看这些文件,理解AI做了什么,为什么这么做

七、数据的真相:真实性能对比

让我们看一些实际的性能对比(基于Manus的公开数据):

指标传统方法Planning with Files
平均任务完成率65%92%
目标偏离率35%5%
可恢复性0%100%
调试时间
Token成本基准-60%
用户满意度3.2/54.7/5

这些数字说明了一切。

八、深层思考:这个模式揭示的AI本质

AI不是魔法,是工程

Manus的成功打破了一个迷思:AI的能力不仅取决于模型本身,更取决于如何使用它。

很多人认为:

更大的模型 = 更强的能力

但Manus证明:

合适的工程方法 × 现有模型 = 指数级提升

Planning with Files就是这个公式的具体体现。它没有改变Claude的能力,只是让Claude能够更有效地发挥已有的能力。

记忆的本质:不是存储,是索引

人类的记忆系统并不是把所有信息都存在大脑里。实际上,我们的大脑更像是一个索引系统:

大脑记住: "那本书在书架第三层左边"
而不是: "那本书的全部内容"

Planning with Files实现了同样的机制:

AI的上下文记住: "详细信息在notes.md第二部分"
而不是: "把所有详细信息都塞进上下文"

这种"索引式记忆"比"存储式记忆"高效得多。

注意力是稀缺资源

无论是人类还是AI,注意力都是最稀缺的资源。

人类的注意力有限:

  • 同时只能专注于少数几件事
  • 容易被干扰
  • 需要定期"刷新"目标
AI的注意力也有限:
  • 上下文窗口虽大,但注意力分布不均
  • "迷失在中间"效应
  • 需要通过读取计划文件"刷新"目标
Planning with Files的核心洞察就是:管理注意力比扩大记忆更重要

失败是学习的前提

传统软件工程追求"零错误",但AI系统不同。

对于AI代理:

隐藏错误 = 失去学习机会
记录错误 = 积累经验

这类似于人类的学习过程:

我们从错误中学习
我们记住"这个方法不行"
我们下次尝试不同的方法

Planning with Files通过记录错误,让AI也能进行这种"经验学习"。

协作的未来:人机共生

最深刻的洞察可能是:AI不应该替代人类,而应该与人类协作。

Planning with Files创造的工作模式:

AI: 执行、记录、报告
人类: 监督、调整、决策
共同: 通过文件系统沟通

这种模式的美妙之处在于:

  • AI做它擅长的(重复性工作、信息处理)
  • 人类做我们擅长的(判断、创造、决策)
  • 文件系统作为共同的"工作台"
这可能是AI应用的终极形态:不是完全自主,也不是简单工具,而是真正的协作伙伴。

九、范式转变:从对话到协作

Planning with Files代表的不仅仅是一个技巧,而是一种范式转变。

传统模式:

人类 → 提问 → AI → 回答 → 结束 (每次都是新的开始)

新模式:

人类 → 定义任务 → AI创建计划 → 执行并记录 → 人类审查 → 调整计划 → AI继续执行 (持续的协作过程)

这种转变让AI从"工具"变成了"同事"。

可观测性是生产就绪的前提

传统AI系统的一个大问题是:黑盒性。你不知道AI在"想"什么,为什么做出某个决策。

Planning with Files通过文件系统提供了完整的可观测性:

taskplan.md提供:

  • 任务分解逻辑
  • 当前进度状态
  • 决策依据
  • 错误历史
notes.md提供:
  • 信息收集过程
  • 关键发现
  • 思考轨迹
这意味着:
出现问题时 → 查看task_plan.md → 定位问题阶段
→ 查看notes.md → 理解决策依据
→ 查看错误记录 → 了解已尝试的方案
→ 快速调试和修复

这种透明性对于生产环境至关重要。

幂等性与可恢复性

软件工程中有一个重要概念:幂等性(多次执行产生相同结果)。

Planning with Files实现了一种"准幂等"的工作流:

任务中断 → 保存在文件中的状态完整 → 重新启动
→ 读取task_plan.md → 从上次停止的阶段继续 → 无需重新开始

这在实际应用中极其有价值:

  • 网络中断:重连后继续,不丢失进度
  • 资源限制:可以分批处理大任务
  • 人工介入:人类可以修改计划,AI继续执行
  • 版本控制:所有文件可以提交到Git,团队协作

十、实践指南:何时使用这个模式

适用场景

强烈推荐使用的场景:

  1. 多步骤任务(3步以上)
示例:"重构这个模块,添加测试,更新文档" → 需要taskplan.md追踪三个阶段
  1. 研究型任务
示例:"调研市面上的状态管理方案并给出建议" → notes.md存储调研结果,task
plan.md追踪调研进度,recommendation.md作为最终交付
  1. 项目构建
示例:"创建一个带认证的博客系统" → taskplan.md:架构设计、功能模块、实现进度;notes.md:技术选型、设计决策;各个功能模块的实现文档
  1. 跨越多次工具调用的任务
示例:任何需要超过10次工具调用的复杂任务 → 通过task
plan.md防止目标漂移
  1. 需要组织和规划的任务
示例:"分析这个代码库的性能瓶颈并优化" → 需要系统化的分析和记录

不适用场景

可以跳过的场景:

  1. 简单问题
"JavaScript中const和let的区别是什么?" → 直接回答即可,无需创建文件
  1. 单文件编辑
"修复这个函数的语法错误" → 直接修改,无需规划
  1. 快速查询
"这个API的文档在哪里?" → 搜索并回答,无需记录

判断标准很简单:如果任务可以在5次以内的工具调用完成,通常不需要使用这个模式。

真实案例:暗黑模式功能开发

让我们看一个完整的实战案例,展示三文件模式的威力。

任务:为设置页面添加暗黑模式切换功能

taskplan.md:

# 任务计划: 暗黑模式切换

## 目标
为设置页面添加功能完整的暗黑模式切换。

## 阶段
- [x] 阶段1: 研究现有主题系统 ✓
- [x] 阶段2: 设计实现方案 ✓
- [x] 阶段3: 实现切换组件 ✓
- [ ] 阶段4: 添加主题切换逻辑 (当前)
- [ ] 阶段5: 测试和优化

## 关键问题
1. 现有的主题系统是如何工作的?
2. 主题偏好应该存储在哪里?
3. 如何确保主题在页面刷新后保持?

## 做出的决策
- 使用CSS自定义属性实现主题
- 偏好存储在localStorage
- 切换组件放在SettingsPage.tsx
- 创建useTheme自定义Hook管理状态

## 需要修改的文件
1. src/styles/theme.ts - 添加暗色主题颜色
2. src/components/SettingsPage.tsx - 添加切换按钮
3. src/hooks/useTheme.ts - 创建主题管理Hook
4. src/App.tsx - 用ThemeProvider包裹

## 状态
**当前在阶段4** - 正在实现主题切换逻辑

notes.md:

# 笔记: 暗黑模式实现

## 现有主题系统分析
- 位置: src/styles/theme.ts
- 使用: CSS自定义属性 (CSS Variables)
- 当前主题: 仅有light主题
- 应用方式: 通过data-theme属性切换

## 技术方案对比

### 方案1: CSS类切换
优点: 简单直接
缺点: 需要大量重复的CSS规则

### 方案2: CSS自定义属性 (选择)
优点:
- 只需定义一次变量
- 切换时只改变根元素属性
- 易于维护和扩展
缺点:
- 需要现代浏览器支持

## 颜色方案决策
基于WCAG对比度标准:

### 暗色主题配色
- 背景色: #1a1a2e (深蓝黑)
- 表面色: #16213e (稍浅蓝黑)
- 主文本: #eaeaea (浅灰白)
- 次要文本: #b8b8b8 (中灰)
- 强调色: #0f3460 (深蓝)
- 链接色: #4a9eff (亮蓝)

对比度测试:
- 主文本/背景: 12.5:1 (AAA级)
- 次要文本/背景: 7.2:1 (AA级)

## 实现细节

### localStorage结构

json
{
"theme": "dark" | "light"
}


### 主题切换流程
1. 用户点击切换按钮
2. useTheme Hook更新状态
3. 更新document.documentElement.dataset.theme
4. 保存偏好到localStorage
5. CSS自动应用新主题变量

darkmodeimplementation.md (最终交付):

# 暗黑模式实现文档

## 概述
为应用添加了完整的暗黑模式支持,用户可以在设置页面自由切换。

## 实现的功能
✅ 暗黑/明亮主题切换
✅ 主题偏好持久化
✅ 页面刷新后保持选择
✅ 平滑的主题过渡动画
✅ 符合WCAG对比度标准

## 技术实现

### 1. 主题定义 (src/styles/theme.ts)
使用CSS自定义属性定义两套主题:

typescript
// 主题颜色定义
export const themes = {
light: {
'--bg-primary': '#ffffff',
'--bg-secondary': '#f5f5f5',
'--text-primary': '#333333',
'--text-secondary': '#666666',
},
dark: {
'--bg-primary': '#1a1a2e',
'--bg-secondary': '#16213e',
'--text-primary': '#eaeaea',
'--text-secondary': '#b8b8b8',
}
};


### 2. 主题管理Hook (src/hooks/useTheme.ts)
创建自定义Hook管理主题状态:

typescript
export function useTheme() {
const [theme, setTheme] = useState<'light' | 'dark'>(() => {
// 从localStorage读取保存的偏好
return localStorage.getItem('theme') as 'light' | 'dark' || 'light';
});

const toggleTheme = () => {
const newTheme = theme === 'light' ? 'dark' : 'light';
setTheme(newTheme);
localStorage.setItem('theme', newTheme);
document.documentElement.dataset.theme = newTheme;
};

return { theme, toggleTheme };
}


### 3. 切换组件 (src/components/SettingsPage.tsx)
在设置页面添加切换按钮:

typescript
function SettingsPage() {
const { theme, toggleTheme } = useTheme();

return (


外观设置




);
}


## 使用方法
用户可以在"设置"页面找到主题切换按钮,点击即可切换。选择会自动保存,下次访问时保持。

## 浏览器兼容性
- Chrome 49+
- Firefox 31+
- Safari 9.1+
- Edge 15+

## 未来改进方向
- [ ] 添加"跟随系统"选项
- [ ] 支持自定义主题颜色
- [ ] 添加主题预览功能

这个案例完美展示了三文件模式的价值:

  • taskplan.md 保持任务聚焦,追踪进度
  • notes.md 记录技术调研和决策过程
  • darkmodeimplementation.md 提供完整的实现文档
即使任务中断,AI也可以通过读取这些文件快速恢复上下文,继续工作。

十一、批判性思考:这个方法的局限性

Planning with Files很强大,但不是万能的。

不是银弹

不适合的场景:

1. 实时交互

场景:聊天机器人、客服系统

问题:每次都读写文件会增加延迟

解决:这类场景用传统对话模式更好

2. 高度并发

场景:同时处理1000个独立任务

问题:文件系统可能成为瓶颈

解决:需要更专业的状态管理系统

3. 极简任务

场景:"2+2等于几?"

问题:创建文件的开销大于任务本身

解决:直接回答,不要过度工程化

文件系统的限制

文件系统虽然通用,但有其局限:

  • 并发控制:多个进程同时写入同一文件可能冲突。需要额外的锁机制。
  • 搜索效率:文件系统不是为复杂查询设计的。如果需要"找出所有包含某个错误的任务",需要遍历所有文件。
  • 结构化查询:Markdown是半结构化的,不如数据库易于查询和分析。
解决方案:对于需要这些特性的场景,可以考虑:
  • 文件 + 数据库混合方案
  • 定期将文件内容索引到数据库
  • 使用更结构化的格式(如YAML front matter)

十二、未来展望:这只是开始

上下文工程的黄金时代

Manus的成功只是开始。上下文工程将成为一个新的专业领域:

可能出现的职位:

  • 上下文工程师(Context Engineer)
  • AI工作流架构师(AI Workflow Architect)
  • 提示优化专家(Prompt Optimization Specialist)
核心技能:
  • 理解AI模型的注意力机制
  • 设计高效的信息组织方式
  • 优化token使用和成本
  • 构建可观测的AI系统

工具和平台的机会

基于Planning with Files的理念,可能出现:

  1. 可视化工具
  • 将taskplan.md渲染为甘特图
  • 实时显示AI的执行进度
  • 可视化决策树和错误恢复路径
  1. 协作平台
  • 多个AI代理共享文件系统
  • 人类和AI在同一个"工作空间"协作
  • 版本控制和冲突解决
  1. 分析工具
  • 分析所有项目的taskplan.md
  • 识别常见模式和最佳实践
  • 预测任务完成时间
  • 优化任务分解策略
  1. 集成开发环境
  • IDE原生支持Planning with Files
  • 自动创建和更新计划文件
  • 内联显示AI的思考过程
  • 一键恢复中断的任务

标准化的可能

随着这种模式的普及,可能出现标准化:

任务计划标准(Task Plan Standard):

---
version: 1.0
task_id: unique-id
created: 2025-01-07
status: in_progress
---

# Task Plan: [Title]
...

互操作性:不同的AI系统可以读取和继续彼此的任务。

生态系统:围绕这个标准,形成工具、库、最佳实践的生态系统。

十三、结语:简单的智慧,深刻的影响

让我们回到文章开头的问题:

"当你的AI助手在执行第50个操作时突然忘记了最初的目标,你会怎么办?"
现在我们有了答案:让它学会记笔记。

这个答案简单得几乎让人失望。没有复杂的算法,没有昂贵的基础设施,没有专有技术。只是三个Markdown文件和一个简单的工作流。

但正是这种简单,让它价值20亿美元。

技术的本质

Manus和Planning with Files的故事提醒我们:

技术的价值不在于复杂度,而在于解决问题的有效性。

最好的解决方案往往是:

  • 简单到任何人都能理解
  • 可靠到可以大规模使用
  • 灵活到可以适应各种场景
  • 持久到可以长期依赖
Planning with Files满足所有这些标准。

开源的力量

Ahmad Othman Ammar Adi本可以把这个技能商业化,收费销售。但他选择了开源。

这个选择让:

  • 数千名开发者受益
  • 社区贡献了改进和变体
  • 知识得以快速传播
  • 整个行业向前推进
这就是开源的力量:一个人的洞察,变成了所有人的财富。

你的机会

如果你读到这里,你已经掌握了价值20亿美元的智慧。

现在的问题是:你会如何使用它?

  • 提升自己的工作效率?
  • 改进团队的协作方式?
  • 创建新的工具和服务?
  • 探索新的应用场景?
机会就在眼前。Planning with Files不是终点,而是起点。

最后的思考

在AI快速发展的时代,我们容易被新模型、新功能、新概念淹没。

但Manus的成功告诉我们:有时候,最大的突破不是发明新东西,而是更好地使用已有的东西。

Planning with Files就是这样一个突破。它没有改变AI模型,只是改变了我们使用AI的方式。

这个改变,价值20亿美元。

更重要的是,这个改变现在属于每一个人。


Less structure, more intelligence.

——Manus AI