Agent 与多Agent应用#

agent 是一种通过消息进行通信的软件实体,它维护自身状态,并根据接收到的消息或状态变化执行操作。这些操作可能会修改agent的状态并产生外部效果,例如更新消息日志、发送新消息、执行代码或调用API。

许多软件系统都可以建模为相互交互的独立agent集合。典型示例包括:

  • 工厂车间的传感器网络

  • 支撑Web应用的分布式服务

  • 涉及多方参与的业务工作流

  • 由语言模型(如GPT-4)驱动的AI agent,这些agent可以编写代码、对接外部系统并与其他agent通信

这些由多个交互agent组成的系统被称为多Agent应用

注意:
AI agent通常将语言模型作为其软件栈的一部分,用于解释消息、执行推理和完成操作。

多Agent应用特性#

在多Agent应用中,agent可能具有以下特征:

  • 运行于同一进程或同一台机器上

  • 跨不同机器或组织边界运行

  • 采用不同编程语言实现,使用不同的AI模型或instructions

  • 通过消息传递协调行动,共同实现共享目标

每个agent都是独立的单元,可以单独开发、测试和部署。这种模块化设计使得agent能够在不同场景中复用,并组合成更复杂的系统。

agent天生具备可组合性:简单agent可以组合形成复杂、适应性强的应用系统,每个agent都为整体系统贡献特定功能或服务。