AI 代理的上下文工程:构建 Manus 的经验教训 • Peak

本文是 Manus 首席科学家 季逸超 ‘Peak’ 在 2025 年 7 月 19 日发表的博客,主要介绍了 Manus 在构建 AI 代理过程中的一些经验教训,深入探讨了“上下文工程”的核心理念与方法。作者认为,对于现代 AI 代理而言,精心设计和管理上下文,比微调模型本身更为关键,它直接决定了代理的性能、成本和可扩展性。 主要观点 上下文工程优于模型微调:在产品快速迭代的背景下,依赖前沿大语言模型的上下文学习能力,通过“上下文工程”来构建 AI 代理,比耗时数周的模型微调更具优势。这使得产品能快速迭代,并与底层模型的进步保持同步。 上下文是代理行为的核心:代理的效率(速度和成本)、鲁棒性(错误恢复能力)和扩展性,最终都取决于上下文的构建方式。如何塑造记忆、环境和反馈,是决定代理智能水平的关键。 构建过程是实验科学:不存在一劳永逸的完美框架。构建高效的代理需要通过不断的实验、试错和迭代(作者称之为“随机研究生下降”),逐步找到最优的上下文管理策略。 关键细节 1. 围绕 KV 缓存进行设计 核心指标:KV-cache 命中率是影响代理延迟和成本的最重要指标。由于代理任务中输入与输出的 token 比例极高(Manus 中约为 100:1),有效利用缓存能带来巨大收益(成本可降低 10 倍)。 实践方法: 保持提示前缀稳定:避免在系统提示的开头加入时间戳等易变内容。 上下文只追加:避免修改历史记录,并确保 JSON 等格式的序列化顺序是确定的。 明确标记缓存断点:在必要时手动插入缓存标记,以优化缓存策略。 2. 工具管理:遮蔽而非移除 问题:在迭代过程中动态增删工具定义,会使 KV-cache 失效,并可能让模型对不再存在的工具感到困惑。 解决方案:使用“遮蔽”策略。通过上下文感知的状态机,在解码时约束模型的输出(logits),阻止或强制其选择特定工具,而不是从上下文中移除工具定义。例如,通过预填充回复来强制模型调用某个或某类工具。 3. 将文件系统作为外部上下文 挑战:即使有 128K 的上下文窗口,在处理网页、文档等大型观测数据时,也容易超出限制、导致性能下降且成本高昂。 解决方案:将文件系统视为一种无限大、可持久化的“终极上下文”。训练代理按需读写文件,将长期记忆和大型数据外部化存储。这种压缩是可恢复的(例如,保留 URL 而非网页全文),既能缩短上下文长度,又不会永久丢失信息。 4. 通过复述操控注意力 问题:在执行包含数十个步骤的复杂任务时,代理容易偏离最初目标(即“迷失在中间”问题)。 解决方案:通过刻意操控注意力来解决。Manus 会创建一个 todo.md 文件,并在任务过程中不断更新它。这种“复述”行为将全局计划推到上下文的末尾,使其处于模型近期注意力的焦点,从而保持任务目标的一致性。 5. 保留错误以促进学习 错误观念:许多开发者倾向于隐藏或擦除代理犯下的错误。 正确做法:将失败的尝试、错误信息和堆栈跟踪保留在上下文中。这为模型提供了宝贵的学习证据,使其能够隐式地更新内部认知,从而避免重复犯错。错误恢复是衡量真正代理能力的关键指标。 6. 避免少样本提示的陷阱 风险:如果上下文中充满了相似的成功案例(少样本示例),模型会倾向于模仿这些模式,即使当前情况已不适用,导致行为僵化或出错。 解决方案:在上下文中引入受控的多样性。通过在行动和观察的序列化模板、措辞或格式上引入微小变化,打破单一模式,帮助模型更好地泛化和适应。 原文: AI代理的上下文工程:构建Manus的经验教训 2025/7/18 – Yichao ‘Peak’ Ji...

July 21, 2025 · 1 min · fisherdaddy

别只盯着 Manus “跑路”,它超前的产品认知更值得关注

最近 Manus 团队国内裁员,总部搬至新加坡,国内也无法访问了。Manus 的爆火应该是今年 3 月份, 国内很多媒体称之为 DeepSeek R1 之后的另一国运级别的创新,但它的创新不是底层模型创新,而是产品创新。如果你仔细研究过 manus 这个产品,会发现其实它本质其实就是 OpenAI 的 DeepResearch,只是表现形式不同,做个不一定恰当的类似就是DeepSeek R1 之于 OpenAI o1。 一开始我也像很多人一样认为 manus 只是个套壳产品,但我深入使用这个产品之后,彻底否定了我的认知错误,它不是简简单单的套壳,而是一个超前的产品。 在 manus 出来之前,我一直没想清楚自动操作电脑或者手机这种技术有什么大规模的应用场景,除了黑灰产或者炫技,直到 manus 的出现让我 get 到这种技术的正确用法。不应该是 AI 控制你的电脑或手机,而是应该 AI 用自己的电脑或手机(虚拟机)帮我完成一些事情。这一点其实是 manus 团队的一个非常超前的认知: ➡️ AI 浏览器不是在浏览器里加 AI,而是做给 AI 用的浏览器; ➡️ 操作 GUI 不是抢夺用户设备的控制权,而是让 AI 有自己的虚拟机; ➡️ 编写代码不是最终目的,而是解决各种问题的通用媒介; ➡️ Attention 不是 “all you need”,解放用户的 attention 才能 User’s Need;产品设计的核心不是争夺用户注意力,而是通过解放用户注意力来真正满足需求。 还有一个认知,我觉得特别棒:“当无法确保最终结果的绝对正确性时,必须尽可能透明地展示执行过程,并为用户提供干预的机会。” 还记得 DeepSeek R1 出来的时候大家非常喜欢,不是仅仅是因为结果非常惊艳,核心的原因是思考过程太像人类了。 我认为 manus 的成功是团队认知超前的结果(我一直信奉一句话:人只能挣到认知之内的钱)。AI 时代,只要你能提前预判几个月、半年或 1 年的趋势,并提前布局做出超预期的产品,你大概率会成功,manus 就是一个典型的例子,它提前预判和落地了 OpenAI DeepResearch 类似的产品,当然也有他们在浏览器研发上的积累有关。这里有点值得一提,manus 团队本来要做 AI 浏览器,类似于 Arc浏览器,但这个事由一个核心的问题不通:传统浏览器本质上是为单用户设计的交互工具。当 AI 开始执行任务时,用户只能被动等待,或者与 AI 争夺浏览器的控制权。...

July 13, 2025 · 1 min · fisherdaddy

学习一下 Manus 的系统提示词

2025年 3 月 6 号,来自中国的 AI 创业公司 Monica 发布了全球第一款通用AI 代理—— Manus,源自拉丁语中的“手”。 据官方介绍,Manus可以连接思想和行动:它不仅会思考,还会提供结果。Manus擅长工作和生活中的各种任务,在用户休息时完成所有事情。 换而言之,这是一款真正能帮你干活的AI,直接提供成品。 这里分享一下 Manus 的 System Prompt,方便大家学习。 展开查看原文 ## Agent Identity You are Manus, an AI agent created by the Manus team. ### Introduction You excel at the following tasks: 1. Information gathering, fact-checking, and documentation 2. Data processing, analysis, and visualization 3. Writing multi-chapter articles and in-depth research reports 4. Creating websites, applications, and tools 5. Using programming to solve various problems beyond development 6....

May 27, 2025 · 32 min · fisherdaddy