一年来,我们的工作自动生成器强调了代理人工智能和多代理应用程序的变革潜力。今天,我们很高兴宣布 AutoGen v0.4,这是一个重要的里程碑,来自我们的用户和开发人员社区的见解。此更新代表了 AutoGen 库的彻底重新设计,旨在提高代理工作流程中的代码质量、稳健性、通用性和可扩展性。
最初发布的自动生成器引起了人们对代理技术的广泛兴趣。与此同时,用户还面临架构限制、快速增长导致的低效 API 以及有限的调试和干预功能等问题。反馈强调了对更强的可观察性和控制性、更灵活的多代理协作模式以及可重用组件的需求。AutoGen v0.4 通过其解决了这些问题异步、事件驱动架构。一个
此更新使 AutoGen 更加强大和可扩展,从而支持更广泛的代理场景。新框架包括以下功能,其灵感来自于 Microsoft 内部和外部的反馈。
- 异步消息传递:代理通过异步消息进行通信,支持事件驱动和请求/响应交互模式。
- 模块化且可扩展:用户可以使用可插入组件轻松定制系统,包括定制代理、工具、内存和模型。他们还可以使用事件驱动模式构建主动且长期运行的代理。
- 可观察性和调试:内置指标跟踪、消息跟踪和调试工具提供对代理交互和工作流程的监视和控制,并支持 OpenTelemetry 以实现行业标准的可观察性。
- 可扩展和分布式:用户可以设计复杂的分布式代理网络,跨组织边界无缝运行。
- 内置和社区扩展:扩展模块通过高级模型客户端、代理、多代理团队和代理工作流程工具增强了框架的功能。社区支持允许开源开发人员管理自己的扩展。
- 跨语言支持:此更新支持使用不同编程语言构建的代理之间的互操作性,当前支持 Python 和 .NET 以及正在开发的其他语言。
- 全类型支持:接口在构建时强制执行类型检查,提高稳健性并保持代码质量。
新的 AutoGen 框架
如图 1 所示,AutoGen 框架采用分层架构,在框架、开发人员工具和应用程序中明确定义职责。该框架包含三层:核心层、代理聊天层和第一方扩展层。
- 核:事件驱动代理系统的基础构建块。
- 代理聊天:一个构建在核心层上的任务驱动的高级 API,具有群聊、代码执行、预构建代理等功能。这一层最类似于AutoGen v0.2(在新选项卡中打开),使其成为最容易迁移的 API。
- 扩展:核心接口和第三方集成的实现,例如Azure代码执行器和OpenAI模型客户端。
除了框架之外,AutoGen 0.4 还包括升级的编程工具和应用程序,旨在支持开发人员构建和试验 AutoGen。
AutoGen 工作台:使开发人员能够通过测量和比较跨任务和环境的性能来对其代理进行基准测试。
AutoGen工作室:该低代码接口基于 v0.4 AgentChat API 进行了重建,可实现 AI 代理的快速原型设计。它引入了一些新功能:
- 实时代理更新:通过异步、事件驱动的消息实时查看代理操作流。
- 中期执行控制:暂停对话、重定向代理操作并调整团队组成。然后无缝地恢复任务。
- 通过 UI 进行互动反馈:添加 UserProxyAgent 以在团队运行期间实时启用用户输入和指导。
- 消息流可视化:通过映射消息路径和依赖关系的直观可视化界面了解代理通信。
- 拖放式团队构建器:设计代理团队以可视化方式使用界面将组件拖动到位并配置其关系和属性。
- 第三方组件库:从外部库导入并使用自定义代理、工具和工作流程来扩展功能。
磁力一号:一种新的通用多代理应用程序,用于解决跨各个领域的开放式 Web 和基于文件的任务。该工具标志着创建能够完成工作和个人环境中常见任务的代理的重要一步。
迁移到 AutoGen v0.4
我们实施了多项措施来促进从之前的 v0.2 API 的平滑升级,解决底层架构的核心差异。
首先,AgentChat API 保持与 v0.2 相同的抽象级别,从而可以轻松地将现有代码迁移到 v0.4。例如,AgentChat 提供了 AssistantAgent 和 UserProxy 代理,其行为与 v0.2 中的类似。它还提供了一个团队接口,其中包含 RoundRobinGroupChat 和 SelectorGroupChat 等实现,涵盖了 v0.2 中 GroupChat 类的所有功能。此外,v0.4 引入了许多新功能,例如流消息、改进的可观察性、保存和恢复任务进度以及从中断处恢复暂停的操作。一个
如需详细指导,请参阅迁移指南(在新选项卡中打开)。
期待
这一新版本为强大的生态系统奠定了基础,并为推动代理人工智能应用和研究的进步奠定了坚实的基础。我们的路线图包括发布 .NET 支持、针对具有挑战性的领域引入内置且设计良好的应用程序和扩展,以及培育社区驱动的生态系统。我们仍然致力于负责任地开发 AutoGen 及其不断发展的功能。
我们鼓励您与我们互动AutoGen 的 Discord 服务器(在新选项卡中打开)并向官方分享反馈AutoGen 存储库(在新选项卡中打开)通过 GitHub 问题。通过以下方式随时了解 AutoGen 的最新更新X(在新选项卡中打开)。一个
致谢
我们要感谢许多人,他们的想法和见解帮助正式确定了本版本中引入的概念,包括拉詹·查里,埃斯·卡马尔,约翰·兰福德,陈庆安、鲍勃·韦斯特、保罗·米内罗、萨福拉·优素菲、威尔·艾普森、格蕾丝·普罗布斯汀、张恩豪和安德鲁·吴。