数据智能体应该预先学习多少,又应该在过程中查找什么?
摘要
一个构建业务数据调查智能体的团队分享了他们如何将 Schema 发现从智能体迁移到确定性代码,让模型专注于选择表和编写描述,而查询智能体则按需查找实时值。
我们正在构建一个帮助团队调查业务数据问题的智能体。在它开始之前,我们会准备一份可用表、列以及可能关联方式的目录。我们将这一步称为「发现」(discovery)。智能体使用这份目录来决定去哪里查找,然后在调查过程中检查实时数据源。
我们的第一个版本用一个智能体来检查 Schema 并编写目录。查询智能体本身可以检查 Schema 并在过程中查找值,所以它有办法填补空白。但这会增加工具调用次数,而且可能意味着在读取更多元数据后需要修改查询。我们希望发现阶段能为它提供一个更有用的起点,减少这些额外工作。
我们将 Schema 收集迁移到了新路径上数据源的代码中。代码从元数据中读取表名、列名、类型和可用的键约束。它还会对分片表和分区进行分组,并找出匹配的 Schema 布局。然后由模型来决定哪些表是重要的、匹配的布局是否为副本,以及这些表的含义。在选择表时,模型从给定列表中返回数字编号,由代码将其解析回表名。当它编写列描述时,代码会拒绝源目录中不存在的名称。每次调用我们最多描述 20 张表,对于宽表 Schema 则更少。
我们仍在决定初始映射中应该包含多少内容。在这条路径上,发现阶段不对行值进行采样,因此查询智能体在需要时才查找过滤值。它在编写 SQL 之前仍然会读取实时 Schema。描述和建议的关联方式也需要与调查结果进行核对。一些数据源仍然使用智能体来探索可用内容并编写目录。
你会预先包含哪些内容,以减少智能体后续的工作?你会在发现阶段对分类值进行采样,还是将这些检查保留在每次调查内部?
相似文章
构建数据代理
探讨从文本转SQL到自主数据代理的演变,比较了使用LangGraph自定义构建的代理与Snowflake Cortex Analyst、Databricks Genie和PowerBI Copilot等托管平台。
通过数据到洞察发现代理迈向自主商业智能
本文介绍了 AIDA,这是一个自主代理框架,旨在通过利用强化学习和专有的领域特定语言来执行 SQL,将碎片化的企业数据转化为可操作的商业洞察。
生成更好训练数据的智能体(25分钟阅读)
Autodata 引入了一种智能体数据科学家,它能够迭代生成并优化合成训练数据,并通过元优化进一步提升数据质量,在计算机科学和法律推理任务上取得了更好的效果。
对于使用知识库的智能体,或许应先清理数据
本文讨论了为AI智能体进行数据准备的重要性,以确保可靠的知识检索,主张在整合知识库之前清洗和结构化数据。文章重点介绍了在OpenDCAI/DataFlow项目中对此方法的探索,并寻求社区反馈。
@OReillyMedia:当智能体可以自行运行分析时,数据科学家的职责是什么?“AI原生数据科学家构建并引导一种分析流程,使智能体能够进行调查、接收反馈,并返回证据供审查。”
O'Reilly 的一篇介绍《Agentic Data Science Playbook》(智能体数据科学操作手册)的文章——AI原生数据科学家如何将分析任务委托给AI智能体,同时负责设计工作流、验证机制和反馈闭环。文章使用修改过的 Elliptic 比特币欺诈数据集进行实验:Claude Opus 5.0 最初报告了虚高的结果(F1 达 0.87),原因是一个时间切分错误以及一个人为植入的泄漏特征;在获得正确的引导后,修正后的性能下降至 F1 为 0.70,在高节点度数节点上的召回率仅为 0.21,这说明专家监督仍然至关重要。