(点击上方图片以观看本课视频)
欢迎来到“AI 代理初学者”课程!本课程提供构建 AI 代理的基础知识和应用示例。
加入 Azure AI Discord 社区 与其他学习者和 AI 代理构建者交流,并就本课程提出任何问题。
要开始本课程,我们首先更好地理解什么是 AI 代理,以及如何在我们构建的应用和工作流中使用它们。
本课涵盖:
- 什么是 AI 代理以及不同类型的代理是什么?
- 哪些使用场景最适合 AI 代理以及它们如何帮助我们?
- 在设计代理式解决方案时的一些基本构建模块是什么?
完成本课后,你应能:
- 理解 AI 代理的概念以及它们与其他 AI 解决方案的不同之处。
- 更高效地应用 AI 代理。
- 为用户和客户生产性地设计代理式解决方案。
AI 代理是系统,通过赋予大型语言模型(LLMs)****访问工具和知识来扩展其能力,从而使其能够执行操作。
让我们把这个定义拆分为更小的部分:
- 系统 - 重要的是不要仅将代理视为单一组件,而应视为由多个组件组成的系统。在基本层面,AI 代理的组件包括:
- 环境 - AI 代理运行的定义空间。例如,如果我们有一个旅行预订 AI 代理,环境可以是该代理用于完成任务的旅行预订系统。
- 传感器 - 环境具有信息并提供反馈。AI 代理使用传感器来收集并解释有关环境当前状态的信息。在旅行预订代理的例子中,预订系统可以提供诸如酒店可用性或航班价格之类的信息。
- 执行器 - 一旦 AI 代理接收到环境的当前状态,针对当前任务,代理将确定要执行的操作以改变环境。对于旅行预订代理,可能的操作包括为用户预订可用房间。
大型语言模型 - 代理的概念在 LLMs 出现之前就已存在。使用 LLMs 构建 AI 代理的优点在于它们解释人类语言和数据的能力。这种能力使 LLMs 能够解释环境信息并制定改变环境的计划。
执行操作 - 在 AI 代理系统之外,LLMs 的能力通常局限于根据用户提示生成内容或信息。在 AI 代理系统内,LLMs 可以通过解释用户的请求并使用其环境中可用的工具来完成任务。
访问工具 - LLM 可以访问哪些工具由 1) 它所处的环境 和 2) AI 代理的开发者 决定。以我们的旅行代理为例,代理的工具受限于预订系统中可用的操作,或者开发者可以将代理的工具访问限制为仅航班相关。
记忆+知识 - 在用户与代理的对话上下文中,记忆可以是短期的。长期来看,除了环境提供的信息外,AI 代理还可以从其他系统、服务、工具甚至其他代理中检索知识。在旅行代理的例子中,这些知识可能是位于客户数据库中有关用户旅行偏好的信息。
现在我们已经有了 AI 代理的一般定义,让我们看一些具体的代理类型以及它们如何应用到旅行预订 AI 代理中。
| 代理类型 | 描述 | 示例 |
|---|---|---|
| 简单反射代理 | 根据预定义规则执行即时操作。 | 旅行代理解析电子邮件的上下文并将旅行投诉转发给客户服务。 |
| 基于模型的反射代理 | 基于世界模型及其变化执行操作。 | 旅行代理根据历史价格数据的访问情况,优先处理价格变化显著的路线。 |
| 目标驱动代理 | 通过理解目标并确定达成目标的行动来制定计划。 | 旅行代理通过确定从当前位置到目的地所需的旅行安排(汽车、公共交通、航班)来预订行程。 |
| 效用型代理 | 考虑偏好并用数值权衡折衷以决定如何实现目标。 | 旅行代理在预订时通过在便利性与成本之间权衡以最大化效用。 |
| 学习型代理 | 通过对反馈作出响应并相应调整行为来随时间改进。 | 旅行代理通过利用行程结束后的客户反馈来改进并调整未来的预订。 |
| 分层代理 | 在分层系统中包含多个代理,高级代理将任务拆分为子任务,由低级代理完成。 | 旅行代理通过将取消行程的任务分解为子任务(例如取消特定预订),由低级代理完成并向高级代理汇报。 |
| 多代理系统(MAS) | 代理独立完成任务,既可以合作也可以竞争。 | 合作:多个代理分别预订酒店、航班和娱乐等特定旅行服务。竞争:多个代理管理并竞争共享的酒店预订日历,以为客户预订酒店房间。 |
在前面的部分中,我们使用旅行代理用例来解释不同类型的代理如何在旅行预订的不同场景中使用。我们将在整个课程中继续使用此应用作为示例。
让我们看看哪些类型的用例最适合使用 AI 代理:
- 开放式问题 - 允许 LLM 决定完成任务所需的步骤,因为这些步骤不总是可以硬编码到工作流中。
- 多步骤流程 - 需要一定复杂度的任务,AI 代理需要在多轮中使用工具或信息,而不是一次性检索。
- 随时间改进 - 代理可以通过从环境或用户处接收反馈随时间改进的任务,从而提供更高效用。
我们在“构建值得信赖的 AI 代理”一课中介绍了更多有关使用 AI 代理的注意事项。
设计 AI 代理系统的第一步是定义工具、操作和行为。在本课程中,我们侧重于使用 Azure AI Agent 服务 来定义我们的代理。它提供如下功能:
- 可选择的开放模型,例如 OpenAI、Mistral 和 Llama
- 通过诸如 Tripadvisor 等提供商使用授权数据
- 使用标准化的 OpenAPI 3.0 工具
与 LLM 的通信是通过提示完成的。鉴于 AI 代理的半自主性质,在环境发生变化后并不总是可能或需要手动重新提示 LLM。我们使用允许在更大范围内跨多步提示 LLM 的代理模式。
本课程划分为一些当前流行的代理模式部分。
代理框架允许开发者通过代码实现代理模式。这些框架提供模板、插件和用于更好地 AI 代理协作的工具。这些优势为 AI 代理系统提供了更好的可观测性和故障排除能力。
在本课程中,我们将探索用于构建生产就绪 AI 代理的 Microsoft Agent Framework (MAF)。
加入 Microsoft Foundry Discord 社区 与其他学习者交流,参加答疑时间,并解答你关于 AI 代理的问题。
免责声明: 本文件使用 AI 翻译服务 Co-op Translator 进行翻译。尽管我们力求准确,但请注意自动翻译可能包含错误或不准确之处。原文(原始语言版本)应被视为权威来源。对于关键信息,建议采用专业人工翻译。对于因使用本翻译而产生的任何误解或曲解,我们不承担责任。

