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

想象一下,你雇了一个实习生(AI大模型),他学东西超快,能力超强,几乎什么都会。但你发现他有个致命的毛病:记性不好,而且容易分心

  • 你让他去完成一个包含10个步骤的复杂任务,比如"去客户公司取回合同,复印三份,一份给法务部,一份给财务部,最后把原件送到总裁办公室归档"。
  • 当他做到第3步"复印三份"时,可能就已经忘了最初的目标是"取回合同",也忘了最后要送给谁。他可能会拿着复印件,然后问你:"老板,接下来干嘛?" 这就是 "目标漂移" (Goal Drift)
  • 更糟糕的是,如果你给他的指令太长,他只对开头和结尾的印象最深,中间部分很容易忽略掉。这就是AI研究中提到的 "中间遗忘" (Lost in the Middle) 问题。

Manus这篇文章要解决的,就是AI Agent(人工智能代理)在处理需要很多步骤(比如几十上百次工具调用)的复杂任务时,如何克服这种"聪-明的健忘症"。

核心思想是什么?------"不要改造大脑,而是给它一个好用的笔记本"

文章提出的核心思想非常巧妙,不是去尝试"治好"AI的健忘症(这需要改造AI模型本身,非常困难),而是用一种聪明的工作方法来绕过这个问题。

这个方法就是:强制AI把所有要做的事情,以及每一步的进展,都清清楚楚地写在一个"笔记本"上,并且每做完一小步,就要重新看一遍、整理一遍这个笔记本。

这个"笔记本",就是我们在之前讨论中提到的 todo.md 文件。

这个过程,文章称之为 "上下文工程" (Context Engineering) 。意思就是,我们不去改变AI,而是精心设计和管理我们"喂"给AI的信息(即"上下文"),来引导它的行为和注意力。


整个方法的精髓所在,具体分为以下几个步骤:

第一步:先思考,写下计划 (Plan First)

  • 当接到一个复杂任务时,AI Agent的第一件事不是马上动手干活。
  • 而是先"动脑筋",把完成整个任务需要的所有步骤,一条一条地写进一个todo.md文件里。这就像你给那个实习生一支笔和一个便签本,让他把自己要干的活先写下来。

第二步:只看清单,干一件事 (Focus on One Item)

  • AI看着清单上的第一项任务,然后集中精力去完成这一项。比如,清单第一项是"调用A工具获取数据"。

第三步:更新清单,划掉已完成的 (Update the List)

  • 一旦完成了第一项任务,AI 不会 马上接着做第二项。
  • 它会做一件至关重要的事:重新生成一整个todo.md文件 。在这个新版本的文件里,它会把刚刚完成的第一项任务用删除线划掉(或者打个勾 [x]),并可能记录下这一步的结果(比如"数据已成功获取")。

第四步:循环往复,直到全部完成 (Loop until Done)

  • AI会拿着这个 更新后 的清单,再次从头看起,找到下一个未完成的任务,然后重复第2步和第3步。

这个方法为什么神奇?

因为AI的注意力总是在它接收到的信息的 "末尾" 。通过在每一步之后都 "重写整个清单" ,Manus实际上是把 "总目标"和"下一步计划" 这些最重要的信息,在每一次决策前,都重新放到了上下文的末尾。

这就像你每当那个健忘的实习生做完一件事,就把他拉过来,指着笔记本对他说: "很好,这件事做完了。别忘了,我们的最终目标是把合同归档,你现在需要去做下一件事------复印。去吧!"

通过这种方式,AI的注意力被人为地、反复地拉回到主任务上,从而避免了走神和忘记目标。

相关推荐
Andrew_Ryan25 分钟前
Chisel 工具使用教程
后端
AntBlack43 分钟前
体验了一把 paddleocr , 顺便撸了一个 桌面端 PDF识别工具
后端·python·计算机视觉
用户1512905452201 小时前
C 语言教程
前端·后端
UestcXiye1 小时前
Rust Web 全栈开发(十):编写服务器端 Web 应用
前端·后端·mysql·rust·actix
用户1512905452201 小时前
基于YOLOv10算法的交通信号灯检测与识别
后端
用户1512905452201 小时前
Netstat命令详解(windows下)
后端
用户1512905452201 小时前
GetTickCount() 函数的作用和用法
后端
能活着就行1 小时前
Java线程的三种创建方式
后端
努力的小郑2 小时前
Spring Boot整合阿里云OSS企业级实践:高可用文件存储解决方案
spring boot·后端·阿里云
哒哒哒6马哈3 小时前
gRPC-SpringBoot 共享.proto文件包问题
后端