---
id: "LnQce-eHm8k"
title: "你的 AI 智能体想要你的数据：如何保护好这份数据｜Jeff Smith，Oracle"
channel: "AI Engineer"
host: []
guests: ["Jeff Smith"]
date: "2026-10-31"
updated: "2026-11-01"
duration: "21:39"
duration_seconds: 1299
source_type: "youtube"
youtube: "https://www.youtube.com/watch?v=LnQce-eHm8k"
canonical: "https://pod-exp.pages.dev/LnQce-eHm8k/"
transcript_jsonl: "https://pod-exp.pages.dev/LnQce-eHm8k/transcript.jsonl"
language: "zh-CN"
translation: true
translated_from: "en"
timestamp_precision: "block"
topics: ["AI 智能体","AI 安全","AI 基础设施","企业软件"]
series: ["AI 基础设施","AI 与软件"]
---

# 你的 AI 智能体想要你的数据：如何保护好这份数据｜Jeff Smith，Oracle

> 中文译文，由英文原音字幕翻译整理，不是官方逐字稿；引用原话请核对英文原视频。说话人标签由整理者依上下文标注，带「未确认 / 未标注 / 不确定」等字样的标签不可靠。时间戳一般为块级（所在时间块的起点），不是逐句时间；正文自带 [hh:mm:ss] 的段落除外。

**内容提要：** 在 Oracle 从事数据库工具工作 25 年的 Jeff Smith，介绍如何让 AI 智能体安全访问企业数据。他先说明 Oracle AI Database 将向量、关系数据和图数据整合在一个数据库与 SQL 接口中，再展示将经过审核的业务报告包装成 MCP 工具、让模型通过只读备用库排查性能、用通俗文档注释数据模型等做法。自然语言转 SQL 虽然强大，却可能返回看似正确的错误结果，也会耗费 token 和时间。最后，他强调用组织单点登录识别请求者，并在数据库层按角色过滤查询结果，让无权查看的行在到达智能体前就被剔除。

## [0:15] 开场

<https://pod-exp.pages.dev/LnQce-eHm8k/#chapter-01> · YouTube <https://www.youtube.com/watch?v=LnQce-eHm8k&t=15s>

**Jeff Smith：** 我叫 Jeff，来自 Oracle。我和 Oracle 几乎同岁。有人知道 Oracle 是哪年成立的吗？和《星球大战》上映是同一年。

**Jeff Smith：** 我很早就明白一件事：不管你做的工具有多好，到头来大家想要的还是 Excel 表格。现在还是这样吗？智能体已经把 Excel 干掉了吗？嗯，他们发布了可以逆向工程任何东西的功能，对吧？然后立刻就把 Excel 逆向工程了。所以 Excel 可能还是会继续存在。

## [0:58] 什么是 Oracle AI Database？

<https://pod-exp.pages.dev/LnQce-eHm8k/#chapter-02> · YouTube <https://www.youtube.com/watch?v=LnQce-eHm8k&t=58s>

**Jeff Smith：** 在展位上，甚至在街上看到我穿着 Oracle 外套的人，问得最多的问题是“Oracle AI Database 到底是什么？”除了问能不能把外套送给他们以外，就是这个问题。现场有多少人用过、研究过，或者见过 Oracle 数据库？现在正在用 Oracle 的有多少？谢谢。

**Jeff Smith：** 要回答 Oracle AI Database 是什么，今天最直接的办法就是问 Claude。我把自己的智能体训练得挺好，它给的答案还不错。简单说，数据库现在可以参与所有 RAG 流程，因为我们原生支持在数据库里存放向量。如果你的财务、人力资源、ERP、运输、零售、政府、医疗等数据都在数据仓库、数据湖——或者说数据污水沟——以及精心整理的数据库里，要从这些数据中找信息，我们可以把信息向量化，和数据库里的数据放在一起，再通过一个 SQL 接口访问全部内容。这样就不用为了查询而把数据复制到八九个平台上。

