AI代理开发课程

由Google设计的5天在线课程,专注于AI代理的基础知识、多代理系统、工具集成、状态管理和生产部署。

  • by saroshfarhan
  • Jupyter Notebook
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 saroshfarhan/AI_Agent

使用说明

谷歌为期5天的人工智能代理强化课程

这个为期5天的在线课程由谷歌的机器学习研究人员和工程师精心设计,旨在帮助开发人员探索人工智能代理的基础和实际应用。您将学习核心组件——模型、工具、编排、内存和评估。最后,您将了解代理如何超越LLM原型,成为生产就绪系统。

每天都将概念性的深入探索与动手示例、代码实验室和现场讨论相结合。到最后,您将准备好构建、评估和部署解决现实世界问题的代理。

课程概述

本课程提供了一个从理解基本代理架构到部署生产级多代理系统的结构化途径。每一天都建立在以前的概念之上,介绍使用Agent Development Kit(ADK)开发AI代理的新功能和最佳实践。

第1天:基础和单代理系统

学到的关键概念

Agent体系结构基础

  • 了解AI代理的构成:一个将LLM与工具、内存和决策能力相结合的系统
  • 核心循环:感知、推理和行动
  • 简单LLM调用和代理系统之间的区别

建立你的第一个代理

  • 使用代理开发工具包创建基本代理
  • 使用型号(Gemini 2.5 Flash Lite)、说明和描述配置代理
  • 实现InMemoryRunner以执行代理
  • 整合谷歌搜索作为现实世界信息检索的工具

代理开发工具包组件

  • 理解ADK架构:代理、运行程序、工具和模型
  • 使用API密钥设置身份验证
  • 基本代理调用和响应处理

第2天:多代理系统和工具集成

高级概念

多代理体系结构

  • 何时以及为什么使用多智能体系统而不是单智能体
  • 任务专业化和分工的好处
  • 为复杂的工作流程设计代理团队

工作流模式

  • 顺序工作流:代理按顺序执行,将输出传递给后续代理
  • 并行工作流:多个代理同时处理独立任务
  • 循环工作流:代理通过反馈循环迭代地优化输出

工具集成方法

  1. 自定义功能工具

    • 将Python函数创建为代理工具
    • 工具上下文和执行
    • 错误处理和验证
  2. 模型上下文协议(MCP)

    • 将MCP理解为标准化的工具集成框架
    • 优点:即时工具发现,减少集成代码
    • 具有GitHub、Slack和Maps等服务的现实世界应用程序
  3. 长期运行操作

    • 处理跨越较长时间的任务
    • 人在循环审批工作流程
    • 通过审批门进行成本管理
    • 跟踪操作状态并恢复未完成的任务

工具设计最佳实践

  • 清晰、描述性的工具定义,以便更好地理解法学硕士
  • 正确的错误消息和验证
  • 设计服务于特定、定义明确的目的的工具
  • 生产部署的安全考虑

第3天:状态管理和存储系统

A部分:会话和上下文管理

会话架构

  • 将会话理解为对话历史的容器
  • 会话结构:事件、状态和元数据
  • 三层会话服务选项:
    • InMemorySessionService用于开发和测试
    • 用于自我管理持久性的DatabaseSessionService
    • 用于企业GCP部署的代理引擎会话

持续对话

  • 应用程序重新启动后恢复对话
  • 跨会话维护对话上下文
  • 存储用户信息和对话状态
  • 查询和检索过去的交互

上下文压缩

  • 管理长对话中的令牌使用和性能
  • 对话历史自动摘要
  • 配置压缩阈值和触发器
  • 平衡上下文保存与效率

状态管理

  • 在对话过程中存储结构化数据
  • 手动状态跟踪方法和限制
  • 处理用户信息的最佳实践
  • 跨多个代理协调状态

B部分:长期记忆系统

内存服务集成

  • 三步内存集成:初始化、摄取、检索
  • InMemoryMemoryService用于原型制作和测试
  • 用于生产的VertexAI内存库,采用LLM驱动的整合
  • 智能记忆检索的语义搜索功能

存储器操作

  • 将会话数据添加到持久内存存储
  • 使用自然语言查询搜索内存
  • 检索相关的过去交互
  • 从对话中自动提取内存

记忆巩固

  • 代理如何从过去的交互中学习和适应
  • 基于LLM的会话模式摘要
  • 内存库组织和索引
  • 创建随着时间的推移而改进的上下文感知代理

实际应用

  • 构建个性化代理体验
  • 维护长期用户偏好和历史记录
  • 跨课程学习和知识积累
  • 为生产环境扩展内存解决方案

第4天:可观察性和评估

监控与调试

  • 跟踪代理行为和决策过程
  • 生产代理的日志策略
  • 绩效指标和成本跟踪
  • 错误检测和处理

代理商评估

  • 定义代理任务的成功指标
  • 测试试剂的可靠性和一致性
  • 评估工具选择和使用模式
  • 生产部署的质量保证

第5天:生产部署和高级主题

企业注意事项

  • 生产用缩放剂系统
  • 与现有企业基础设施集成
  • 安全和合规要求
  • 成本优化策略

高级内存和状态管理

  • 用于托管云内存的Vertex AI内存库
  • 大规模内存整合
  • 处理复杂的多用户场景
  • 长期知识管理

获得的核心技术技能

代理开发

  • 为特定用例设计代理
  • 实施多代理编排
  • 工具集成和管理
  • 错误处理和边缘情况

状态和内存管理

  • 构建有状态、上下文感知的代理
  • 实施持久存储解决方案
  • 有效管理对话历史记录
  • 设计内存检索机制

集成和部署

  • 将代理连接到外部系统
  • 管理API密钥和身份验证
  • 在生产环境中部署代理
  • 监控和维护已部署的系统

建筑与设计

  • 选择合适的架构模式
  • 设计可扩展的代理系统
  • 性能和成本规划
  • 构建稳健的错误处理

实际实施

在整个课程中,动手笔记本演示了:

  • 在Kaggle笔记本中创建和运行代理
  • 构建顺序和并行代理工作流
  • 整合现实世界的工具和服务
  • 跨会话持久化对话数据
  • 实施长期学习记忆系统
  • 在人工监督下处理长时间运行的操作

最佳实践总结

  1. 简单开始:在进入复杂的多代理系统之前,先从单个代理和自定义工具开始
  2. 使用托管服务:更喜欢云管理解决方案(顶点AI内存库),而不是自我管理的生产实施
  3. 规划存储策略:根据规模和要求选择适当的持久层
  4. 实施监控:从一开始就增加可观察性,以做好生产准备
  5. 处理成本:对昂贵的操作使用审批工作流和限速
  6. 弹性设计:在代理工作流中构建错误处理和恢复机制
  7. 维护上下文:通过压缩和记忆策略仔细管理上下文
  8. 验证输出:在关键操作之前验证代理决策和工具选择

关键要点

该课程表明,生产就绪的人工智能代理需要的不仅仅是语言模型能力。成功取决于:

  • 深思熟虑的架构和工作流设计
  • 强大的状态和内存管理
  • 与外部系统无缝集成
  • 综合监测和评价
  • 注重成本和性能优化
  • 清楚地了解何时使用多代理方法

这一基础使构建智能系统成为可能,这些系统可以处理复杂的现实任务,同时保持可靠性、效率以及随着时间的推移学习和改进的能力。

资源和文件

供继续学习和参考: