AI Agents for Beginners笔记: 1.AI Agent及使用场景简介

AI Agents for Beginners笔记: 1.AI Agent及使用场景简介

📅 2025-02-17 | 🖱️
🔖 agent, 🔖 aigc

本文是微软AI Agents for Beginners课程的学习笔记。随着AI技术的发展,AI Agent正在成为构建智能应用的重要范式。本文将介绍AI Agent的基础概念、类型和应用场景。

AI Agent的定义和类型 #

AI Agent的定义 #

AI Agent是通过为LLMs(大语言模型)提供tools(工具)和knowledge(知识)的访问权限,从而扩展其能力以执行操作(action)的系统(system)。

将这个定义拆解为以下几部分:

  • System(系统): 需要将Agent看作由多个组件组成的系统,而不是单一组件。AI Agent的基本组件包括:
    • Environment(环境): 定义AI Agent运行的空间。例如,如果我们有一个旅游预订的AI Agent,环境可能是AI Agent用于完成任务的旅游预订系统。
    • Sensors(传感器): 环境提供信息和反馈。AI Agent使用传感器来收集和解释有关环境当前状态的信息。在旅游预订Agent的例子中,旅游预订系统可以提供酒店可用性或航班价格等信息。
    • Actuators(执行器): 一旦AI Agent接收到环境的当前状态信息,它会根据当前任务决定执行什么操作以改变环境。例如,旅游预订Agent可能为用户预订一个可用的房间。
  • Large Language Models(大语言模型): 在大语言模型出现之前,Agent的概念已经存在。利用LLMs构建AI Agent的优势在于它们能够解释人类语言和数据。这种能力使LLMs能够解释环境信息并制定改变环境的计划(plan)。
  • Perform Actions(执行操作): 在AI Agent系统之外,LLMs的操作通常仅限于根据用户提示生成内容或信息。在AI Agent系统中,LLMs可以通过解释用户请求并利用环境中可用的工具来完成任务。
  • Access To Tools(工具访问): LLM可以访问哪些工具由两个因素决定:1)它运行的环境;2)AI Agent开发者。例如,在旅游预订Agent的例子中,Agent的工具可能仅限于预订系统中的操作,或者开发者可以限制Agent的工具访问权限,仅限于航班预订。
  • Knowledge(知识): 除了环境提供的信息外,AI Agent还可以从其他系统、服务、工具,甚至其他Agent中检索知识。在旅游Agent的例子中,这些知识可能包括存储在客户数据库中的用户旅游偏好信息。

AI Agent的不同类型 #

现在我们已经了解了AI Agent的一般定义,让我们来看一些具体的Agent类型,以及它们如何应用于旅游预订AI Agent。

Agent类型描述示例
简单反射型Agent(Simple Reflex Agents)根据预定义规则执行即时操作。旅游Agent解析邮件上下文并将旅行投诉转发给客户服务部门。
基于模型的反射型Agent(Model-Based Reflex Agents)根据世界模型及其变化执行操作。旅游Agent根据历史价格数据的访问优先考虑价格变化显著的路线。
基于目标的Agent(Goal-Based Agents)通过解释目标并决定实现目标的操作来创建计划。旅游Agent通过确定从当前位置到目的地所需的旅行安排(如汽车、公共交通、航班)来预订行程。
基于效用的Agent(Utility-Based Agents)考虑偏好并通过数值权衡权衡如何实现目标。旅游Agent在预订旅行时,通过权衡便利性与成本来最大化效用。
学习型Agent(Learning Agents)通过响应反馈并相应调整操作来随着时间推移不断改进。旅游Agent通过使用客户在行程结束后的反馈调查结果来调整未来的预订,从而不断改进。
分层Agent(Hierarchical Agents)包含多级Agent系统,高级Agent将任务分解为子任务,由低级Agent完成。旅游Agent通过将取消行程的任务分解为子任务(如取消特定预订)并让低级Agent完成这些任务,再向高级Agent汇报完成情况。
多Agent系统(Multi-Agent Systems, MAS)Agent可以独立完成任务,无论是合作还是竞争。合作:多个Agent分别预订特定的旅行服务,如酒店、航班和娱乐活动。竞争:多个Agent管理并竞争共享的酒店预订日历,为客户预订酒店。

📝 世界模型及其变化(a model of the world and changes to that model)

“世界的模型及其变化"时,指的是智能体内部构建的对现实世界的抽象表示,以及这个表示如何随着时间和新信息的获取而更新。

什么时候使用AI Agent #

  • 开放性问题 - 允许LLM决定完成任务所需的步骤,因为这些步骤无法始终硬编码到工作流中。
  • 多步骤流程 - 需要一定复杂度的任务,AI Agent需要在多个回合中使用工具或信息,而不是单次检索。
  • 逐步改进 - 指Agent通过接收来自环境或用户的反馈,能够随着时间推移而改进自身,以提供更好的效用的任务。

基于智能体的解决方案基础(Basics of Agentic Solutions) #

智能体开发(Agent Development) #

开发AI智能体系统的第一步是定义工具、动作和行为。在本课程中,我们专注于使用**Azure AI智能体服务(Azure AI Agent Service)**来定义我们的智能体。它提供以下特性:

  • 开放模型的选择,如OpenAI、Mistral和Llama
  • 通过如Tripadvisor等提供商使用许可数据
  • 使用标准化的OpenAPI 3.0工具

智能体模式(Agentic Patterns) #

与大语言模型(LLM)的通信是通过提示(prompts)进行的。考虑到AI智能体的半自主性质,在环境发生变化后手动重新提示LLM并不总是可能或必要的。我们使用智能体模式,它允许我们以更可扩展的方式在多个步骤中提示LLM。

本课程分为几个当前流行的智能体模式。

智能体框架(Agentic Frameworks) #

智能体框架允许开发人员通过代码实现智能体模式。这些框架提供模板、插件和工具,以实现更好的AI智能体协作。这些优势提供了更好的可观察性和AI智能体系统故障排除能力。

在本课程中,我们将探索研究驱动的AutoGen框架和来自Semantic Kernel的生产就绪型智能体框架。

📝

  • Semantic Kernel Semantic Kernel是一个软件开发工具包(SDK),它将大语言模型(LLMs)如OpenAI、Azure OpenAI和Hugging Face与传统编程语言如C#、Python和Java进行整合。Semantic Kernel真正特别之处在于它能够自动通过AI来编排插件。这一特性通过其规划器(planners)功能实现,为开发者带来了革命性的工作方式。
  • AutoGen AutoGen是一个用于创建多智能体AI应用程序的框架,这些应用程序能够自主行动或与人类协同工作。

参考 #

© 2025 青蛙小白 | 总访问量 | 总访客数