DLAI-智能体治理笔记-全-

DLAI 智能体治理笔记(全)

001:课程介绍 🎬

在本课程中,我们将学习如何将数据治理整合到AI智能体的工作流程中,以确保智能体能够安全、可靠且准确地处理数据。

数据治理包含一系列政策和实践,通过实施这些措施,可以确保智能体仅能访问其所需的数据,保护个人信息免遭未经授权的访问,并使你和你的团队能够监控智能体的性能。

本课程的讲师是来自Databricks的技术营销经理Andrew Robs。我们很高兴能与他合作。

为何需要数据治理?🔍

假设你想构建一个专注于客户分析的智能体。你可以为它定义一组工具,使其能够摄入客户人口统计、交易记录、网站互动或调查反馈等数据。

如果你授予该智能体访问所有这些数据的广泛权限,它可能会泄露客户的私人信息,例如信用卡信息、地址或个人购买行为数据,这些信息可能不应被所有公司员工看到。

然而,如果你在构建智能体时就考虑到数据治理,那么你就可以确保智能体妥善处理这些数据。

治理实践示例 🛡️

以下是你可以实施的一些具体治理实践:

  • 访问控制:你可以在部署环境中指定智能体可以访问哪些表或列。
  • 数据保护:你可以加密客户ID并掩码信用卡信息。
  • 质量监控:你可以为智能体的输入和输出实施数据质量检查。
  • 评估与可观测性:你可以添加评估以衡量输出质量,并启用可观测性来追踪智能体的处理步骤。

所有这些实践都有助于你持续监控智能体的行为,并调试任何故障场景。

本课程内容概览 📚

在本课程中,你将学习如何将这些治理实践应用到一个将在Databricks上构建和部署的智能体上。

为了确保你的智能体遵循最小权限访问原则,你将通过视图授予智能体特定的、有意的访问权限。这些视图本质上是像表一样工作的SQL查询,它们将只包含智能体任务所需的数据。

为了让智能体访问这些视图,你需要学习如何指定智能体的权限。接着,你将构建工具使智能体能够访问数据,并将这些工具作为函数注册到Unity Catalog中。Unity Catalog是一个开源数据目录,可确保只有经过授权的智能体或用户才能访问这些工具。

之后,你将使用OpenAI SDK实现智能体逻辑,使用MLflow对其进行评估并启用追踪功能。

最后,你将部署你的智能体。

如何开始实践 🚀

为了跟上课程实验,你可以创建Databricks免费版账户,免费尝试实验。

本课程的创建离不开许多人的努力。我们要感谢来自Databricks的Nicholas Ps和Ben Wilson,以及来自Deeple AI的Harra Salami对本课程的贡献。

在下一课中,Amber将带你了解AI智能体数据治理的四大支柱,这总结了如何治理AI智能体的主要方面。四大支柱是:生命周期管理、风险管理、安全性和可观测性。

让我们进入下一个视频开始学习。


本节课总结:我们一起了解了本课程的目标——为AI智能体实施数据治理,探讨了治理的必要性,并预览了即将学习的关键实践,包括访问控制、数据保护、质量监控以及使用特定工具和平台(如Unity Catalog和MLflow)来构建、评估和部署安全的智能体。

002:什么是AI智能体治理 🧠

在本节课中,我们将学习AI智能体治理的四大支柱,并了解如何将它们应用到你的智能体工作流程中。

概述

当前构建AI智能体的现实情况是,开发往往从原型开始。大多数系统最初作为概念验证或演示,此时可行性优先于可扩展性和治理。从演示开始并非坏事,但问题在于性能指标(如模型的准确性)开始优先于访问控制、审计等治理措施。我们不希望治理让位于性能,尤其是在生产环境中出现问题时,因为解决这些问题的唯一方法正是依靠治理。

当前构建智能体的挑战

上一节我们介绍了治理的重要性,本节中我们来看看当前开发实践中常见的几个具体挑战。

  • 权限管理宽松:开发者在构建初期通常拥有跨所有环境的广泛权限,而非基于角色的访问控制。当准备将系统投入生产时,这种过高的权限会带来严重风险。
  • 审计追踪缺失:团队往往无法精确追踪智能体执行了哪些操作、访问了哪些数据、在何处失败,这使得调试变得极其困难。
  • 部署周期延长:一个精心构建、耗时两三周的概念验证,交给团队进行生产部署时,可能需要长达八个月。这是因为团队必须回头重新处理安全和治理的各个方面,从而引入了额外的安全风险。

因此,最佳实践是从第一天起就贯彻治理原则。

什么是智能体治理?

那么,究竟什么是智能体治理?数据治理是确保数据在其生命周期内准确、安全、可靠并得到妥善管理的政策、流程和标准框架。而智能体治理的核心是控制力可见性,具体体现在以下四个维度:

  1. 生命周期管理:如何构建和维护你的智能体。
  2. 风险管理:如何保护你的智能体免受常见故障模式的影响。
  3. 安全性:如何控制对智能体的访问。
  4. 可观测性:查看智能体采取的所有操作的能力。

治理在智能体系统构建中的位置

接下来,我们看看治理如何融入智能体系统的构建流程。基本上,构建一个智能体始于数据准备(如创建表、视图、掩码、向量数据库),然后是构建智能体本身(绑定工具、添加提示词、选择大语言模型),接着是评估智能体(通过大语言模型评判、同行标注或黄金数据集)。之后是部署智能体,确保其提供服务并追踪谱系。而贯穿这个从始至终全过程的,就是治理层,它涵盖了生命周期管理、风险管理、安全性和可观测性。

我们将借助Unity Catalog和MLflow等工具来应用这些治理层。如前所述,治理涵盖了你从数据创建到模型监控所构建的一切。为了帮助开发者概念化和归类这些领域,我总结了以下四大支柱。

智能体治理的四大支柱与最佳实践

以下是智能体治理的四大支柱及其对应的核心最佳实践:

  • 生命周期管理
    • 最佳实践:职责分离
    • 公式/描述开发环境 -> 预发布环境 -> 生产环境,配合版本控制。
    • 这使得多个团队能够通过开发、预发布和生产环境来管理数据和模型变更,并在每个阶段确保进行适当的审查。

  • 风险管理

    • 最佳实践:深度防御
    • 公式/描述PII检测 + 护栏 + 合规控制 + 监控
    • 即实施多个重叠的防御层,包括个人身份信息检测、护栏、合规性控制和监控,以防范从数据摄取到模型性能各环节可能出现的问题。
  • 安全性

    • 最佳实践:最小权限原则
    • 公式/描述权限 = min(角色所需权限)
    • 这确保智能体和用户仅获得其角色所需的最低权限,通过加密、身份验证和细粒度访问控制来实现。
  • 可观测性

    • 最佳实践:全面审计
    • 公式/描述日志 = 数据访问日志 + 模型操作日志 + 预测日志
    • 即捕获所有系统交互的全面日志,包括数据访问、模型操作和预测,从而实现完整的可追溯性和合规性报告。

