单智能体更简单、更易于维护。
当代 AI 智能体发展的元素,包括大语言模型、提示以及动作空间; 多智能体系统示例; 多智能体系统存在的问题; 如何从使用多个专门的智能体过渡到一个强大的智能体,以及一些需要解决的问题。
大语言模型 LLM; 提示:可以是用于指定模型一般行为的系统提示,或者从智能体周围环境中提取的信息类型; 动作空间:上述两项是研究者提供给 LLM 的辅助工具,以便智能体在真实世界中产生动作。
管理器(Manager):该智能体的提示指定它应该为其他智能体编写一个规划来执行,以及输出规划的动作空间; 复现器(reproducer):该智能体有一个提示,告诉它重现该问题,以及一个将代码写入重现错误文件 reduce.py 的动作空间; 故障定位器(Fault Localizer):该智能体有一个提示,告诉它找到导致错误的文件,以及一个使用软件工程工具进行故障定位和列出文件以供以后使用的动作空间; 编辑器(Editor):该智能体有一个提示,用于接收复现器和故障定位器的结果,并有一个动作空间,允许它对文件进行编辑; 验证器(Verifier):此智能体具有提示,可接收其他智能体的结果,以及输出问题是否已解决的动作空间。
将所有提示词连接起来使用:如果我们有一个多智能体系统,要使用 10 个不同的提示词,那么为什么不将它们连接组合到一起呢?近期的长下文模型已经有能力处理多达几十万 token 了,比如 Cluade 能处理 20 万 token,而 Llama 是 12.8 万。OpenHands 也使用了此方法。但这种方法也有一些缺点。首先是成本,更长的提示词需要更多金钱和时间,不过现在有一些技术(比如 Anthropic 的提示词缓存技术)可以降低其成本。这种方法的另一个缺点是,如果提示词太多,则 LLM 可能无法关注到重点,但随着模型能力提升,LLM 在确定长上下文中的重要信息方面越来越强了。 检索增强式提示:另一种可能的选择是使用检索。如同检索增强式生成(RAG)系统一样,可以出于效率或准确度的目的对长上下文进行裁剪。在选择提供 LLM 的示例方面,这里有一些研究进展:https://arxiv.org/abs/2209.11755