**Jeff Smith：** 刚才看到了吗？像蜘蛛侠一样。也就是说，一个 MCP Server 就能连到数据库里。我今天就是来聊 MCP 的。

**Jeff Smith：** 我们给数据库增加的不只是向量。除了关系表和列之外，我们 30 年来一直在往数据库里增加数据类型和数据工作负载，也支持图数据。如果你喜欢 Graph RAG，在一个 Oracle 实例里也能做。有人喜欢拿 Oracle 历史悠久这件事开玩笑，但老不代表我们停止创新。我们每个月都在发明、构建和发布新东西，因为客户投了很多钱，也期待得到相应的价值。

## [3:28] 为什么智能体需要访问数据库

<https://pod-exp.pages.dev/LnQce-eHm8k/#chapter-03> · YouTube <https://www.youtube.com/watch?v=LnQce-eHm8k&t=208s>

**Jeff Smith：** 今天我想聊 MCP，重点讲几个真实用例。大家最常问我：“智能体、大语言模型、MCP 都很好，可数据库跟我们有什么关系？有什么用？”这对我来说很明显：你们所有的数据、信息和知识都在数据库里，而智能体靠数据发挥作用。我们怎样才能安全地把这些信息交给它们，同时不让公司因为泄露个人身份信息之类的事垮掉，最后还得去国会作证？

**Jeff Smith：** 我也想介绍 Oracle 正在推动的一些进展。MCP 是个全新的协议，但差不多每三个月就会加新功能。Oracle 也在参与这些讨论，尽量跟上新功能的发布。

**Jeff Smith：** 今天没有问答时间，不过我带了些周边，应该差不多发完了。想要袋子或袜子的可以拿；后面还有数据库毛绒玩具，也可以丢给大家。我还会分享一些路线图信息。

**Jeff Smith：** 这是场一小时的演讲，但我被告知只有 20 分钟，实际上只剩 18 分钟。看看我能讲多快吧，我已经在台上浪费两分钟了。

**Jeff Smith：** 我希望大家最后能记住三件事：我们做了什么；自然语言转 SQL 有哪些问题，以及我们在做什么来让它更可信；还有我能分享哪些有助于优化 token 用量的东西。

## [5:09] 用例一：把报告做成工具

<https://pod-exp.pages.dev/LnQce-eHm8k/#chapter-04> · YouTube <https://www.youtube.com/watch?v=LnQce-eHm8k&t=309s>

**Jeff Smith：** 讲用例。我觉得这是企业最后才会做的用例，但回报也最大。通常，负责数据库周边基础设施的人最先有条件接入新技术。所以我说“要不要试试 MCP Server？”时，通常能动手的会是数据库管理员、网络管理员、系统管理员或 DevOps 工程师。他们会用这些工具让自己的工作轻松些。

**Jeff Smith：** 但公司里更多的是另一类人：他们要回答高级副总裁、执行副总裁，甚至首席高管的问题，比如“上个月卖了多少件产品？”“这个地区的业绩怎么样？”“打多少折最能让顾客完成购物车结账？”这些问题我假装自己也懂。于是他们打开 BI Publisher 或数据集市，开始做电子表格，整理出答案，再把结果带到会议上。人们会依据这些汇总好的数据透视表和 Excel 表格做非常重要的决策。

**Jeff Smith：** 这类问题永远问不完。不是人们没有问题可问，而是没有足够的时间和人手来回答。每一秒都有人冒出新想法：“要不试试这个？要不试试那个？”生成式 AI 的好处就在于它能放大人的能力，让我们有时间和资源去追问这些问题。

**Jeff Smith：** 难点在于数据在数据库里，而负责做这些表格的人不一定懂 SQL，也不一定是数据模型架构师。他们懂业务，但未必看得出某种场景用交叉连接根本不合理。

## [7:09] 自然语言转 SQL 为什么有风险

<https://pod-exp.pages.dev/LnQce-eHm8k/#chapter-05> · YouTube <https://www.youtube.com/watch?v=LnQce-eHm8k&t=429s>