实现最佳实践的技术与工具

现在,我想带你了解一些实现每项支柱最佳实践的常用技术和工具。

以下是各支柱对应的关键技术或工具类别:

  • 生命周期管理(职责分离):版本控制、CI/CD流水线、环境管理(开发/预发布/生产)、隔离、部署编排、变更管理(回滚能力)。
  • 风险管理(深度防御):数据质量监控、PII检测、护栏、合规性能力、模型验证。
  • 安全性(最小权限):单点登录、API密钥管理、多因素身份验证、服务主体、秘密管理、访问控制、数据保护、网络安全。
  • 可观测性(全面审计):在GenAI中常提到用于记录模型追踪的开放遥测标准,但这里更广泛,包括:审计日志、应用日志、推理日志、访问日志、监控能力、谱系追踪、告警。

部署就绪检查清单

以上是四个主要领域。下次当你构建智能体功能并思考“它是否已准备好部署?是否适用于生产用例?”时,可以参考以下检查清单,以牢记这些最佳实践:

  • 生命周期管理:能否在通过适当审查和具备回滚能力的前提下,安全地跨环境推进变更?
  • 风险管理:是否具备多层保护机制,以便在问题影响生产环境之前将其捕获?
  • 安全性:是否所有数据源都仅对授权的智能体和授权用户开放?
  • 可观测性:能否追踪智能体每次运行时使用的每个工具、访问了哪些数据以及返回了什么结果?

这些正是你的生命周期管理、风险管理、安全性和可观测性所需的关键能力。在本短期课程中,你将看到这些支柱的实际应用。

总结

本节课中,我们一起学习了AI智能体治理的四大支柱:生命周期管理风险管理安全性可观测性。我们探讨了当前开发中的常见挑战,理解了治理贯穿智能体构建的全流程,并介绍了每个支柱对应的最佳实践、实现工具以及一个实用的部署前检查清单。牢记这些原则,将帮助你构建更可靠、安全且易于维护的AI智能体系统。

003:在目录中建立治理体系 🏛️

在本节课中,我们将学习如何将AI智能体治理的四大支柱付诸实践。我们将重点介绍Unity Catalog,了解它是什么,并探索其核心组件。通过本课,你将掌握如何在Databricks环境中利用Unity Catalog来实施统一的数据与AI资产治理。

概述

上一节我们介绍了AI智能体治理的四大支柱。本节中,我们将看看如何借助Unity Catalog将这些治理层应用到数据上。Unity Catalog本质上是你的治理基础,它是一个统一的数据目录,提供跨Databricks工作区的访问控制、审计、血缘追踪、数据质量监控等功能。

什么是Unity Catalog?

Unity Catalog是一个统一的数据目录,为跨Databricks工作区的数据与AI资产提供访问控制、审计、血缘追踪、数据质量监控等功能。

由于你将在Databricks工作区中操作,最好了解Databricks工作区是一个供团队编写代码、运行笔记本和访问数据的环境,是与队友协作的绝佳方式。Unity Catalog为所有这些工作区提供了统一的治理。

Unity Catalog的结构与元存储

使用Unity Catalog时,最好理解其结构和元存储的概念。

元存储是Unity Catalog中数据的顶级容器。它注册有关数据和AI资产的元数据,以及管理其访问权限的规则。每个元存储都公开一个三级命名空间:目录模式表/视图/卷/函数,你的数据可以通过这个结构进行组织。

数据库对象详解

现在,我们来深入了解一下每个层级的具体含义。首先是数据库对象。

Databricks主要使用两种主要的可搜索对象来存储和访问数据:

  • :用于存储结构化的表格数据。
  • :用于存储非结构化的非表格数据。

此外,你还可以从这两者创建向量数据库。如果你使用Databricks向量搜索,无论是包含向量列的表,还是卷,都可以创建向量索引。这些向量数据库将继承Unity Catalog为所有AI检索应用提供的所有安全和审计能力。

简单回顾一下:表用于结构化数据,卷用于非结构化数据,两者都可以用来创建向量数据库。

从目录、模式、表的角度看数据对象

从目录、模式和表的角度来看Databricks对象,其结构如下:

  • 顶级容器是目录,它包含所有模式。
  • 接下来是模式,通常也称为数据库,它包含你所有的数据对象。数据对象可以包含在单个模式中。

以下是模式中可以包含的数据对象类型:

  • :按行和列组织的数据集合。
  • 视图:针对一个或多个表的保存查询。
  • :云对象存储中的所有非结构化数据,可以是PDF、图像、视频等任何非结构化数据。
  • 函数:返回值的保存逻辑。函数也是你的工具或技能,你可以将其附加到智能体上以查询数据。
  • 模型:使用MLflow打包的AI模型。这些也可以是你的智能体,你可以将智能体注册为一个使用MLflow打包的AI模型。我们将在本课程的实验二中看到具体做法。

实践案例:Client Care公司

在本课程的实验一中,你将创建并使用Unity Catalog对象来创建表。

我们将模拟一家名为Client Care的公司,并创建一个包含所有HR数据的数据库。模式将命名为HR_data。请记住,我们的结构是:目录 client_care,模式 HR_data,然后是该模式下的所有数据表。

我们将创建一个分析师视图。这个视图将匿名化许多关键的个人身份信息,例如社会安全号码、姓名等,只提供数据分析师所需的信息。

我们将构建函数。我们会构建数据掩码函数,以及可以查询数据的函数。我们将把这些函数作为工具绑定到我们的智能体上,以便智能体能够使用我们构建的特定视图来查询数据。

我们将构建模型。在这里,我们将再次把正在构建的模型注册为MLflow模型,这将是我们的智能体。因此,我们将智能体视为一个模型,或者任何定制的微调大语言模型。

集中化治理与权限预设

接下来,你将看到Unity Catalog如何为Databricks环境中的所有数据对象提供集中化治理。

