第122期:构建能解决复杂任务的AI智能体,不止需要简单的编排

AI智能体正在改变应用程序与用户交互及自动化任务的方式。与传统程序不同,这些智能体借助生成式AI解读数据、制定决策,并在极少人工干预的情况下完成任务。

通过利用大型语言模型(LLM),智能体能够简化复杂的工作流程,因此非常适合自动化费用管理、客户服务、文档分析等业务流程。开发AI智能体可使用多种不同的工具和平台。

在《如何使用AI Foundry构建Azure AI智能体》一文中,我们探讨了如何以及为何使用Azure AI智能体SDK构建智能体。该文章为我们全面介绍了Azure AI Foundry智能体服务——这是一项全托管服务,用于构建、部署和扩展高质量、可扩展的AI智能体,无需担心计算或存储问题。

本文将更进一步:介绍Semantic Kernel(语义内核)——微软的开源SDK,它通过额外的灵活性、插件和多智能体编排功能,扩展了Foundry智能体的能力。

什么是Semantic Kernel?

Semantic Kernel是一款开源SDK,能让开发人员轻松将最新的AI模型集成到自己的应用程序中。该SDK的一部分包含Semantic Kernel智能体框架,开发人员可借助该框架快速创建功能型智能体,这些智能体能够使用自然语言处理完成任务。

Semantic Kernel提供了可单独使用或组合使用的不同组件,具体如下:

为何选择Semantic Kernel?

Azure AI Foundry智能体服务已提供以下功能:

但如果您尝试过构建更复杂的工作流程,就会发现一些问题:

这正是Semantic Kernel(SK)相比Azure AI智能体(SDK)具备更高灵活性和复杂性的原因。因此,Semantic Kernel这款SDK能轻松实现以下操作:

Semantic Kernel智能体框架

SK智能体框架支持多种智能体类型,包括:

其中,AzureAIAgent是本文的重点。它允许您在SK中编写智能体逻辑,同时仍在Foundry智能体服务上部署和扩展该智能体。这意味着从原型到生产环境的迁移过程中,您无需重写代码。

AzureAIAgent类提供了一种无缝的方式,可通过Foundry智能体服务构建和交互AI智能体。它通过在Semantic Kernel智能体框架内提供更结构化、更直观的接口,简化了AI智能体的管理复杂性。其主要优势包括:

通过使用AzureAIAgent类,开发人员既能充分利用Foundry智能体服务的优势,又能借助Semantic Kernel SDK提供的功能,构建可在企业应用中高效扩展的强大AI驱动工作流程。

智能体工具:为Azure AI智能体添加插件

在Semantic Kernel中,插件能让AI智能体利用现有API执行自身无法独立完成的任务。插件通过函数调用实现功能,AI可请求并使用特定函数。Semantic Kernel会将请求路由到代码库中相应的函数,并将结果返回给LLM,以便LLM生成最终响应。