**Jeff Smith：** 自然语言转 SQL 很厉害，但我觉得它也很危险。你听过“能编译就发版”这句话吗？工程师会笑，我们也假装跟着笑。我写了条 SQL，查出了数据，太好了，肯定答对了？不，你实际问的可能根本不是你以为自己问的问题。大语言模型经常会执行看起来返回了正确数据、实际却不对的查询。它们在这方面越来越强，但还是会出错。我不会只凭一条提示和一个返回结果，就相信 Codex、Claude、Gemini 这类模型来决定我们该投资哪个业务分支。

**Jeff Smith：** 让模型这么做也很费钱，因为它们会暴力搜索数据库字典，试图找出回答问题所需的数据。所以结果不但不可靠，使用工具的人也不一定知道智能体和 MCP 在替自己做什么，而且整个过程要花很多 token 和时间。

**Jeff Smith：** Oracle 的做法之一是：每个企业、团队或部门都有 SharePoint、网络驱动器或其他地方，堆着这些年整理出来的一层又一层报告。人们遇到这些问题时，本来就会查这些报告。我们何不把它们导入数据库和／或 MCP Server，作为智能体可以调用的工具或 API？这样就不必让智能体再让大语言模型临时生成查询，而是告诉它：“这些报告可以用，你想看哪一份？”

**Jeff Smith：** 这就是 Oracle 做的事。你可以挑选任意数量的报告，不过需要花些时间描述它们。我喜欢加上示例问题，让智能体知道：“如果你问的是这个问题，可以运行这份报告。”我会说明报告的含义和所有输入参数，报告本身也可以参数化；但底层代码基本是固定的。这样模型可能会选错报告，却不会自己生成一条错误 SQL。它出错的环节就少了一处。

**Jeff Smith：** 说到 MCP 工具，我提供了……

## [9:45] 列出报告、执行报告

<https://pod-exp.pages.dev/LnQce-eHm8k/#chapter-06> · YouTube <https://www.youtube.com/watch?v=LnQce-eHm8k&t=585s>

**Jeff Smith：** 我提供两个工具：`list reports` 和 `execute reports`。假设我有 500 份报告，我不可能把它们做成 500 个工具，那会把上下文撑爆，智能体会觉得“信息太多，没用”。所以我提问时，可以用一个关键词让它找出看起来匹配的报告，先返回报告列表，再执行其中一份来取回数据。

**Jeff Smith：** 这是一种自然语言转 SQL 之外的选择。我们的 MCP Server 确实支持把任意临时 SQL 或存储过程代码直接对数据库执行，但也可以关掉这个功能，只允许使用自定义工具和报告。

**Jeff Smith：** 还有一种模式，是给上下文工程师用的。这些报告可以代表业务如何运作、数据模型如何工作的蓝图。如果 OAuth 2 认证会话里有适当的权限或角色，工具也能把报告背后的 SQL 展示给智能体，让它了解系统里的数据是怎么组织的。这样它生成查询时，一次就写对的机会会大得多。你可以给它一些 Markdown，解释“我们怎样查出上个月卖了多少件产品”。

**Jeff Smith：** 结果返回后，智能体还能把它整理成易读的格式。现场有人开始玩 MCP Apps 了吗？对，这项功能我记得是 7 月写进规范的，稍后我会讲，大概还有五分钟——看我这个小钟表。

## [11:30] 用例二：性能调优

<https://pod-exp.pages.dev/LnQce-eHm8k/#chapter-07> · YouTube <https://www.youtube.com/watch?v=LnQce-eHm8k&t=690s>

**Jeff Smith：** 第二个用例面向 DevOps 工程师和支持团队。我们的平台很有名，历史也很久，文档、PDF、GitHub 项目、Stack Overflow 问答和我的博客都在网上。大语言模型训练时已经看过这些内容；如果查询很慢，它们知道该查什么。但我不放心让大语言模型替我删索引，甚至创建索引，或者直接在数据库里做任何事。我希望它给我建议，然后由我决定是否执行。