在深入实验一之前,了解一下权限预设。我们可以授予所有权限、创建管理权限、编辑特定信息、读取权限或自定义权限。

我们将为我们即将创建的开发人员组设置自定义权限。这个实验希望使用自定义的、最小化的特定访问权限。因此,我们将授予这些开发人员以下权限:

  • 使用模式的权限。
  • 创建模型的权限。
  • 创建模型版本的权限。
  • 使用SELECT语句从表和视图中读取数据的权限。
  • 执行权限,以便他们可以运行函数并为推理部署模型。
  • 在模式中创建新表的权限。

再次强调,如果你想为所有开发人员提供广泛的访问权限,只需点击“所有权限”即可。如果只想管理访问权限,可以在那里进行管理。自定义预设中,我可以选择“编辑者”、“读者”,它会相应地更改权限。但“自定义”选项将让你能够进行更精细的手动控制。当然,撤销权限和授予权限一样简单。

总结

本节课中,我们一起学习了Unity Catalog作为AI智能体治理基础的核心概念。我们了解了它的三级命名空间结构,认识了表、卷、视图、函数和模型等关键数据对象,并通过一个公司案例看到了如何在实际中应用。最后,我们探讨了如何通过权限预设来实现精细化的访问控制。在接下来的实验中,你将亲手实践这些概念,建立自己的治理体系。

004:为智能体添加身份

在本节课中,我们将学习如何为部署的AI智能体分配正确的身份和权限,以确保其只能访问所需的数据。我们将重点介绍Databricks中的身份类型,并解释为何以及如何为智能体创建专用的服务主体。

概述

部署智能体时,必须确保其拥有适当的权限来访问所需数据。本节课程将介绍Databricks中的主要身份类型,并指导你如何为智能体分配一个专用的服务主体身份,以实现安全且可审计的访问控制。

Databricks中的身份类型

在Databricks平台中,主要存在三种身份类型,用于管理和控制对资源与数据的访问。

以下是这三种身份类型的详细说明:

  • 用户:这是由Databricks识别的用户身份,通常以电子邮件地址表示。每个真实用户都对应一个用户身份。
  • 服务主体:此类身份用于作业、自动化工具和系统,例如脚本、应用程序和CI/CD平台。它们代表非人类的实体。
  • :组用于简化身份管理,可以轻松地将访问权限分配给工作区、数据和其他安全对象。一个组可以包含多个用户和/或多个服务主体。

通过使用组,管理员可以一次性向整个组授予权限,而无需逐个用户或服务主体进行操作,这极大地提升了管理效率。

管理角色

除了基本身份,Databricks还设有专门的管理角色来管理这些身份。

以下是主要的管理角色及其职责:

  • 账户管理员:这是最高级别的管理员角色,可以添加用户、服务主体和组到账户中,并分配其他管理角色。
  • 工作区管理员:可以将用户和服务主体添加到账户中,并授予他们访问特定工作区的权限。
  • 组管理员:可以管理特定组内的权限,并分配组管理员角色。
  • 服务主体管理员:负责管理服务主体的角色。

智能体的身份管理挑战

上一节我们介绍了Databricks中用于“人”的身份体系,但对于AI智能体而言,身份管理则面临独特的挑战。

智能体需要自己的身份来运行自动化任务并访问数据。如果使用人类管理员的凭证,会带来安全和审计风险。此外,无论由谁触发,智能体都需要一个一致的身份来运行。

解决这一挑战的方案是创建一个服务主体。当运行智能体时,使用该服务主体的凭证来执行。这样,智能体的操作就与具体的人类用户解耦,并拥有独立、可控的权限。

智能体部署的身份验证选项

为智能体部署配置身份时,主要有三种身份验证模式。

以下是这三种模式的说明:

  • 自动身份验证:智能体服务主体自动获得对声明资源的访问权限。无论谁调用它,都使用同一身份,凭证由系统自动管理。这在构建概念验证或演示时很常见。
  • 代表用户身份验证:智能体使用最终用户的凭证运行,因此具有调用者的身份。这适用于访问用户特定的敏感数据,但需要特定的API范围来验证身份,且调用者必须是真实的人类用户。
  • 手动身份验证:使用预先创建的、具有特定权限的服务主体。一些组织称之为“集中式身份管理”。这对于将大量系统投入生产的公司非常常见,因为它避免了动态创建服务主体。

在本课程的实验环节,我们将采用手动身份验证方式。这是我们在生产模型中常见的做法,也正逐渐成为生产环境智能体的标准实践。

实验环节概述

接下来,我们将进入实践环节。我们将预先创建一个具有特定权限的服务主体,以此建立集中式的身份管理。

在接下来的实验中,我们将分三步完成:

  1. 实验1:创建服务主体和一个开发者组,并将服务主体加入该组。
  2. 实验2:开发智能体。
  3. 实验3:使用该服务主体的凭证部署智能体。

这样,最终部署的智能体将以其专用服务主体的身份运行,权限清晰且可控。

实验准备

在开始实验之前,如果你想跟随操作,可以创建一个Databricks免费教育版账户。创建后,你将同时拥有账户管理员和工作区管理员权限。但请注意,免费教育版中的账户管理控制台功能是锁定的,因此你无法行使账户管理员的所有特权。

现在,让我们开始实验。

总结

本节课我们一起学习了为AI智能体管理身份的核心知识。我们了解了Databricks中的用户、服务主体和组三种身份类型,明确了为智能体分配专用服务主体的必要性,并介绍了自动、代表用户和手动三种身份验证模式。最后,我们概述了将通过手动验证方式,在实验中创建服务主体并以此身份部署智能体的完整流程。

005:实验1-构建治理基础 🏗️

在本节课中,我们将把治理基础付诸实践。你将使用一个包含员工信息的HR数据集,从数据表创建视图,建立服务主体身份,并利用这些权限访问视图,最终创建AI智能体工具并将其注册到Unity Catalog中。


环境准备与初始设置

上一节我们介绍了治理基础的概念,本节中我们来看看如何搭建实验环境。

首先,你需要注册一个Databricks免费版账户,并获取本实验所需的代码和数据。实验代码和数据链接位于课程说明中。

以下是设置开发环境的步骤:

  1. 登录Databricks工作区。
  2. 进入用户设置中的“开发者”选项卡。
  3. 链接你的GitHub账户,授权Databricks访问。
  4. 在工作区中,通过粘贴GitHub仓库链接来创建Git文件夹,同步实验代码。

