颠覆传统!用自然语言做梯度优化多智能体系统
《文本梯度:多智能体系统优化的新范式》摘要 近期《自然》期刊提出TextGrad框架,开创性地利用自然语言反馈(文本梯度)优化多智能体AI系统。该研究突破传统反向传播依赖数值梯度的限制,通过LLM生成的文本改进建议(如"总结可通过...改进")实现黑箱系统的自动优化。实验表明,TextGrad在代码优化(LeetCode正确率提升10%)、复杂问答(MMLU物理子集提升3.9%
AI的发展正经历一场静默革命——我们正从优化单一模型转向构建由多个大型语言模型(LLMs)协同工作的复杂系统(即多智能体系统,Multi-agent)。
在这些系统中,多个大型语言模型协作,像神经元一样彼此交互,一起完成推理、决策乃至创造性工作。
多智能体系统
指由多个AI模型协同工作以完成复杂任务的系统。
例如,数学问题求解系统:在该系统中,一个LLM负责理解问题并制定解题策略,另一个LLM可能负责细化解题步骤,另一个LLM负责调用工具执行精确的数学计算等。
但问题也来了——
这些系统目前主要依靠专家手工设计和调整,而非自动优化。
这就像80年代深度学习尚未普及时,人们还要一层一层「手搓神经网络」,极其低效。
如果我们可以像训练神经网络那样,系统性地优化多智能体系统,那AI的能力将迎来一次飞跃。
但,要做到这一点,需要解决一个核心难题:
没有梯度,怎么优化?
回头看看:深度学习是如何被反向传播拯救的
在深度学习的早期,人们也曾遇到类似困境:
训练一个多层神经网络极其困难,因为不知道每层参数该怎么调整。
直到反向传播(Backpropagation)和自动微分(Automatic Differentiation)被发明,人们才找到了利用梯度调整参数的办法。
简而言之,反向传播就像蒙着眼睛下山:每一步,你只能用脚感知四周的坡度,然后朝着坡度最陡的方向走,最终一步步接近山谷底部。而自动微分帮我们精准算出每一步该怎么走。
神经网络因此进入了爆发期。
反向传播与数值梯度
反向传播从模型输出的错误开始,逐层向前追溯每层参数的责任,然后计算每个参数对错误的影响程度,并最终调整相应参数以减小错误。它能自动帮我们计算复杂函数中每个参数对最终结果的影响程度。
上图中展示了一个三层神经网络(输入层 → 隐藏层 → 输出层),各节点的数值表示节点的激活值,边上的数字是连接权重。反向传播从输出层开始,逐层向前计算每个节点对最终损失(Loss)的影响程度(即梯度)。蓝色箭头标注了隐藏层节点 h1 和输入层节点 v1 的梯度值,说明误差如何通过网络层层传递,并指导参数更新以最小化最终损失。
新革命:用文本当「梯度」,反向传播多智能体系统
受反向传播这一思想的启发,近日一项发表在《自然Nature》 的研究介绍了TextGrad:通过LLM生成的文本,反向传播优化多智能体系统。
核心创新:
不需要模型内部参数的数值梯度。
直接用自然语言反馈,即文本梯度(Text Gradient)来指导优化。
可以优化黑箱系统,灵活且通用。
比方说:
传统反向传播是用精确数字调整参数。
TextGrad则用一段文字反馈 (见上图),告诉你「这里需要改进」,再把这条信息反向传回去修正上游设计。
TextGrad怎么做到的?
TextGrad和PyTorch的设计非常相似——你可以把它想成是面向多智能体系统的「PyTorch」。
TextGrad与PyTorch共享相同的语法,这意味着TextGrad具有通用性且易于学习。在上图的例子中,TextGrad使用了与PyTorch相同的语法来实例化网络变量θ、目标输出y和预测输出y_hat、模型f、损失函数L和梯度下降优化器GD。具体来说,在TextGrad框架中,模型f可以是一个黑盒语言模型。以一篇文章作为该模型的输入并要求模型输出其总结为例,TextGrad将对该模型输出的总结进行评估以计算出文本梯度。文本梯度在这个例子中类似于「该文章的总结可以通过...改进」,它描述了如何修改组件以提高系统的整体性能。然后TextGrad将该文本梯度进行反向传播来优化最初发送给模型的指令(即prompt)。
只不过在TextGrad中:
LLM可以是黑箱,比如一个API调用的GPT-4。
梯度不是数学上的导数,而是自然语言形式的改进建议(文本梯度)。
优化的不是底层参数,而是Prompt、输出文本、方案设计等组件。
这种方式,让原本无法直接训练优化的复杂系统,也能像神经网络一样,通过反馈不断迭代。
那么,TextGrad具体能用来做什么?
研究团队在多个领域进行了验证,下面一一展开:
1. 代码优化
任务:让LLM写正确、简洁的代码。
比如:给定数组 nums = [1, 3, 2],目标是找出其中中位数等于 2 的非空子数组数量。
对于这个问题,我们可以直接枚举所有子数组并计算其中位数。
因此,中位数为 2 的子数组有 [1, 3, 2]、[3, 2] 和 [2],一共 3 个。所以,答案是 3。
在上述示例问题中,GPT-4o提出的第一个解决方案未能通过测试(见下图中上方的代码)。
而TextGrad识别出了该解决方案中的一个边界情况,并提供了改进建议(见上图右侧),然后TextGrad将这些建议(即文本梯度)加入到了最初的prompt,最终成功让GPT-4o写出了正确的代码。
最终在LeetCode Hard题集上,GPT-4o完成率从26%提升到了36%,超过了自我改进基线Reflexion(31%)!
更值得注意的是,TextGrad在零样本(zero-shot,即无示例代码)设置下实现了这一提升,而Reflexion的成绩则是基于给了一个示例代码(one-shot)的。
2. 解决方案优化
任务:让LLM不断改进推理过程或答案。
这里优化的参数是解决方案(Solution),而损失函数是通过对解决方案的评估获得的。在每次迭代中,LLM会被要求提供问题、当前解决方案和一个测试时指令,并对当前迭代进行评估。尽管LLM可能在第一次尝试时无法正确解决问题,但它可以通过迭代来不断改进解决方案。
在以下多个问答基准测试上,TextGrad显著提升了GPT-4o的性能:
MMLU机器学习子集:从85.7%提升到88.4%
MMLU大学物理子集:从91.2%提升到95.1%
GPQA(博士级问题):从51.0%提升到55.0%
多模态推理任务MathVista和ScienceQA-IMG:分别提升2.1%和2.2%
3. 提示优化(Prompt Optimization)
任务:找到最能让LLM发挥出色的Prompt。
在标准推理任务(物体计数、单词排序、小学数学问题)上,TextGrad优化后的提示使准确率进一步提升,甚至超过了先进的DSPy框架(见下图)。
更有趣的是,这项研究还发现:为gpt-3.5-turbo优化的提示,可以转移到Qwen-2.5和Llama-3.2-9B等开源模型上以提高其性能。
除了以上常见领域,Textgrad甚至还能广泛地应用到医疗领域。
更进一步,TextGrad还能做
1. 放射治疗计划优化
放疗设计是一场复杂的权衡(杀死肿瘤 vs 保护正常器官)。
目前,治疗计划制定人员往往依赖于耗时的试错方法来调整杀死肿瘤和保护器官的重要性权重,使得这个过程既耗时又昂贵。
当用于杀死肿瘤的PTV(计划靶区的放射剂量)存在剂量溢出时,文本梯度建议增加PTV的重要性权重。
此调整导致PTV的剂量更加均匀和局限。然而,这可能导致健康器官的保护不足,例如图中的膀胱(Bladder)和直肠(Rectum),因为它们的相对权重被降低了。
因此,在接下来的步骤中,文本梯度建议略微增加膀胱和直肠的权重,从而更好地保护这两个器官(见上图)。
TextGrad帮助GPT-4o优化了剂量加权权重,最终生成的治疗计划,比临床标准方案在理论上更精准、保护更好。
2. 复合AI系统优化
Chameleon系统是一个多模块、多工具组合的复杂AI代理系统。
当用户询问Chameleon三个物体之间的共享特征时,Chameleon起初为这个问题提供了错误的分析过程(见下图b中Knowledge retrieval的Variable)和解决方案(见下图b中Solution generator的Variable)。
对于图片问答任务,Chameleon提供的原始规划和执行流程(见上图顶部的流程图)是静态的,没有反馈机制,这可能导致随着流程的推进而出现错误积累。 TextGrad从第一个模块开始,逐步迭代到最后一个模块,以优化每个模块的输出。对于每个模块,优化过程使用损失函数评估LLM的回复,通过TextGrad计算文本梯度,并反向传播这些梯度以更新模块的输出。
而TextGrad能识别出推理轨迹中的错误并迭代地反向传播文本梯度(见上图b中两个Gradients),最终正确地优化了模块输出。
经评估,TextGrad在进行2次优化迭代后,相较于基线性能提高了5.7%,在进行3次迭代后提高了7.7%。
另外,TextGrad还被证实可用于提高多模态模型(multimodal models)的空间推理能力。在视觉问答中,图像与有关图像内容的问题通常一起呈现。
例如,一个多模态模型被提供了相应的文本梯度,如根据图片回答问题,「让我们一步步思考」。下图展示了优化前的指导性提示和优化后的指导性提示。
另一个多模态模型则使用了文本梯度来评估解决方案。下图展示了优化前的解决方案和优化后的解决方案。
总体来看,这个多智能体系统的架构如下图。
TextGrad将共同优化其中的两组提示(用于答案生成的指导性提示,以及用于评估的损失提示)和解决方案,这三者可以在TextGrad中视为单独的变量。
在高质量幻觉基准(HQH)中的1600个视觉问答对的结果显示:
与使用链式思维的GPT-4o相比,使用TextGrad共同优化解决方案和提示后,准确率提高了9%,且优于Reflexion。
TextGrad可能开启新的AI系统优化时代
TextGrad代表了一种新的思路:
用语言而非数值,来优化系统。
让黑盒、多组件的AI系统也能像神经网络那样「反向传播」成长。
通用、开源、易上手(PyTorch语法)。
就像反向传播曾经解锁了神经网络的潜力,TextGrad有可能解锁下一代AI系统的协作潜力。
它让生成式AI的优化,从「手搓微调」真正走向了自主、系统、通用的工程化之路。
未来,AI的训练可能不再只在单个模型上打磨,而将在复杂系统中展开。
更多推荐
所有评论(0)