**Jeff Smith：** 能不让模型或智能体进入生产环境，我就不会让它进去。这样想很奇怪吗？如果生产系统跑得慢，我怎样让智能体或大语言模型帮忙？大家都有一个和生产环境一模一样的测试环境，对吧？

**Jeff Smith：** Oracle 有项叫 Data Guard 的技术，可以建一个只读备用实例，把报表和只读查询转移到那里。性能问题很可能也会在备用实例上重现。你可以让智能体在这个更安全的环境里试探——“攻击”这个词不太合适，不过有时倒也贴切——让它去排查，再尝试不同的性能技巧。

**Jeff Smith：** 我希望给大语言模型只读权限，但光这样还不够。即使它只能读数据，也可能读到你不想让它看到的内容。我还得限制它进入数据库后能做什么。对我来说，数据库安全最好的落点在哪里？就在数据库本身。如果只把安全限制写在工具里，一个积极过头的工程师换个工具连上数据库，不就直接绕过去了吗？安全放在数据库层，大多数时候就能守得住。

**Jeff Smith：** 智能体和大语言模型确实很擅长发现并修复性能问题。这大概是我最容易演示的功能，不过今天没时间做演示。我写了一个自定义工具，里面有六种我放心让它代我执行的操作，其中一种是收集统计信息，基本上相当于给数据做画像。

**Jeff Smith：** 我们的数据库有成本优化器。你提交查询时，它生成执行计划不是靠一些经验法则，而是会看数据的画像，比如某一列有多少个不同值。诸如此类。统计信息越新、越准确，它就越可能生成好的执行计划，让运行时性能表现更好。

**Jeff Smith：** 所以我不会做 15 个一次性工具，而会做三四个跨类别的工具，每个工具再提供不同选项。智能体看到“性能调优工具”后，会知道它能做六件事，其中一件是生成性能分析报告。我们有个叫 AWR 的功能，我会让它生成报告；另一件事是生成统计信息。

## [14:49] 用例三：给智能体补充数据模型文档

<https://pod-exp.pages.dev/LnQce-eHm8k/#chapter-08> · YouTube <https://www.youtube.com/watch?v=LnQce-eHm8k&t=889s>

**Jeff Smith：** 这个用例和第一个很接近：探索数据模型并补充文档。哎，我时间不多了。

**Jeff Smith：** 自然语言转 SQL 确实很厉害，也是 AI 和数据库领域最令人兴奋的方向，因为 SQL 是从数据库取数据最常用的方式。我们需要这些数据，但对很多系统来说，这也是个噩梦。

**Jeff Smith：** 过去六个月里有人刚入职吗？公司的茶水间里，有没有张贴一幅图，把各种难点都说明白、把行话和内部笑话都列出来，再解释数据模型？比如告诉你：“销售额并不在 sales 表里，而是在一张叫 `XHR_123` 的表里，因为三十年前有位工程师觉得这样很酷。”是啊，真正的答案就是一大页 Confluence 文档。

**Jeff Smith：** 现在我们有工具可以读取那些 Confluence 页面，生成上下文，并在数据库现有的元数据之上补充数据模型说明。这又是一项上下文工程工作：我们希望把当前数据库环境的信息直接交给大语言模型，而不是让它自己生成查询、逆向拆解甚至折腾数据库来找数据。

**Jeff Smith：** 你让它找，它最终确实会找到，但会耗很久，还会反复找。除非大家的智能体和大语言模型之间共享团队级的企业记忆，否则这就是巨大的浪费。很奇怪的是，三十年前我们似乎觉得让新员工入职后自己吃苦摸索不算大问题，这问题一直没人解决；现在 AI 出现了，我们可不能让可怜的机器人吃苦，所以得把它们用好数据库所需的信息准备好。这项功能的好处是说明全用通俗英语写、就存在数据库里，人类也能受益。