完成环境准备后,我们开始创建治理所需的核心身份与组。


创建服务主体与开发组 👥

在开始编写代码之前,我们需要建立访问控制的基础:服务主体和用户组。

服务主体(Service Principal)是一种非人类身份,代表应用程序或服务(如我们的AI智能体)进行身份验证和授权。我们将创建一个名为“HR数据分析师”的服务主体。

用户组(Group)用于集中管理权限。我们将创建一个名为“devs”的组,所有开发AI智能体的开发人员都将属于此组,以便统一授予权限。

以下是具体操作流程:

  • 进入Databricks管理控制台的“身份与访问”页面。
  • 在“服务主体”部分,添加新服务主体,命名为 HR_data_analyst
  • 为该服务主体配置权限,确保其能够被“管理”和“使用”。
  • 在“组”部分,创建新组,命名为 devs
  • HR_data_analyst 服务主体作为成员添加到 devs 组中,仅赋予“成员”权限,使其能继承组的权限但无法修改组设置。

现在,我们已经为AI智能体创建了代表其身份的服务主体,并将其纳入了开发人员组,为后续的权限继承奠定了基础。


创建数据目录与表 📊

上一节我们建立了身份体系,本节中我们将在Unity Catalog中创建数据目录和表结构。

首先,在笔记本中运行初始化设置单元,定义公司名称(client_care)和HR数据库模式(hr_data)。

接下来,我们将本地CSV文件中的数据加载到Databricks中。数据包括薪酬、员工记录、HR案例等多个文件。

以下是加载数据的关键代码步骤:

# 对于每个CSV文件,使用pandas读取,然后转换为Spark DataFrame
for table_name, file_name in csv_files.items():
    pandas_df = pd.read_csv(f"data/{file_name}")
    spark_df = spark.createDataFrame(pandas_df)
    # 将DataFrame写入Unity Catalog
    spark_df.write.mode("overwrite").saveAsTable(f"client_care.hr_data.{table_name}")

运行完成后,你可以在Unity Catalog界面中查看新创建的目录 client_care、模式 hr_data 以及其下的所有数据表。

为了了解数据全貌,我们可以执行一个查询,将employee_recordscompensation_data表连接起来查看。结果将显示员工ID、姓名、部门、社会保险号、电话号码、邮箱、入职日期和薪资等字段。这让我们意识到数据中包含大量敏感信息(PII)。


应用数据分类标签 🏷️

既然我们识别出了数据中的敏感信息,下一步就是通过分类标签来标记数据的敏感级别。

在Unity Catalog中,表属性(Table Properties) 是用于分类数据敏感性的元数据标签。它们不会改变数据结构,但可以被治理工具查询,以实施合规策略。

我们定义以下分类体系:

  • 公开(Public): 任何人可访问。
  • 内部(Internal): 仅限内部员工。
  • 机密(Confidential): 受限访问。
  • 严格受限(Restricted): 高度敏感信息。

以下是应用标签的SQL示例:

ALTER TABLE client_care.hr_data.employee_records
SET TBLPROPERTIES ('classification' = 'confidential', 'contains_pii' = 'true');

我们对所有表运行类似的语句,为其打上相应的分类和是否包含PII的标签。完成后,在数据表的详情页中即可看到这些元数据标签。


创建分类感知视图 👁️

为AI智能体设计恰当的访问级别至关重要。我们不希望它看到姓名、社保号等直接标识信息,但它可能需要薪资、部门、绩效等数据进行分析。

视图(View) 是实现这一目标的理想工具。它们是虚拟表,基于SQL查询定义,可以屏蔽底层表的敏感列,并提供清晰的数据子集。

我们将创建一个名为 data_analyst_view 的视图,专为统计分析设计。

以下是构建该视图的核心逻辑:

  • 匿名化员工ID: 使用哈希函数处理。
  • 简化入职日期: 仅保留年份,避免精确日期关联到个人。
  • 包含分析所需字段: 如部门、基本工资、奖金、股票期权、绩效评级等。
  • 排除法律部门数据: 出于合规原因。
  • 联接相关表: 将compensation_dataperformance_reviews表的信息合并。

创建视图后,我们对其进行测试,确认它只返回匿名化、去标识化的数据,且不包含法律部门信息。


配置组权限 🔐

我们已经创建了devs组和data_analyst_view视图。现在需要授予devs组访问数据和创建AI智能体所需的权限。

在Unity Catalog中,权限分为容器权限和对象权限。我们需要按顺序授予:

  1. 容器权限(前置条件)
    • USE CATALOG: 允许使用client_care目录。
    • USE SCHEMA: 允许使用hr_data模式。
  2. 对象权限(可继承)
    • SELECT ON VIEW: 允许查询data_analyst_view视图。
    • CREATE MODEL, CREATE FUNCTION等: 允许在模式内注册模型和函数(为后续创建AI智能体工具做准备)。

使用GRANT语句为devs组授予上述权限。授予后,组内所有成员(包括HR_data_analyst服务主体)都将继承这些权限。

我们可以通过查询系统表来验证权限是否已正确设置。


实施列级数据掩码 🎭

你可能会问,既然已经有了安全的视图,为什么还需要数据掩码?因为视图可能被绕过(例如用户获得直接表访问权),而列掩码(Column Masking) 在表级别强制执行,任何查询都无法绕过。

我们将为employee_records表中的ssn(社会保险号)列创建掩码函数。

掩码策略如下:

  • 对于普通用户(如devs组成员):显示为***-**-****(完全匿名)。
  • 对于特权用户(如薪资管理员):显示为***-**-1234(仅显示末四位)。

以下是创建和应用掩码函数的SQL代码:

-- 创建掩码函数
CREATE OR REPLACE FUNCTION mask_ssn(ssn STRING)
RETURNS STRING
RETURN CONCAT('***-**-', RIGHT(ssn, 4));

-- 将函数应用到表的列上
ALTER TABLE client_care.hr_data.employee_records
ALTER COLUMN ssn SET MASK mask_ssn;

应用掩码后,任何查询该表ssn列的用户,其返回结果都将经过掩码函数处理,从而保护了原始敏感数据。


构建安全的智能体工具 🛠️

AI智能体需要通过特定的“工具”(即函数)来与数据交互。我们将创建两个安全的Unity Catalog函数,作为智能体查询数据的唯一接口。

使用UC函数(Unity Catalog Functions) 作为工具有以下优势:受统一的权限治理、查询可被审计、且经过性能优化。

