AI 代理工具

本文概述了如何使用马赛克 AI 代理框架生成 AI 代理工具。

AI 代理工具使代理能够执行语言生成以外的任务,例如检索结构化或非结构化数据和执行自定义代码。

Unity 目录函数工具与代理代码工具

在 Agent Framework 中创建工具有两种主要方法:将该工具定义为 Unity 目录函数,或直接在代理的代码中定义该工具。

代理可以使用 Unity 目录函数工具或代理代码工具的任意组合。 这两种类型的工具都适用于使用原生 Python 编写的代理,或使用 LangGraph 和 OpenAI SDK 等生成式AI创作工具库。

Unity 目录函数工具 代理代码工具
  • 定义为 Unity 目录 UDF
  • 在 Unity 目录中作为工具的中心注册表进行管理
  • 内置安全性和符合性功能
  • 便于发现和重用
  • 适用于对大型数据集应用转换和聚合
  • 直接在代理的代码中定义
  • 缺乏 Unity Catalog 功能的内置管理和可发现性
  • 非常适合调用 REST API、运行任意代码或运行低延迟工具

创建代理工具

若要了解如何创建代理工具,请参阅 使用 Unity 目录函数创建自定义 AI 代理工具

常见的代理工具类型包括:

向代理添加 Unity 目录工具

与直接在代理代码中定义的代理代码工具不同,必须将 Unity 目录工具显式添加到代理中,才能使其可用。

Databricks 建议使用 UCFunctionToolkit Unity 目录工具与代理创作框架(如 LangChain、OpenAI 或其他 SDK)集成。 该工具包可确保不同框架的一致性,并自动执行有用的功能。 请参阅 使用 Unity 目录函数创建自定义 AI 代理工具。

可以使用 AI Playground 将 Unity 目录工具快速添加到代理,并在部署它们之前制作其行为的原型。 请参阅 AI Playground 中的原型工具调用代理。

管理 Unity Catalog 工具

使用 Databricks 函数客户端 管理 Unity 目录工具。 Databricks 函数客户端基于开源 Unity 目录函数客户端,但提供了 Databricks 特有的多项改进。

有关管理 Unity 目录函数的信息,请参阅 Unity 目录文档 - 函数客户端

模型上下文协议:标准化对工具的访问

模型上下文协议(MCP)是一种开放标准,它为 AI 代理提供了连接到工具、数据和资源的通用方法。 MCP 充当代理和它们需要与之交互的外部系统之间的桥梁。

Databricks 提供以下 MCP 选项:

  • 托管 MCP 服务器:Databricks 具有现成的服务器,可让代理查询 Unity 目录中的数据和访问工具。

  • 自定义 MCP 服务器:安全地托管自己的 MCP 服务器或运行第三方 MCP 服务器。

请参阅 Databricks 上的模型上下文协议(MCP)。

后续步骤