
Enhancing Data Analysis Efficiency: The Perfect Combination of Intelligent AI Data Analysis Agents and Snowflake
从数小时到数分钟:变革内部数据分析
为了追求卓越的内部表现,并认识到我们组织内部的多样化需求,我们看到了一个机会,可以探索和开发一个为我们的内部团队量身定制的工具,包括财务、Order-to-Cash (O2C)、人力资源和项目经理。这些专业人士通常在没有深厚技术技能的情况下寻求数据洞察,通常需要数小时甚至数天才能获得他们需要的信息。我们的 AI 数据分析师代理将这个时间框架大大缩短到短短几分钟,使非技术用户能够快速有效地做出明智的决策。
之所以能实现这一点,是因为该代理能够理解自然语言查询——消除了业务用户和数据分析师之间传统的反复沟通。用户现在可以直接用通俗易懂的英语提问,并在几分钟内获得见解,而无需等待技术团队将业务问题转化为 SQL 或 Python 代码,运行分析并解释结果。该代理更进一步,通过自动生成清晰、有意义的数据可视化,将复杂的数字转化为易于理解的图表。这种直接的交互弥合了非技术用户和数据洞察之间的差距,使整个组织内的数据驱动决策更易于访问和高效。
本文是与 Ruichong “Alex” Wang(TR Labs 的应用科学家)和 Snowflake 的 Mac Allen 合作撰写的。
AI 的强大功能与 Snowflake 的数据云相结合
我们的 AI 数据分析师代理代表着在使数据分析更易于访问和高效方面迈出的重要一步。该代理基于 OpenAI 的 GPT-4 构建,并与 Snowflake 的计算能力深度集成,将自然语言查询转化为可操作的见解。
AI 生成的图像
为什么选择 Snowflake?
Snowflake 是一个基于云的数据平台,它彻底改变了组织存储、处理和分析数据的方式。其核心是一个强大的数据仓库即服务,使组织能够整合来自多个来源的数据,执行复杂的分析,并根据需要扩展计算资源——同时保持强大的安全性。
从一开始,Snowflake 就秉承两个核心原则:消除跨数据、技术和团队的孤岛,同时最大限度地减少客户的基础设施负担。该平台擅长于:
- 无缝处理结构化和非结构化数据
- 提供无限的并发访问,而不会降低性能
- 提供即时、近乎无限的可扩展性
- 确保企业级安全性和治理
- 同时支持多个数据工作负载
现在,随着 AI 成为一项战略要务,Snowflake 通过其 AI 数据云架构扩展了这种相同的方法——在一个安全平台上统一结构化和非结构化数据、高级模型和治理。通过扩展熟悉的湖仓一体/勋章模型以适应新兴的 AI 功能,如基础模型、text2sql 和语义搜索,Snowflake 能够实现快速、经济高效的 AI 创新,而不会牺牲安全性。该平台正在帮助组织通过从数据中解锁新的见解并加速 AI 驱动的转型来超越竞争对手。
智能工具编排
使我们的代理真正独特的是其精密的工具编排功能。让我们来探索我们的核心分析引擎:
1. SQL 生成和执行引擎 🔍
SQL 引擎的 SQL 数据库工具包
我们的 SQL 生成引擎通过将自然语言查询转换为精确的 SQL 操作来改变团队与数据交互的方式。它采用先进的 AI 技术构建,消除了对技术专业知识的需求,同时保持专业级的能力。
主要特点:
- 智能查询转换:由 LLM 提供支持,可将业务问题准确地转换为优化的 SQL 查询,理解上下文和数据结构
- 自动化性能优化:高效处理复杂的数据操作,同时最大限度地利用计算资源
- 动态可视化:在几秒钟内将查询结果转换为清晰、可操作的可视化
- 智能错误预防:包括内置验证,以确保数据准确性并在需要时提供清晰的指导
2. Snowpark 生成与执行 ⚡
通过 Snowpark 集成,我们能够实现复杂的数据转换和统计分析,而这些通常需要广泛的编码专业知识。该系统会自动为复杂操作(从数据清理到高级分析)生成优化的 Python 代码,从而节省宝贵时间并减少潜在错误。
将 snowpark 工具添加到代理
通过少样本提示,我们为 AI 代理提供了 Snowpark 代码片段示例,使其能够理解所需的代码结构,并为新查询生成类似且上下文相关的代码模式。
使用 Snowpark 查询示例进行提示
3. 检索增强生成 (RAG) 📊
我们的代理利用检索增强生成 (RAG) 的强大功能,彻底改变了我们处理和分析结构化和非结构化数据的方式。通过实现 Snowflake 的 VECTOR_COSINE_SIMILARITY 函数,我们能够实现复杂的语义搜索功能,从而理解用户查询的真实上下文,超越简单的关键词匹配,掌握信息请求的潜在含义。
VECTOR_COSINE_SIMILARITY
RAG 工具擅长通过智能解析和语义理解将非结构化文档转换为结构化、可分析的数据。此功能允许进行更细致和全面的数据提取,确保宝贵的见解不会在复杂文档或各种数据格式中丢失。
4. 聊天历史摘要 💭
为了在扩展交互过程中保持上下文,我们的聊天历史摘要功能可确保无缝、高效的用户体验。
高效的历史记录管理:
- 令牌限制优化:监控聊天历史记录令牌,并在接近 GPT-4o 的令牌限制时总结过去的交互。
- 自动摘要:将冗长的对话提炼成简洁的摘要,同时保留基本上下文。
- 自动对话跟踪和分析:维护所有交互的详细记录,以进行全面分析和审查。
- 关键点提取和组织:自动从对话中提取和组织重要点,方便快速参考和决策。
分解复杂查询
该代理最令人印象深刻的功能之一是它能够将复杂查询分解为可管理的任务。代理不是将每个查询视为一个整体请求,而是智能地将其分解为更小的逻辑组件,并以正确的顺序编排适当的工具调用。
例如:分析 customer_shopping_data 表以根据 invoice_date 列识别购物的季节性趋势。确定哪个月的购买量最高,并提供每个月的购买量月度细分。
查询分解
桥接结构化和非结构化数据
RAG 技术与 VECTOR_COSINE_SIMILARITY 功能的集成创建了一个强大的系统,用于处理结构化和非结构化数据。存储在 Snowflake 中的向量嵌入实现了高效的文档搜索和上下文理解,从而可以同时分析数据库内容和文档存储库。
由于我们在代理中添加了 SQL、Snowpark 和 RAG 工具,因此代理能够在结构化和非结构化数据之间进行解析,从而使用户更轻松。
它是如何工作的?
考虑这个具体示例:一位人力资源经理问道:
提供我们当前劳动力多样性比率(按性别和种族划分)的详细细分,以及我们《员工手册》中概述的具体多样性和反歧视政策。
代理通过以下方式处理此复杂请求:
代理将查询分解为不同的任务:
从表中提取和分析员工人口统计数据
- 性别分布统计
- 种族/民族分布指标
查看员工手册中的 PDF 文件,以获取多样性政策
- 平等机会准则
- 反歧视措施
- 住宿政策
- 培训要求
依次执行多个工具调用:
- 访问人力资源数据库以获取当前人口统计数据
- 从员工手册中提取政策文档
- 生成人口统计分布分析
- 编制全面的政策摘要
提供可操作的见解:
- 按性别和种族划分的详细人口统计细分
- 多样性相关政策的完整概述
- 平等机会就业指南
- 反歧视和住宿措施
- 培训和合规要求
时序图
此序列图说明了在生成全面的劳动力多样性分析的过程中,用户、代理、Snowflake 数据库和 RAG 工具之间的信息流和交互。条件工具调用步骤的包含突出了代理根据其接收到的数据做出决策并调整其操作的能力。
代理输出 —
代理输出
此示例演示了代理如何无缝地将结构化数据分析与基于文档的策略验证相结合,从而提供传统上需要多个团队和系统才能生成的全面响应。
实际演示
观看我们的 AI 数据分析师代理处理查询并实时提供见解。
AI 数据分析师代理在行动
数据可视化
安全性和访问控制
确保数据的安全性和完整性在我们的 AI 数据分析代理实现中至关重要。为了实现强大的安全性和访问控制,我们采用基于角色的访问控制(RBAC)系统,该系统旨在解决与大型语言模型(LLM)相关的特定漏洞。
基于角色的访问控制(RBAC)
我们通过为 AI 数据分析代理分配基于特定角色的不同凭据集来实现基于角色的访问控制(RBAC)。这种方法确保代理以执行其功能所需的最低必要权限运行,遵循最小权限原则。我们的 RBAC 策略包括以下关键组件:
限制禁止操作的示例
- 只读角色: 分配仅限于执行 SELECT 查询的角色。这可以防止代理执行任何数据修改操作,例如 INSERT、UPDATE、DELETE 或 DROP。
- 受控执行: 通过在凭据级别强制执行这些限制,试图通过提示注入执行禁止操作的行为会从根本上被阻止,因为数据库会拒绝未经授权的命令,而不管代理的意图如何。
限制数据访问
用户特定约束: 我们的 RBAC 实现确保每个用户的交互仅限于其授权数据。通过使用用户特定限制(例如用户名)配置凭据,代理生成的任何查询都会自动限定为用户被允许访问的数据。这可以防止用户访问、修改或删除其授权范围之外的数据,即使他们试图操纵查询参数。
代理内部的防护措施:压力测试系列
用于增强安全性的系统提示限制 — 通过在系统提示中配置严格的访问和权限限制,AI 数据分析代理可以有效地阻止各种类型的攻击。这些包括:
# 测试 1 — 少样本攻击: 试图通过多个输入示例来操纵代理。
# 测试 2 — 限制规避: 试图绕过既定限制的技术。
# 测试 3 — 系统提示操纵: 试图更改指导代理的基本指令。
系统提示操纵
# 测试 4 — 多语言攻击: 使用不同的语言(如中文)来掩盖恶意意图。
# 测试 5 — 虚假聊天记录攻击: 插入虚假上下文以欺骗代理。
RBAC(Role Based Access Control)
卓越的防御高级 SQL 注入攻击-
虽然系统提示中的严格限制可以防止一般的 SQL 注入尝试,但高级攻击可能仍然会找到利用该系统的方法,尤其是在具有不同访问权限的多用户环境中。仅使用系统提示管理具有不同权限的不同用户组可能很复杂且容易出错。
通过实施 RBAC,我们可以智能且轻松地控制每个用户组的访问级别,而不完全依赖默认的系统提示限制。RBAC 提供了对权限的精细控制,确保每个用户组只能访问其被授权的数据和操作。这种方法简化了访问管理,并通过降低高级 SQL 注入攻击的风险来增强安全性。
通过 RBAC,我们的 AI 代理可以无缝地处理大量具有不同访问需求的用户,同时保持强大的安全性,以防止复杂的注入尝试。
推进代理智能
这种 AI 数据分析代理代表了数据分析民主化的重大进步。通过结合大型语言模型和 Snowflake 的计算能力,我们正在使各种技术水平的用户都可以访问复杂的数据分析。
TR 的下一步计划:特定于领域的 AI 代理
在我们的数据分析代理取得成功的基础上,我们很高兴继续我们的下一阶段开发:为汤森路透内部团队量身定制的特定于领域的 AI 代理。虽然我们的通用数据分析代理已被证明对基本数据分析需求非常有价值,但我们从内部利益相关者那里获得的研究和反馈表明,有令人信服的理由开发专门的代理,以了解特定于 TR 的上下文和工作流程。
这些专门的代理旨在服务于汤森路透内部的不同职能,每个代理都具备对部门特定术语、流程和数据结构的深刻理解。通过专注于关键的内部领域(从财务、客户到现金和人力资源开始),我们正在创建可以匹配这些领域主题专家专业知识水平的 AI 代理。
为什么垂直领域的代理对 TR 很重要?
虽然我们的通用数据分析代理提供了广泛的分析能力,但我们与不同的汤森路透团队合作表明,需要了解特定于 TR 的上下文、术语和工作流程的专门代理。
广度与深度权衡:
- 通用代理提供广泛的分析能力,但可能会忽略特定于 TR 的细微差别
- 垂直领域的代理为专门的 TR 部门提供更深入、更具上下文的见解,从而实现更准确和更有价值的分析
以客户为中心解决方案:
内部财务团队:
- 需求:具有TR特定知识的复杂差异分析和财务报告
- 价值:内置对TR财务代码、成本中心和会计实践的理解
- 影响:更精确的差异分析、更快的财务洞察以及减少对财务专家(SME)的依赖
- 示例:在考虑TR特定的预算周期和成本分配方法的同时,自动识别和解释部门支出中的重大差异
内部客户到现金(C2C)团队:
- 需求:深入分析客户问题和痛点,以改善服务交付
- 价值:对TR的产品、常见的客户挑战和问题解决模式的专家级理解
- 影响:更快的问题识别、改善的客户满意度以及主动的问题解决
- 示例:分析客户交互数据以识别重复出现的问题,按产品线或地区对问题进行分类,并提供需要立即关注的根本原因的见解
该代理本质上充当虚拟SME,帮助团队快速识别和理解客户痛点,从而实现更有效的问题解决和改善客户体验。
正在开发中的增强功能:
提示库
- 保存并重复使用有效的提示
- 在团队成员之间共享提示
- 提示优化的版本控制
元数据集成
- 增强的上下文感知
- 更好的数据沿袭跟踪
- 改进的数据治理
高级编排
- 更复杂的workflow管理
- 增强的错误处理
- 并行处理能力
业务影响
这些专门的代理已经在改变我们的内部团队的运作方式:
- 财务团队可以在几分钟内而不是几小时内执行复杂的差异分析
- O2C团队可以快速识别和分析跨产品线的客户痛点
- 人力资源团队可以在维护政策合规性的同时访问和分析劳动力数据
- 减少了对技术团队在所有部门进行数据分析的依赖
- 通过更快地访问部门洞察来改善决策
所有这些发展都将继续确保TR作为一个组织能够在访问日益复杂的AI功能的同时维护其数据安全和治理标准。
未来步骤:增强TR的AI能力
随着我们在代理AI领域中的进步,我们的战略路线图侧重于增强我们当前的功能并开创下一代协作AI代理。利用强大的平台,我们的目标是提供复杂、无缝和智能的解决方案,以推动业务成功。以下是我们的即将推出的计划的深入探讨:
🔮 利用Cortex
- Snowflake中的原生AI/ML功能
- 用于常见业务用例的预构建AI模型
- 与大型语言模型的无缝集成
- 增强的文档处理和文本分析
🤖 AutoML集成
- 基于Snowpark的自动化机器学习pipeline
- 简化的数据预处理和模型训练
- 用于复杂分析的用户友好界面
- 直观的视觉呈现和报告工具
🔄 多代理生态系统愿景
- 协同工作的专业代理
- 自动化workflow管理
这种集成方法将Cortex强大的AI功能与自动化机器学习和多代理协作相结合,为现代业务挑战创建了全面的解决方案。
通过利用这些技术,我们正在构建一个未来,在这个未来中,数据驱动的决策比以往任何时候都更容易获得、更准确且更具可操作性。
我们创建的每个专业代理都使我们更接近于这种协作AI系统的愿景,这些系统不仅进行分析,而且积极参与推动业务成功。
结论
在本文中,我们分享了在汤森路透构建智能AI数据分析师代理的旅程,该代理利用Snowflake强大的数据平台。通过将先进的AI功能与强大的基础设施相结合,我们创建了一个解决方案,该解决方案改变了我们的内部团队与数据交互的方式——将分析时间从几小时缩短到几分钟,并使非技术用户可以访问数据洞察。
主要收获:
- 我们的AI代理理解自然语言查询并自动生成洞察
- 与Snowflake集成可实现安全、可扩展的数据处理
- 针对财务、O2C和人力资源团队的特定领域代理正在提高部门效率
- 强大的安全措施确保安全和可控的数据访问
我们对未来充满期待,因为我们将继续在汤森路透扩展和增强这些功能。
关于合作者
Ruichong “Alex” Wang 是汤森路透的应用科学家,专注于人工智能、机器学习和大型语言模型 (LLM)。他的专业知识包括开发智能 AI 系统、增强数据分析解决方案和开创 Agentic AI 技术。
Mac Allen 是 Snowflake 的加拿大 AI 总监,自 2020 年 GPT-2 发布后创立了一家公司以来,他一直拥有使用大型语言模型构建应用程序的深厚专业知识。在 Snowflake,他与加拿大数百家公司合作,以确定有影响力的用例、确定初步项目需求范围,并克服障碍,从而成功地将 AI 和 ML 应用程序部署到生产环境中。