AI 智能体工作流的自动化自主设计
- [1. 基本概念](#1. 基本概念)
-
- 1.1.人工设计的架构
- [1.2. 智能体系统自动化设计](#1.2. 智能体系统自动化设计)
-
- [1.2.1. 用代码来定义智能体](#1.2.1. 用代码来定义智能体)
- [1.2.2. 元智能体搜索](#1.2.2. 元智能体搜索)
1. 基本概念
1.1.人工设计的架构
现在全世界的顶尖科学家,都在努力把 AI 从一个"只能陪你聊天的对话框",升级为"能独立帮你办事的通用数字员工(智能体)"。
在造这个员工的时候,科学家们把基础模型当成了一个个底层的零件,通过巧妙的架构设计,把它们分别包装成多个功能部门,组合成了一个庞大的系统。包括负责思考(思维链)、负责检查(自我反思)和负责干活(Toolformer)等 功能部门
- 思维链:强迫大模型在回答前,必须先把解题步骤(第一步、第二步、第三步)一条条写在内部草稿纸上。把这个大模型模块放在系统的规划层,让 AI 在干活前先学会"谋定而后动",不容易忙中出错。
- 自我反思:让大模型去检查另一个大模型(或者它自己先前)写出的代码或方案。把这个大模型模块放在系统的质检层。它如果发现"代码报错了",就会自己生成一条改错意见:"第5行少了一个括号,请重新修改。"从而实现自我纠错。
- 电脑操作:训练大模型在写句子的过程中,学会主动吐出特殊的代码标签。把这个大模型模块放在系统的执行层。让系统知道,什么时候该帮 AI 去调用计算器、搜索引擎、或者数据库,让 AI 真正连接外部世界。
- 多智能体辩论架构(Multi-agent Debate): 3个不同的模型并行思考,最后投票表决。
前面的讲到的论文"基于智能体的上下文工程"属于"提示词层面"的进化,因为整个系统的信息流转路线、模块组合方式用 Python 代码全部锁死了。好比人类建好了一座钢筋混凝土的迷宫(固定的架构),ACE 唯一能做的,就是在迷宫的墙壁上不断改写、涂抹文字告示牌(优化提示词)。虽然告示牌越来越精准,但迷宫的墙壁和路线,AI 是一丁点也挪不动的。就算你的"上下文攻略"写得再完美,人类定死的工作流流程如果太笨,AI 还是会卡死。
机器学习的历史告诉我们,手工设计 的解决方案最终都会被自动学习的解决方案所取代。比如
- 以前(手工设计): 科学家们绞尽脑汁去研究人类眼睛的原理,手工编写算法去定义什么是"边缘"、什么是"猫耳朵的形状"。
- 后来(自动学习): 深度学习(卷积神经网络)诞生了。科学家什么规则都不写,直接喂给模型几百万张猫的照片,让它自己去学习如何辨认。结果,自动学习的算法把人类手工设计的算法打得落花流水。
人类别再费尽心思去帮 AI 设计复杂的"工作流程"了,应该把设计权完全交给 AI 自己。
- 现在(手工设计): 人类工程师在帮 AI 设计架构:第一步思维链(CoT),第二步工具调用(Toolformer),第三步自我反思。
- 预言: 这种人类手工设计的 Agent 架构,虽然现在好用,但未来一定会被 AI 自己学会、自己设计出的架构彻底取代。
1.2. 智能体系统自动化设计
智能体系统自动化设计 不是一个具体的 AI 智能体,而是一个"生产智能体的智能体工厂"或者"AI 架构师"。
- 传统做法: 人类工程师 ──设计──> 智能体系统(CoT、反思等) ──去干活──> 解决问题
- ADAS 做法: 人类工程师 ──设计──> ADAS(元智能体/AI架构师) ──自动编写代码/设计──> 产生无数个更强大的智能体 ──去干活──> 完美解决问题
目标是自动创建强大的智能体系统设计,包括发明全新的构建块(Building Blocks)以及/或者以全新的方式将它们组合起来。
- 发明全新的构建块:"构建块"就像是乐高积木的各种组件。现在人类发明的积木组件有"思维链"、"反思"、"策展"。AI 架构师在自己写代码尝试的过程中,可能会突破人类的想象力,发明出一种人类听都没听过、连名字都叫不出来的全新思考组件(比如一种奇特的、多向循环的、自带动态剪枝的推理逻辑)。
- 以全新的方式将它们组合起来:哪怕只用现有的积木组件,人类的组合方式也是很局限的(无非是:先规划 → \rightarrow → 再干活 → \rightarrow → 再反思)。AI 架构师可以通过穷举和进化算法,把这些组件用极其复杂的拓扑结构、网络结构组合在一起。比如让 5 个反思模块和 3 个工具模块交织成一个复杂的网络,实现人类根本写不出来的超高效工作流代码。
1.2.1. 用代码来定义智能体
一种尚未被充分探索但极具前景的方法:即用代码来定义智能体,并通过一个元智能体(Meta Agent)在代码空间中不断编写出更好的智能体,从而实现新智能体的自动发现。鉴于大多数编程语言都是图灵完备的,这种方法在理论上能够学习任何可能的智能体系统,包括全新的提示词、工具使用、工作流及其组合。
- "元(Meta)"在计算机里是"关于自身、上一层"的意思。元智能体就是"智能体的母亲",或者是"AI 程序员"。它的唯一任务不是去解决数学题或金融题,而是去写出新的、更聪明的 AI 子系统。
- 以前的 AI 优化是在"自然语言空间"里,也就是绞尽脑汁去想用中文或英文怎么写提示词更好(比如"请一步步思考"、"你现在是专家")。而 ADAS 把一个智能体的思考逻辑直接写成 Python 代码文件。元智能体在一个循环里不断操作:编写一个叫 agent_v1.py 的文件(里面包含了一套独特的算法)。让这个 agent_v1.py 去做测试题。看了看测试结果,发现有个漏洞,于是元智能体立刻修改代码,生成 agent_v2.py。如此循环往复,直到通过写代码自发"发现"了人类从未见过的最强智能体。
- 如果一种编程语言是图灵完备的(比如 Python、Java、C++),就意味着只要这个任务在数学上是有解的、可以用逻辑表达出来的,这种编程语言就绝对能够写出对应的程序来实现它。
- 文字提示词能表达的逻辑是非常模糊且有限的。但是一旦让元智能体去写 Python 代码,由于 Python 是图灵完备的,AI 就获得了上帝视角:可以用代码设计极其复杂的工作流(比如:如果条件A满足,就启动10个子AI并行投票,投票结果扔给另一个AI,失败了就触发代码里的时间延迟自动重试......这种逻辑如果用文字写成提示词,大模型早晕头了,但用代码表达却极其精准)。 它可以用代码将全新的提示词、外部工具调用完美熔接在一起。 由于编程语言没有极限,因此,元智能体通过写代码能进化出来的"智能体子孙后代",在理论上也没有极限。
在"基于智能体的上下文工程"里,错题本是死板的文本追加。通过阅读优秀的开放代码档案库(Archive),把"教训"直接固化成了代码逻辑。比如它发现上一代的代码在遇到网络延迟时崩溃了,它不会在提示词里写"注意网络延迟",而是直接在 Python 代码里加上 time.sleep(2) 和重试机制。元智能体在图灵完备的代码世界里疯狂写代码、改代码,去自动发明和组装出人类根本写不出来的、全新的超级 AI 系统(架构层面进化)。
1.2.2. 元智能体搜索
为了展示这一想法,我们提出了一个名为元智能体搜索(Meta Agent Search)的简单却有效的算法。在该算法中,元智能体基于一个不断增长的前期发现档案库,通过迭代编程来设计有趣的新智能体。
- 这就像是一个绝世高手(元智能体)写了一本《武功秘籍档案库》。他每写出一个新招式(新智能体代码),就拿去跟别人切磋;如果赢了,就把这个招式存进秘籍里;下一次,他会翻看这本越来越厚的秘籍,在老招式的基础上,通过不断改写代码(迭代编程),参悟出更厉害的绝招。
- 不断增长的前期发现档案库:当系统刚启动时,这个档案库是空的,或者只有人类写的最基础的 Agent 代码(比如只有一个最简单的 Prompt 加上一个 Tool 调用)。元智能体在后面不断写出合格的新智能体后,只要测试分数高,就会被当作"优秀的后代"存进这个档案库里。随着时间推移,档案库里积攒的"AI 架构设计"会越来越多、越来越强。
- 元智能体(Meta Agent)不是闭门造车瞎写,它的进化是有梯度的、踩在巨人的肩膀上。第一轮: 元智能体翻开档案库,看到人类写的基础架构(版本 1.0)。它用 Python 代码在上面加了个"反思重试"的函数,变成了版本 1.5。第二轮: 版本 1.5 表现很好,被存入了档案库。元智能体再次翻开档案库,这次它基于版本 1.5 的代码,又用 Python 写出了一个"多智能体投票"的控制流,变成了版本 2.0。第 N 轮: 如此循环往复(迭代)。每一次写代码,都是在上一轮最成功的代码基础上去魔改。
- 因为代码是图灵完备的(拥有无限可能),元智能体在疯狂修改代码的过程中,会跳出人类的思维定势。
通过在编程、科学和数学等多个领域的大量实验,我们表明该算法能够逐步发明出具有新颖设计的智能体,其性能大大超越了目前最先进的手工设计智能体。
至关重要的一点是,我们一致观察到了一个令人惊异的结果:由"元智能体搜索"发明的智能体即使在跨领域和跨模型迁移时,依然保持着优异的性能,证明了它们强大的鲁棒性(健壮性)与通用性。 在确保安全开发的前提下,我们的工作展示了一个令人兴奋的新研究方向的巨大潜力------通过自动设计越来越强大的智能体系统来造福人类。