文章摘要
这篇文章总结了作者团队在开发Manus项目时的关键决策经验。面对是否训练端到端模型或基于上下文学习能力构建AI代理的选择,作者回顾了过去从零训练模型的低效教训,指出GPT-3等前沿模型的出现使传统方法过时。最终团队决定采用上下文工程的新路径,利用大语言模型的上下文学习能力来构建AI代理,这为快速迭代和产品开发提供了更优方案。
文章总结
《AI智能体的上下文工程实践:Manus开发经验总结》
作者:Yichao 'Peak' Ji 日期:2025年7月18日
在Manus项目启动时,我们面临关键选择:是基于开源模型训练端到端智能体,还是利用前沿模型的上下文学习能力?最终我们选择了后者,这一决策源于我在NLP领域十年工作的经验教训——传统微调方法迭代周期过长,而GPT-3等模型的出现彻底改变了这一局面。
【KV缓存优化实践】 我们发现KV缓存命中率是影响智能体性能的核心指标。通过以下策略实现优化: 1. 保持提示前缀稳定(避免时间戳等变量) 2. 采用仅追加模式(确保JSON序列化确定性) 3. 显式标记缓存断点 以Claude Sonnet为例,缓存输入token成本可降低90%(0.3 vs 3美元/百万token)
【动态工具管理方案】 面对工具爆炸问题,我们采用状态机管理而非动态加载: - 通过token掩码控制工具可用性 - 设计工具名前缀体系(如browser/shell) - 支持三种函数调用模式:自动/强制/指定
【文件系统作为扩展内存】 突破上下文长度限制的创新方案: 1. 将文件系统作为持久化存储 2. 采用可恢复的压缩策略(保留URL/文件路径) 3. 实现结构化外部记忆 例如通过todo.md文件动态更新任务清单,有效解决注意力漂移问题
【错误处理与多样性设计】 关键发现: - 保留错误记录可使模型错误率降低40% - 通过注入结构化噪声(如不同序列化模板)避免few-shot陷阱 - 主动展示失败轨迹能显著提升模型自适应能力
这些经验来自数百万用户的实际验证,虽然并非普适真理,但为AI智能体开发提供了可借鉴的工程实践。在模型能力快速进化的时代,精心的上下文设计仍是构建高效智能体的关键所在。
(注:原文中的技术示意图和具体案例数据已转换为文字描述,保留核心方法论的同时简化了实现细节)
评论总结
以下是评论内容的总结:
- 支持使用文件系统作为记忆存储的观点(评论1)
- 主要观点:建议使用".agent/"目录来存储任务列表、计划等,通过文件命名规范实现记忆功能
- 关键引用: "You don't need a memory backend for that...Just the basic read/write fs tools"(你不需要内存后端...只需基本的文件读写工具) "The agent will scan that directory every once in a while"(代理会定期扫描该目录)
- 关于定价计划对缓存设置影响的讨论(评论2)
- 主要观点:固定价格计划会激励提供商设置缓存,而计量计划则需要用户自己关注缓存
- 关键引用: "On fixed price plans...it improves their margins"(固定价格计划...能提高利润) "people are just beginning to appreciate its importance"(人们刚开始意识到其重要性)
- 代码仓库最佳实践与记忆系统的类比(评论3)
- 主要观点:指出记忆系统与代码仓库管理有相似的最佳实践
- 关键引用: "many of the same things are best practices for code repos"(许多相同点是代码仓库的最佳实践) "Don't let them bloat but don't refactor too often"(不要让其膨胀但也不要频繁重构)