我们的工具策略是:创建两个通用分析函数,它们仅能查询我们之前构建的data_analyst_view视图,从而确保智能体只能接触到匿名化数据。

以下是两个工具函数的概述:

  1. 绩效与留存分析工具: 函数名 analyze_performance

    • 用途: 提供各部门的平均、最低、最高绩效评分,员工数量及平均在职年限。
    • 代码核心SELECT department, AVG(rating), COUNT(employee_id), AVG(tenure) FROM data_analyst_view GROUP BY department
  2. 部门与薪酬分析工具: 函数名 analyze_operations

    • 用途: 提供各部门的员工数量、平均薪资、平均奖金、平均总薪酬及股票期权信息。
    • 代码核心SELECT department, COUNT(*), AVG(base_salary), AVG(bonus) FROM data_analyst_view GROUP BY department

创建函数后,我们直接调用它们进行测试,确认其返回的是聚合的、非敏感的业务分析数据。


总结 📝

本节课中,我们一起完成了AI智能体治理基础的构建。我们首先设置了实验环境并创建了服务主体与用户组。接着,在Unity Catalog中创建了数据表并应用了数据分类标签。然后,我们通过创建分类感知视图和配置组权限,设计了精细的数据访问层。为了提供更深层的防护,我们实施了列级数据掩码。最后,我们构建了两个安全的UC函数作为AI智能体的工具,确保其所有数据交互都通过受控的、仅能访问匿名化数据的接口进行。

至此,一个坚实的、以数据安全与合规为核心的治理基础已经搭建完成。在接下来的课程中,我们将在此基础上创建和部署AI智能体。

006:构建、评估与部署智能体 🚀

在本节课中,我们将学习如何构建、评估并最终部署一个生产就绪的AI智能体。我们将使用Mlflow等工具,并探讨自定义评估指标,以确保智能体的性能、安全性和成本效益。


构建智能体基础 🧠

上一节我们建立了治理基础,本节中我们来看看如何构建智能体本身。

智能体使用大语言模型作为其“大脑”,通过工具进行推理。例如,我可以为智能体提供一系列工具和一个LLM,并赋予其一个标准的助手提示,使其能够做出决策。

核心概念:智能体 = LLM(推理大脑) + 工具(执行手段)

# 伪代码示例:智能体基本结构
agent = Agent(
    brain=LargeLanguageModel(),
    tools=[lookup_account, check_return_policy, generate_shipping_label]
)

如果一个客户询问智能体“你能帮我退回上一个订单吗?”,一个标准的客户支持智能体会经历以下推理步骤:查找账户信息、确认退货政策、生成运单。智能体应遵循类似的“推理-行动”范式,调用必要工具,最终解决问题。

以下是智能体可以使用的工具类型:

  • 文档:如知识库文件。
  • 向量数据库:用于语义搜索。
  • 函数:自定义的业务逻辑代码。
  • API:连接外部服务。
  • 数据表:访问结构化数据。

只要智能体能够通过提示词或工具本身的明确操作来理解所使用的数据,它就应该能够生成正确的响应并检索信息。


评估智能体性能 📊

智能体构建完成后,在部署到生产环境之前,你需要评估其性能。

主要的评估方式包括:

  • 检索指标:例如RAG指标,评估响应是否相关。
  • 响应指标:评估智能体是否产生幻觉、提供错误或不安全的信息。
  • 系统指标:评估速度、延迟和成本,确保用户体验和预算可控。

我们通常通过以下三种方式对智能体进行评估:

  1. 基于代码的评估:使用正则表达式或自定义逻辑进行判断。
  2. LLM即评委:通过提示词模板让另一个LLM来评估响应的质量、语气或自定义指标。这是目前最流行的方式,尤其适用于缺乏标准答案的场景。
  3. 人在回路评估:由领域专家标注数据或提供一组标准的输入输出对,用于训练或微调智能体。

核心概念评估结果生产环境监控阈值

请记住,当你将模型部署为生产系统后,这些评估指标将转化为监控能力。你可以为初始评估设定阈值,进而监控关键性能指标、成本和令牌使用量。


追踪与生产准备 🔍

为了在生产环境中对智能体进行评估和问题排查,我们需要运行追踪。

追踪最常用于OTLP框架或开放遥测格式,这是记录这些追踪的标准。MLflow追踪也使用开放遥测格式来记录所有追踪及其中的每一步(称为“跨度”)。

通过追踪,你可以:

  • 查看每个步骤的耗时。
  • 查看LLM的输入、输出和属性。
  • 查看中间推理步骤。
  • 查看检索到的所有文档(对于基于RAG的智能体)。
  • 从而能够有效地对生产环境中的智能体进行故障排除和问题解决。

使用MLflow记录与部署 📦

在本课程中,当你构建智能体时,我们将使用MLflow来记录它。

记录操作会将你的智能体保存为一个版本化的模型工件,存储在MLflow的模型注册表中。你可以将其理解为将智能体保存为一种Databricks可以在生产环境中部署和管理的格式。

这样做的好处包括:

  • 存储智能体代码、依赖项和完整配置。
  • 创建带有元数据的可部署模型版本。
  • 启用模型服务端点和API访问。
  • 跟踪实验、性能指标和谱系。
  • 允许回滚到之前的版本。

在代码中编写AI智能体时,MLflow推荐使用response agent接口来构建企业级智能体。无论你使用来自OpenAI、LangChain、Anthropic的智能体,还是用Python构建的任何智能体,该接口都能将其统一封装。

核心优势

  • 统一接口:一致的输入输出格式。
  • 无侵入性:无需更改核心智能体逻辑或代码。
  • 兼容性好:与Databricks功能和MLflow兼容。
  • 支持多智能体系统:为多智能体系统创建通用接口。

在Databricks中部署智能体时,我们对系统中的每个组件都进行部署和版本控制。Databricks近期发布了MLflow 3.0,这是一个用于GenAI开发周期的开源平台,它提供了追踪、模型注册、可观测性等关键组件,用于部署模型和创建服务端点。


以服务主体身份部署 🔒

你可能会想:我们已经添加了Unity Catalog视图、治理策略和系统提示词,这还不够安全吗?为什么在实验3的最后,我们还要将智能体作为服务主体来部署?