**Jeff Smith：** 看我们的工具时，会看到一个叫 `schema information` 的功能。我可以对 Codex、Claude 或其他智能体说：“我有个新环境，你去看看它的结构，找出这个信息，再帮我总结一下。”它会发现有 schema info 工具，就开始用它，最后返回一份压缩过的……

## [17:28] 安全：是谁在查询？

<https://pod-exp.pages.dev/LnQce-eHm8k/#chapter-09> · YouTube <https://www.youtube.com/watch?v=LnQce-eHm8k&t=1048s>

**Jeff Smith：** ……字典，也就是一组 JSON 属性，不必像以前那样不断发查询：“把所有表、所有列、所有注释都列出来；每张表再读五行，看看数据看起来是什么样。”这些功能我们直接做进工具里，优化好之后总能返回相同的数据，还提供多种模式：详细、精简、中等——就像我的裤子一样。工具还能按关键词过滤，只查数据里的特定内容。

**Jeff Smith：** 我还可以用另一个叫 `retrieve context` 的工具取回这些信息，用来做 AI 向量搜索。我还加了一个新工具叫 `generate annotations`。我可以让它访问你们的 SharePoint，扫描 PDF、PowerPoint、Excel 和 Word 文档，提取文本、整理内容，再放回数据库里。这也让自然语言转 SQL 更容易一次写对查询。

**Jeff Smith：** 这是我把表的说明补齐之后，数据库里的数据看起来的样子。每次我跑步、骑车或做其他活动，记录都会进入 Strava 账户。我是个技术宅，所以我给这些数据接了 API，再存进自己的数据库。Strava 的数据模型文档还算清楚，不过单位和时间字段会跳来跳去，有些列也不像字面看起来的那样。我把这些情况都标注好后，再问“我下周该做什么训练？”让模型查看我的个人训练记录时，有了这些信息就容易多了。

**Jeff Smith：** MCP 这套方式还有个好处：不依赖某个特定的 AI 或大语言模型。只要 MCP Server 和工具都在，它就能配合各种模型使用。

**Jeff Smith：** 好，接下来可能是我今天讲的最重要的内容：安全。我只剩 40 秒，就以这个收尾。我们得先知道是谁在查看数据库里的信息，才能把数据返回给对方。我能看到的信息，和同事 Tara 能看到的可能很不一样。我用 Claude、Codex、Gemini 或自己搭的 LangChain 框架访问数据库时，并不是让智能体用数据库账号直接登录，而是让你通过组织的单点登录，比如 Azure AD。它会返回一组 scopes，再返回描述你组织角色的一组权限。数据库可以按规则判断：“Jeff 是人力资源经理，所以他可以查看所有人的薪资。”但组织之外的人就不能看。

**Jeff Smith：** 这样，自然语言问题被转换成 SQL 并在数据库里运行时，数据库会先从结果集中动态剔除无权查看的数据，再把结果交给智能体。我们把这叫作深度数据安全（deep data security）。时间到了，重点内容我都讲了。

## [20:44] 接下来会有什么

<https://pod-exp.pages.dev/LnQce-eHm8k/#chapter-10> · YouTube <https://www.youtube.com/watch?v=LnQce-eHm8k&t=1244s>

**Jeff Smith：** Oracle 在安全上考虑了很多。我们希望这些东西既容易用，也足够安全。我们正在开发 MCP Apps，让数据库界面可以直接出现在智能体里，预计今年晚些时候推出。

**Jeff Smith：** 我们也有 Skills，可以通过工具提供。我们支持自动化 RAG 流程：你可以用命令行把文档导入，再通过 MCP 工具把向量和文档片段传回智能体。

**Jeff Smith：** 想了解更多，最简单的网址是 oracle.com/mcp。我马上要登机飞回北卡罗来纳州的罗利；你可以在 LinkedIn 上找到我——我就是那位 Jeff Smith。我的同事还在 Oracle 展位，那里有更多周边。如果你没拿到毛绒玩具，还可以去领。谢谢大家。
