Agent 和多 Agent 应用#

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

许多软件系统可以建模为彼此交互的独立 agent 的集合。 例子包括:

  • 工厂车间的传感器

  • 为 Web 应用程序提供支持的分布式服务

  • 涉及多个利益相关者的业务工作流程

  • AI agent,例如由语言模型(例如 GPT-4)提供支持的 agent,可以编写代码、与外部系统交互以及与其他 agent 通信。

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

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

多 Agent 应用的特征#

在多 Agent 应用中,agent 可能:

  • 在同一进程或同一机器中运行

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

  • 以不同的编程语言实现,并使用不同的 AI 模型或指令

  • 为了共同的目标而协同工作,通过消息传递协调他们的行动

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

Agent 本质上是 可组合的:简单的 agent 可以组合起来形成复杂的、适应性强的应用程序,其中每个 agent 为整个系统贡献特定的功能或服务。