代理和多代理应用#
代理是一种软件实体,它通过消息进行通信,维护自身状态,并响应接收到的消息或状态变化执行操作。这些操作可能会修改代理的状态并产生外部效应,例如更新消息日志、发送新消息、执行代码或进行API调用。
许多软件系统可以建模为相互作用的独立代理集合。示例包括:
工厂车间的传感器
支持网络应用的分布式服务
涉及多个利益相关者的业务工作流
AI代理,例如由语言模型(如GPT-4)驱动的代理,它们可以编写代码、与外部系统交互并与其他代理通信。
这些由多个相互作用的代理组成的系统被称为多代理应用。
注意
AI代理通常使用语言模型作为其软件堆栈的一部分,以解释消息、进行推理和执行操作。
多代理应用的特点#
在多代理应用中,代理可能:
在同一进程或同一机器上运行
跨不同机器或组织边界操作
使用不同的编程语言实现,并利用不同的AI模型或指令
通过消息协调行动,共同实现一个共同目标
每个代理都是一个独立的单元,可以独立开发、测试和部署。这种模块化设计允许代理在不同场景中重用,并组合成更复杂的系统。
代理本质上是可组合的:简单的代理可以组合形成复杂、适应性强的应用,其中每个代理都为整个系统贡献特定的功能或服务。