# 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都为整体系统贡献特定功能或服务。