AI Agent 时代,你真的放心把生产库全权交给 AI 吗?
AI Agent 和 Vibe Coding 工具正在改变软件开发方式。
过去需要开发人员逐行完成的代码,现在可以通过自然语言快速生成;过去需要在多个工具之间切换的工作,也可以交给 Agent 连续处理。但当任务从“生成代码”走向“查询真实数据、执行 SQL、修改数据库结构”时,一个更现实的问题也随之出现:AI Agent 应该怎样安全地访问数据库?

直接把数据库地址、账号和密码交给 Agent,会扩大凭证暴露和误操作风险。Agent 可能选错数据源、生成不符合规范的 SQL,也可能在缺少审批和审计的情况下执行高风险变更。企业需要在赋予 Agent 数据库操作能力的同时,让它始终遵循现有身份、权限和治理体系。
这正是 NineData Skill 要解决的问题。
NineData Skill:连接 AI Agent 与数据库治理体系
NineData Skill 是面向 AI Agent 和 Vibe Coding 工具的技能能力集合。配置完成后,开发人员可以在 Claude Code、Codex、Cursor、Hermes Agent、OpenClaw、Trae、Qoder、Open Code 等客户端中,用自然语言要求 Agent 调用 NineData 平台能力。
NineData Skill 通过 NineData 转发和处理 Agent 请求,避免 Agent 绕过平台直接连接数据库。调用过程会受到 NineData 身份验证、组织权限、SQL 规则检查、数据掩码、限流和审计日志等机制约束。
换句话说,Agent 获得了一条受控的数据库操作通道,数据库访问边界仍由 NineData 管理。
从查询数据到提交变更,Agent 可以做什么?
当前 NineData Skill 提供 SQL 执行、SQL 任务和数据导出三类核心能力,并可结合 NineData OpenAPI 调用平台能力。
1. 查询可访问的数据源
面对“查询生产 MySQL 中的订单数量”这样的需求,Agent 可以先获取当前凭证有权访问的数据源,帮助用户确认目标环境,无需把数据库账号密码写进对话或 Skill。
这一步看似简单,却很重要。它让 Agent 选择的数据源范围与 NineData 中的账号权限保持一致,也能减少因环境名称相似而选错目标的风险。
2. 在授权范围内执行查询 SQL
目标数据源确认后,Agent 可以生成完整 SQL,并在用户确认 SQL 内容、目标数据源和查询目的后,通过 NineData 发起执行。查询请求仍然需要经过平台的权限和安全规则判断。
根据实际情况,NineData 可能返回结果预览,也可能提示需要再次确认、被规则拒绝、需要转入 SQL 任务,或者返回数据库执行错误。Agent 需要遵循平台返回的结果继续处理,不能绕过平台裁决反复提交。
3. 获取执行计划与诊断信息
对于需要评估的 SQL,Skill 可以在具备权限的数据源上下文中获取执行计划等信息,帮助开发人员在执行前了解查询路径,并为后续诊断提供依据。
4. 将数据库变更提交到 SQL 任务
如果 SQL 涉及未经授权的 INSERT、UPDATE、DELETE、CREATE、ALTER、DROP 等数据或结构变更,Agent 应直接通过 NineData SQL 任务提交,由平台治理流程继续处理。
提交前,Agent 可以展示目标数据源、数据库、完整 SQL 和可选回滚 SQL。用户明确确认后,NineData 创建 SQL 任务,并返回任务 ID、规则检查结果、审批状态和控制台任务链接。后续审批与执行仍沿用 NineData 的治理流程。
这样一来,AI 生成 SQL 的效率和企业已有的规则检查、审批、执行、审计链路就能够连接起来。
5. 提交数据导出任务
当查询结果需要形成文件时,Agent 可以通过数据导出能力提交任务,并继续查询审批状态、执行状态、导出日志和任务详情。文件下载、查看加密密码等敏感动作需要用户明确授权。
数据导出仍由 NineData 平台处理,Agent 需要遵循平台返回的审批、执行和下载状态,不能跳过流程或自行获取未授权的数据。
制定边界很重要
AI Agent 接入数据库后,企业通常会重点关注以下问题:
-
它能看到哪些数据源?
-
它是否拥有执行当前 SQL 的权限?
-
SQL 是否符合组织规范?
-
查询结果中的敏感数据如何处理?
-
变更是否需要审批?
-
谁在什么时间发起了什么操作?
NineData Skill 的价值,就在于让这些问题继续由 NineData 的治理机制回答。
账号身份和组织权限限定 Agent 可以访问的范围;SQL 规则检查帮助识别不符合规范或不适合直接执行的语句;数据脱敏用于约束敏感数据展示;限流机制控制调用频率;审计日志则为后续追踪保留记录。
当平台返回拒绝、需要确认、需要 SQL 任务或需要审批时,Agent 必须按照平台结果继续处理。对于审批、驳回、转交审批等高风险操作,也需要用户明确指定具体动作。
对开发、DBA 和平台团队意味着什么?
对开发人员来说,可以在熟悉的 AI Agent 或 Vibe Coding 客户端中描述数据查询和变更需求,减少在多个工具之间切换,同时保留必要的确认步骤。
对 DBA 和数据库平台团队来说,Agent 的数据库操作不会脱离 NineData 的权限、规则、审批和审计体系。团队可以继续通过统一平台管理数据源访问与 SQL 变更流程。
对企业来说,NineData Skill 提供了一种更稳妥的 AI 落地方式:Agent 无需直接持有数据库凭证,自动化流程仍需遵循既有治理要求,可执行能力在受控边界内逐步开放。
演示:让 Agent 连续完成 SQL 执行、SQL 任务与数据导出
1. 登录 NineData 控制台,在左侧导航栏单击 Skill。页面会展示 NineData-Skill 的说明、下载入口和当前支持能力。

