应用堆栈#

AutoGen 核心被设计为一个不带偏见的框架,可用于构建各种多智能体应用程序。它不与任何特定的智能体抽象或多智能体模式绑定。

下图显示了应用程序堆栈。

Application Stack

堆栈的底部是基础的消息传递和路由设施,它们使智能体能够相互通信。这些由智能体运行时管理,对于大多数应用程序,开发人员只需与运行时提供的高级 API 交互(参见智能体和智能体运行时)。

在堆栈的顶部,开发人员需要定义智能体交换的消息类型。这组消息类型构成了智能体必须遵守的行为契约,契约的实现决定了智能体如何处理消息。行为契约有时也称为消息协议。实现行为契约是开发人员的责任。多智能体模式从这些行为契约中产生(参见多智能体设计模式)。

一个示例应用程序#

考虑一个用于代码生成的具体多智能体应用程序示例。该应用程序由三个智能体组成:编码器智能体、执行器智能体和审阅者智能体。下图显示了智能体之间的数据流以及它们之间交换的消息类型。

Code Generation Example

在此示例中,行为契约包括以下内容

  • 从应用程序到编码器智能体的 CodingTaskMsg 消息

  • 从编码器智能体到执行器智能体的 CodeGenMsg 消息

  • 从执行器智能体到审阅者智能体的 ExecutionResultMsg 消息

  • 从审阅者智能体到编码器智能体的 ReviewMsg 消息

  • 从审阅者智能体到应用程序的 CodingResultMsg 消息

行为契约由智能体对这些消息的处理来实现。例如,审阅者智能体监听 ExecutionResultMsg 并评估代码执行结果以决定是批准还是拒绝,如果批准,则向应用程序发送 CodingResultMsg,否则,向编码器智能体发送 ReviewMsg,进行另一轮代码生成。

这种行为契约是一种称为*反思*的多智能体模式,其中生成结果由另一轮生成进行审阅,以提高整体质量。