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