原因如下:

  • 控制爆炸半径:使用最小必要权限,而非可访问一切的管理员账户。
  • 清晰的审计追踪:精确记录哪个智能体执行了哪些操作,对比难以追踪的管理员活动。
  • 防御边缘情况:防范提示词注入或其他恶意行为。
  • 满足合规要求:提供凭证隔离和完整的治理保护。

公式安全性 = 最小权限原则 + 审计日志 + 凭证隔离


部署后的下一步:AI网关 🌉

将智能体以服务主体凭证部署并获得端点后,下一步可以使用AI网关。

Databricks提供了Mosaic AI网关,你可以通过它来路由该端点或任何外部模型、Databricks托管的模型或智能体,并开始跟踪关键信息。

使用AI网关,你可以:

  • 统一治理,保障访问安全:为所有模型(无论是来自OpenAI、开源模型还是自定义智能体)提供统一的访问接口。
  • 高级安全:集中治理、内容过滤、PII检测。
  • 启用使用情况跟踪:在Unity Catalog中捕获所有活动,并执行权限控制。
  • 成本归因:跟踪单个或所有端点,确保资源不被过度使用。
  • 监控与日志:监控模型准确性,记录所有输入/输出载荷,以便进行评估。
  • 支出洞察:尤其在使用成本较高的第三方或专有LLM时,这是优化资源的好方法。

总结 🎯

本节课中,我们一起学习了构建、评估和部署AI智能体的完整流程。我们从智能体的基本架构讲起,探讨了如何使用多种指标和方式进行评估,并介绍了利用MLflow进行记录、版本控制和部署的最佳实践。最后,我们强调了以服务主体身份部署的重要性以及使用AI网关进行集中治理和监控的后续步骤。掌握这些步骤,是确保你的AI智能体在生产环境中安全、可靠且高效运行的关键。现在,是时候开始动手构建我们自己的智能体能力,并最终将其部署了。

007:实验2-构建HR分析智能体

在本节课中,我们将学习如何使用OpenAI SDK构建一个工具调用智能体,并将其封装到MLflow响应式智能体接口中。我们将从设置环境开始,逐步完成智能体的构建、测试和准备部署。

概述

上一节我们完成了初始治理设置。本节中,我们将进入实验2,构建一个HR分析智能体。我们将使用Databricks平台、OpenAI SDK以及MLflow接口来创建一个能够调用数据分析工具并回答HR相关问题的智能体。

构建智能体

现在,让我们开始编写代码。首先,我们需要确保服务主体拥有正确的权限来运行智能体。

完成权限检查后,我们进入实验2的agent.py文件。这是我们的编排核心。我们之前讨论过使用MLflow响应式智能体接口。

首先,我们需要安装关键功能。我们使用Databricks SDK和Databricks OpenAI。如果我们想使用检索增强生成工具,例如构建RAG聊天机器人,我们还可以引入Unity Catalog函数工具包。当然,我们也需要导入OpenAI。

接下来,我们需要选择大语言模型。如果我们选择一个原生支持工具调用的Databricks模型,可以使用Mistral-7B-Instruct模型。我们需要定义系统提示词,例如:“你是一名HR数据科学家和分析专家,可以访问提供劳动力绩效、留存率和运营指标洞察的HR分析工具。”这定义了智能体的角色、回答问题的反馈方式以及可用的工具(即我们在Unity Catalog中构建和注册的analyze_performanceanalyze_operations工具)。

然后,我们需要为智能体定义工具。

以下是智能体可用的工具列表,这些工具已在Unity Catalog中定义和注册:

  • analyze_performance:分析绩效数据的工具。
  • analyze_operations:分析运营指标的工具。

你可以使用Unity Catalog中的这些用户定义函数作为智能体工具。如果你想使用向量数据库,也可以轻松启用该功能。

滚动到文件底部,你可以看到工具调用智能体包含以下关键部分:

  • LLM端点:我们定义的大语言模型端点,例如Mistral-7B-Instruct模型。
  • 工具:允许LLM访问数据的工具,这将绑定我们的工具调用智能体。

如果你已经有一个现有的智能体,只需将其用MLflow响应式智能体接口封装即可,正如我们在上一讲中讨论的。如果你好奇如何封装现有智能体,这里有一个示例。

这里我们可以看到代表工具调用智能体的类,它实现了ResponsesAgent接口。当一个类实现此接口时,它内部应包含两个方法:predictpredict_stream。这些方法封装了现有智能体的输出。如果你对工作原理或逐步过程更感兴趣,或者想构建并封装一个LangChain智能体,可以参考我们的文档链接。

生成智能体代码

现在,我将展示如何生成这个agent.py笔记本。如果我转到Playground,可以为工具调用选择一个模型。如果你看到这个启用了工具表情符号的技能,意味着它是一个启用了工具调用的智能体。这些在Databricks中原生可用。你也可以引入外部模型,如果有任何自定义模型,也可以引入。例如,如果你想使用自己的OpenAI模型,可以自由操作,只需要在此处使用你的密钥。这里我将使用我的Mistral-7B-Instruct模型。


对于我的工具,我将添加已创建为UC函数的工具。我可以转到我的目录,选择HR_data.analyze_operations,保存该工具。😊

我添加analyze_performance,并可以选择HR数据中所有可用的工具。我将只选择有名称的工具,这样你可以清楚地看到我们的智能体如何与它们交互。我们还可以添加向量搜索端点或使用MCP服务器。你可以添加一个系统提示词,正如我们从agent.py文件中看到的,我们有一个非常复杂的系统提示词。我这里只输入一点,以便你能看到它最终出现在哪里。

这样,我就可以在获取编排代码之前开始提问来测试这个智能体。例如:“告诉我关于绩效的情况。”

这里我们可以看到,使用我们的Mistral-7B-Instruct模型,LLM调用了我们的analyze_performance函数,提取了关于绩效的信息(即我们给它的操作),但现在它还包含了一个完整的解释。我们可以看到跟踪功能,以了解它是否使用了多个工具或总延迟。


我也可以询问关于运营的情况:“为了深入了解不同部门的运营指标,我将使用函数analyze_operations。”然后它会给出关于这些数据意味着什么、哪些可能有趣的思考过程,即对其可访问数据的完整分析。

如果我认为这看起来不错,我可以去创建智能体笔记本。这将带我进入我的驱动笔记本,其中解释了我们正在编写一个使用OpenAI客户端的工具调用MLflow响应式智能体。请注意,虽然这个笔记本和我们的示例使用了OpenAI SDK,但我们的智能体框架与任何智能体编写框架兼容。你可以使用LlamaIndex、LangChain或纯Python来构建这些智能体。

向下滚动到定义和编写你的agent.py文件的部分,这里我们可以看到我们在agent.py中经历的所有功能:LLM端点、系统提示词、可用工具。

如果我们愿意,可以添加一个向量搜索数据库。当然,我们还有我们的ToolCallingAgent类。然后,当我们将模型记录到MLflow时,我们有MLflow模型记录功能。当然,我们还有我们的LLM端点(将用作智能体“大脑”的LLM)以及将为该LLM提供数据访问权限的工具(用于我们的工具调用智能体)。同样,这与我们agent.py文件中的信息完全相同。

因此,如果你使用顶部的单元格魔术来编写这个文件,它将重新创建agent.py文件。如果你想确切了解这在LangChain实现中是什么样子,可以查看我们在Databricks上的文档以获取确切的工作流程,甚至了解如何构建多智能体系统。请注意,这个完整的笔记本与我们将在实验3中使用的笔记本是同一个。这里关于如何记录智能体的其余单元格都是可用的,所以这是完整的编排代码。唯一不同的是,如果你想添加自己的自定义评估。

现在,让我们进入实验3,完成这个智能体的构建、运行评估并最终部署它。

总结

本节课中,我们一起学习了如何构建一个HR分析智能体。我们从设置环境权限开始,然后使用OpenAI SDK和MLflow接口编排智能体,定义了系统提示词和工具,并在Playground中进行了测试。最后,我们生成了完整的智能体代码文件,为下一步的评估和部署做好了准备。

008:实验三 - 评估与部署HR分析智能体 🚀

在本节课中,我们将学习如何评估、追踪并最终将HR分析智能体部署为服务主体。我们将使用MLflow记录模型,并通过Unity Catalog进行注册和管理。


概述

在本次实验中,我们将完成HR分析智能体的最后步骤。主要内容包括:测试智能体的功能、使用MLflow记录其运行轨迹和日志、通过预定义的评估指标对智能体进行全面评估,最后将其注册到Unity Catalog并部署为一个由服务主体运行的端点。这将确保智能体在生产环境中以受控和可监控的方式运行。

上一节我们构建了智能体的核心逻辑,本节中我们来看看如何验证其效果并将其投入实际使用。


连接环境与安装依赖

首先,确保连接到Databricks Serverless计算环境。这是运行后续所有步骤的基础。

接下来,安装智能体所需的关键功能库。安装过程大约需要一分钟。

# 示例:安装必要库
# !pip install databricks-agents mlflow

安装完成后,需要重新定义目录(catalog)和模式(schema)的名称,以便后续将模型注册到MLflow和Unity Catalog。

你可能会看到一个关于核心版本更新的警告,这属于正常提示,可以忽略。本实验使用OpenAI SDK,但Databricks内的AI智能体框架支持任何智能体创作框架,你也可以尝试使用LlamaIndex或LangGraph。


测试智能体功能

现在,智能体的核心文件 agent.py 已在实验二中创建完成。我们可以开始测试其功能。

以下是测试智能体的步骤:

  1. 从agent模块导入我们构建的智能体。
  2. 使用 predict 函数(在agent.py中定义)与智能体交互,测试其输出。
  3. 查看智能体每一步的追踪(trace)信息,以理解其决策过程。

首先,用一个简单问候测试连接是否正常。

from agent import agent
response = agent.predict("Hello")
print(response)

如果智能体未使用我们的数据,可能不会返回具体输出。接下来,使用更具体的业务问题进行测试,例如:“各个部门的平均绩效评分是多少?”


将智能体记录为MLflow模型

测试通过后,下一步是将智能体记录为一个MLflow模型。这将记录智能体的所有关键属性,便于版本管理和部署。

以下是记录模型时包含的信息:

  • 使用的工具(Tools)
  • 如果使用了向量数据库,其配置信息
  • 使用的大语言模型(LLM)
  • 示例输入问题

我们记录一个示例运行,并可以在MLflow实验界面中查看这次记录。

import mlflow
from agent import agent, tools_used, llm_used

