企业中一般智能体的实现,搭建一个while循环--获取用户提示词,发送给大模型,解析工具调用,执行工具,返回结果,再循环,这是智能体1.0的架构。
智能体1.0架构可以很好的解决事务性的任务,比如问天气如何?应该穿什么衣服?
这种架构是无状态的,严重依赖整个大脑的上下文窗口。
但如果解决复杂性任务,需要执行50步,这样的架构大模型必然会分心、丢失上下文,或因为超过上下文窗口而产生幻觉、陷入无限循环,这也是manus这种智能体面对复杂任务处理不好的原因。
为了让智能体解决复杂任务,架构就需要将规划与执行解耦,不仅仅是在循环中被动响应了,而是需要主动做任务规划、管理持久记忆,并将工作任务委派给专门的子智能体,以实现分步骤解决复杂问题,这是智能体2.0架构的实现思路。

比如在manus中,会通过Markdown文档维护一个待办事务列表,形成一个显示的计划。
在完成每一个子任务,智能体都会审查并更新此计划,将步骤标记为待处理、进行中、已完状态。
如果某个步骤执行失败,它不会盲目重试,而是更新计划以适应失败。
这让智能体可以专注更高层次的任务。
复杂任务会被拆成多个专业化的子任务,并且对子任务执行进行编排。
主智能体将主任务拆分,编排器决定哪些任务委派给哪个子智能体,每个子智能体都有干净的上下文,这样在子智能体内可以执行工具调用、循环调用,返回结果给编排器。
复杂任务上下文会非常多,为了防止上下文窗口溢出,智能体2.0架构会引入外部记忆源,如文件系统或向量数据库用于存储记忆,包括任务执行的中间结果(代码、草稿、原始数据),后续智能体引用文本路径或在存储中检索必要内容,因为智能体知道在哪里找到信息。
更智能的模型需要更高质量的上下文提示,依赖高度详细的指令,这些指令定义了:何时停下来进行规划、何时生成子任务、工具定义与描述、工具如何使用。

智能体2.0架构和智能体1.0架构最大的区别是,不仅仅通过LLM链接更多的工具,而是从被动循环到主动规划的转变,从围绕于模型到围绕于工程架构的体现。
通过显示规划、子任务和子智能体的委派、主动控制上下文就可以控制了复杂任务解决的复杂度。