本文为您概要介绍智能分析Agent在进行数据查询时的主要链路节点,和对应节点上的要点说明。
通用问数链路
使用智能分析Agent进行数据查询时,智能体会基于您的提问进行图表查询并返回给您最终的查询结果,在智能体的底层数据查询链路大致流程如下。

- 智能体会基于您的提问,通过NL2SQL,生成数据查询SQL query。
- 智能体会基于您配置的知识、数据集、Prompt(含系统Prompt)进行知识召回,然后选择需要查询数据的表,并调用大模型工具对数据查询SQL进行改写、执行。
- 最终返回数据查询结果。
在通用问数链路中:
- 问数链路高度依赖ANSI_SQL工具的调用。
- 多数场景下,只需要调用一次ANSI_SQL工具;React范式下,React的过程可能会由模型判决,是否继续触发SQL工具调用。
- 一次完整的React过程,如果首次SQL调用结果就不够准确,则整个链式过程通常也就质量不高。
多路并行链路
引入多路并行的原因
大模型在请求与响应的交互过程中,幻觉是客观存在的固有问题,会影响数据查询输出内容的准确性。
采用多路并行生成策略,可针对同一用户请求,同步触发多路径的模型推理过程,得到多个独立的候选输出结果,由智能体对候选结果进行投票择优,返回最优结果,以提高数据查询结果的准确性。
多路并行的问数链路流程
如果您打开了多路并行的开关,则每次进行数据查询时,原先单一的通用问数链路会默认变更为同时触发了三路问数链路,大致流程如下图所示。

- 智能体会在三路链路中均开始执行数据查询任务,并对首次SQL执行结果进行投票,基于多路择优决策逻辑选出其中最优的结果。
- 如果数据查询任务涉及多次SQL执行,则首次SQL执行结果中:
- 最优的链路会继续后续SQL任务执行。
- 其他链路不再执行。
- 最终返回多链路中最优的数据查询结果。
在多路并行的链路中:
- 默认会开启3路数据查询链路。
- 投票择优发生在第一个SQL执行的过程:
- 首次SQL执行结果不够准确的话,通常整个链路的质量也不会太高,因此需优先保障首次SQL的执行结果。
- 首次SQL执行时,上下文内容较少、并发较少,投票择优性价比高。
- 通常大部分的问数也只会执行一次SQL。
- 多路择优决策逻辑基于兼容性矩阵,详情如下文所示。
多路择优决策逻辑
基于兼容性矩阵,分 2 步完成决策,最终输出 VotingResult。
(1)全连通(is_all_equals )➡️ 先判断 “谁能代表谁”
- 目标:判断所有结果是否 “相互兼容”(强连通);
- 实现:用 Floyd-Warshall 算法计算节点间的双向可达性
- 结论:若所有节点两两可达,判定为 “全连通”,直接返回默认主流索引(0)。
(2)主流挖掘(find_major_index )➡️ 打 “表” 记录
- 核心逻辑:“被最多结果连通的节点,就是主流”;
- 实现:统计矩阵每列的 1 的个数,计数最大的列对应的索引即为 major_index(主流结果索引)。