2. 单击页面右上角的描述图标,查看 Skill 描述、支持能力和使用边界。页面说明会标明只读 SQL、变更 SQL 和数据导出的对应能力,以及需要用户明确授权的敏感操作。

3. 单击下载图标获取 ninedata-skill.zip,按照页面引导将 Skill 安装到目标 AI Agent 或 Vibe Coding 客户端,并在本地配置 NineData 端点和 OpenAPI 凭证。凭证应保存在客户端的安全配置中,避免写入对话、截图或项目代码。

Agent 通过 SQL 执行能力提交常量查询:
SELECT 1 AS ninedata_skill_demo;
NineData 返回 EXECUTED,规则检查结果为 0 个错误、0 个警告,查询返回 1 行,字段值为 1,数据库耗时 18 ms。响应证明请求已到达真实数据源并完成执行。

CREATE TEMPORARY TABLE ninedata_skill_demo_20260721 (
( id INT PRIMARY KEY
);
平台完成规范预审,返回 0 个错误、2 个警告。Agent 随后提交审批,工作流进入唯一审批节点。用户明确批准这条任务并授权执行后,节点状态更新为 approved,canExecute=true。Agent 立即发起执行,任务和执行节点最终均返回 success。临时表语法不支持变更备份,因此备份节点显示为 skipped,任务执行结果不受影响。

最后,Agent 使用数据导出能力提交常量查询,并指定 CSV 与 UTF-8:
SELECT 1 AS ninedata_skill_export_demo;
工作流完成确认和执行,最终状态为 success,台已生成 CSV 文件。

三项实际操作展示了同一套清晰路径:低风险查询在权限与规则检查通过后执行;变更 SQL 进入 SQL 任务与审批链路;查询结果需要形成文件时进入数据导出工作流。Agent 负责理解意图、组织参数和跟进状态,NineData 负责身份、权限、规则、审批、执行与审计。
结语
AI Agent 正在从“给出建议”走向“执行任务”。越接近真实数据和生产环境,身份、权限、规则、审批与审计就越不能缺席。
NineData Skill 希望做的,正是在 Agent 与数据库之间建立这条受控通道:让 AI 获得执行能力,也让每一次执行继续遵守企业的数据库治理边界。