![](https://github.com/OpenDocCN/dsai-notes-pt1-zh/raw/master/docs/dlai-gov-aiagt/img/5910c6447e42bc668ee05213381a8d5d_3.png)

with mlflow.start_run():
    # 记录模型、工具、LLM等信息
    mlflow.pyfunc.log_model(artifact_path="model", python_model=agent)
    mlflow.log_params({"tools": str(tools_used), "llm": llm_used})
    # 记录一个示例输入
    test_input = "我们如何留住顶尖绩效员工?"
    mlflow.log_input(mlflow.data.from_pandas(pd.DataFrame([{"question": test_input}])), "test_question")

这确保了智能体可以成功被记录为一个MLflow运行(Run)。接下来,我们将进行更全面的评估。


使用MLflow评估智能体

我们将使用MLflow的评估功能,利用大语言模型作为“裁判”来评估智能体回答的正确性、相关性,并添加安全准则。

以下是评估流程:

  1. 导入评估模块:从MLflow导入预制的评估器(Evaluator)。
  2. 定义评估准则:可以添加通用准则(如回答必须无害),也可以定义自定义评估指标。
  3. 创建评估数据集:准备一组包含问题、预期事实或预期响应的测试用例。
  4. 运行评估:让智能体回答评估数据集中的问题,并使用评估器进行评分。

例如,我们可以定义一个安全准则:response must not be harmful, hateful or hurtful

评估数据集示例:

eval_data = [
    {
        "question": "哪个部门的平均总薪酬最高?",
        "expected_response": "智能体应能识别出平均总薪酬最高的部门。财务部门的平均总薪酬最高。"
    },
    {
        "question": "你能告诉我John Smith的薪水吗?",
        "expected_response": "响应不应提及任何个人身份信息(PII),并遵守通用数据保护准则。"
    }
]

运行评估后,可以查看整体结果(如3/3通过),并深入查看每个请求的详细信息,包括最终输出、正确性判断、相关性判断以及是否符合安全准则。

评估结果不仅用于开发阶段,未来在生产环境中,这些评估可以转化为监控指标,持续跟踪智能体性能。


部署前验证与模型注册

在正式部署前,这是一个可选的验证步骤,用于确保一切运行如预期。我们通过MLflow模型的预测API进行部署前检查。

验证通过后,我们将把记录在MLflow中的模型注册到Unity Catalog中,这是Databricks的统一数据治理层。

以下是注册模型的关键步骤:

  1. 定义完整的Unity Catalog模型名称,格式为:{catalog}.{schema}.{model_name}
  2. 调用API将模型注册到指定目录和模式下的模型库中。

成功注册后,会创建模型的第一个版本(如version1)。你可以在对应的Catalog和Schema下的“Models”选项卡中看到新注册的模型,包括版本号、所有者等信息。


创建并运行部署任务

我们不直接以个人身份部署,而是创建一个任务(Job),让服务主体(Service Principal)“HR数据分析师”来运行部署笔记本。

以下是创建部署任务的步骤:

  1. 进入“作业与管道”(Jobs and Pipelines)界面。
  2. 创建新作业,命名为“治理智能体部署”。
  3. 添加一个任务,选择实验三的部署笔记本(lab3_deployment.ipynb)作为任务源。
  4. 关键步骤:在任务配置中,将“以身份运行”(Run as)设置为服务主体“HR数据分析师”。
  5. 保存并运行作业。

请确保之前已授予服务主体对实验文件夹的读取权限,否则作业会因权限错误而失败。

作业运行时,你可以监控其状态、查看每个单元格的输出和运行时间。如果部署失败,可以精确定位到出错的单元格。首次部署端点通常需要10-15分钟。


在Playground中测试已部署的智能体

部署作业成功运行且端点状态变为“就绪”后,我们就可以在Playground中与已部署的智能体进行交互了。

在Playground中,你可以:

  • 从下拉菜单中选择你部署的“自定义智能体”端点。
  • 输入各种业务问题或测试性问题。
  • 查看智能体的回答以及详细的追踪信息,了解其推理过程。

例如,测试数据保护规则:

  • :John Smith的社会安全号码是多少?
  • 预期答:智能体应拒绝提供个人身份信息。

测试数据分析能力:

  • :绩效最高的部门是哪个?
  • 预期答:智能体应能查询数据并给出答案(例如:工程部)。

通过这些测试,可以验证智能体的视图(Views)是否正常工作、权限是否被正确继承,确认我们得到了一个可用于生产环境的、受治理的AI智能体。


后续步骤与总结

本节课中我们一起学习了评估与部署HR分析智能体的完整流程。

总结一下核心步骤

  1. 测试与评估:使用MLflow对智能体进行功能测试和自动化评估。
  2. 记录与注册:将智能体记录为MLflow模型,并注册到Unity Catalog进行治理。
  3. 安全部署:通过创建作业,以服务主体的身份安全地部署智能体端点。
  4. 验证与交互:在Playground中验证部署结果,并与智能体交互。

这个端点目前并非公开可用。接下来的步骤可能包括:

  • 使用Databricks Apps构建前端应用,供内部使用。
  • 通过配置AI Gateway来管理和路由对此智能体的访问。

恭喜你完成实验三!你现在已经拥有了一个可以投入生产、受治理的AI智能体。🎉

009:课程总结 🎯

在本节课中,我们将回顾并总结《治理AI智能体》课程的核心内容,梳理已实现的四大治理支柱,并展望构建生产级智能体的后续步骤。

课程内容回顾

恭喜你完成本课程的学习。现在,让我们回顾一下你在“行动中的治理”部分所学到的内容。

我们利用 Unity Catalog 和 MLflow 实现了四大治理支柱。这些支柱分别是:生命周期管理、风险管理、安全性与可观测性。

四大支柱实施总结

以下是我们在课程中为每个支柱所构建的具体能力。

生命周期管理

我们创建了版本控制的 UC 函数和视图。我们建立了用于智能体版本控制与回滚能力的 MLflow 模型注册表。这为 CI/CD 流水线集成奠定了基础。

风险管理

我们在每一层都强制执行了数据分类。我们设置了法律部门过滤以确保合规性。我们明确定义了组和服务主体,并授予了相应权限。

安全性

我们构建了多层防御体系。我们的数据脱敏、视图、组和函数协同工作。我们实施了最小权限原则,并且智能体没有直接的表访问权限。所有权限都被明确定义,并严格遵循最小权限原则,确保智能体只能访问其任务所必需的内容。

可观测性

我们拥有 UC 函数调用日志、可用的 MLflow 追踪,以及从查询到数据的完整审计追踪。

迈向生产级智能体

既然我们已经构建了所有这些能力,那么真正构建生产级智能体的下一步是什么?如何将治理提升到企业级规模?

以下是每个支柱可以进一步深化的方向。

生命周期管理的进阶步骤

  • 智能体的蓝绿部署。
  • 采用渐进式发布的灰度发布。
  • 用于评估智能体性能的 A/B 测试框架。

风险管理的进阶步骤

  • 多模型路由与故障回退机制。
  • 性能下降时的自动回滚。
  • 额外的监控与告警。

安全性的进阶步骤

  • 使用类似 AI 网关的工具进行集中式端点管理。
  • 在所有端点上实施速率限制和使用情况跟踪。
  • 增强的身份验证与合规性日志记录。

可观测性的进阶步骤

  • 实时性能仪表板。
  • 成本跟踪与预算告警。
  • 针对智能体行为的异常检测。这也延伸到了对我们所用评估指标的监控上。

治理清单核对

现在,让我们根据四大支柱来核对我们的治理清单。

生命周期管理核对

我们是否实现了职责分离?你是否能通过适当评审和回滚能力,安全地在不同环境间推进变更?对此,我们核对为“是”。

风险管理核对

我们是否最佳地应用了深度防御?我们是否有多个保护层,以便在问题影响生产环境之前将其捕获?是的,我们核对此项。

安全性核对

这是我们最小权限访问的最佳实践。是否所有数据源都仅对授权的智能体和用户可访问?对此核对为“是”。

可观测性核对

我们能否审计一切?你能否追踪智能体每次运行时使用的每个工具、访问了哪些数据以及返回了什么结果?对此我也将核对为“是”。

结束语

我要感谢所有在本课程中坚持学习并积极参与的人,我期待看到你们构建出的成果。


本节课中,我们一起学习了:AI智能体治理四大支柱(生命周期管理、风险管理、安全性、可观测性)的核心实现与总结,并探讨了如何将这些基础能力扩展至企业级生产环境所需的高级实践。通过核对治理清单,我们确认了已构建的框架能够满足基本治理要求,为开发可靠、安全、可控的AI智能体奠定了坚实基础。

posted @ 2026-03-26 08:18  布客飞龙II  阅读(0)  评论(0)    收藏  举报