Manus官方昨天分享了在构建 Manus 项目过程中关于上下文工程(Context Engineering)的经验教训。
下方是Manus总结的上下文工程的6点干货,都非常硬核,每个点都很有价值。
1.围绕 KV 缓存设计
KV 缓存命中率是衡量 AI Agent性能的最重要指标之一,因为它直接影响延迟和成本。
Agent的工作流程会扩展上下文:接收用户输入后,通过一系列工具调用完成任务,每次迭代都会扩展上下文。由于上下文的快速增长,KV 缓存可以显著减少首次输出的时间(TTFT)和推理成本。
Manus关键实践:
-
保持提示前缀稳定,避免因小改动导致缓存失效。 -
使上下文只增不减,避免修改历史动作或观察结果。 -
明确标记缓存断点,确保系统提示的结尾包含在内。
2. 隐藏而非移除工具
随着Agent能力的增加,其动作空间会变得复杂,容易导致模型选择错误动作。建议避免在迭代过程中动态添加或移除工具,因为这会破坏 KV 缓存。
Manus 使用上下文感知的状态机来管理工具的可用性,通过在解码时隐藏特定动作的标记,而不是移除工具定义。
3. 将文件系统作为上下文
现代 LLM 的上下文窗口虽然较大,但在实际Agent场景中可能仍然不足。需要使用文件系统作为上下文,文件系统视为无限大小、持久且可操作的上下文。
Manus 的模型学会按需写入和读取文件,将文件系统用作结构化的外部记忆。压缩策略设计为可恢复的,以避免信息丢失。
4. 通过复诉增强注意力
Manus 在处理复杂任务时会创建一个 `todo.md` 文件,并逐步更新任务进度。这种机制通过将任务目标放到LLm输入的开头和末尾,在模型注意力范围,避免了“迷失在中间”的问题。
5. 保留错误信息
Agent在多步任务中会犯错误,这是不可避免的。
manus将错误信息保留在上下文中,让模型通过观察失败的动作和结果来更新其内部信念,从而减少重复错误的可能性。
6. 避免少样本提示
少样本提示虽然可以改善 LLM 的输出,但在Agent系统中可能会导致问题。模型会模仿上下文中的行为模式,如果上下文过于相似,会导致模型陷入重复模式。
Manus 通过引入结构化的变异来打破这种模式,增加多样性。
我只想说非常硬核干货,很多痛点都碰到过。
原文地址:https://manus.im/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus
关注我们!与InfraLink共赴智能未来
🔗 聚焦数据科学 | 深耕算法创新 | 赋能AI工程化
📌 技术干货持续更新,全球生态合作共建
✨ 点击关注@InfraLink,解锁更多前沿技术资讯与实践洞察

