从需求到上线:基于 Spring AI 打造'AI 问数'Agent 的完整实践
导读
传统 BI 报表难以及时响应灵活多变的运营需求,而 Text-to-SQL(文本转 SQL)技术正是打破这一数据壁垒的关键。本文将深度复盘技术团队如何基于 Java 生态(Spring AI Alibaba),从 0 到 1 构建生产级'AI 问数'Agent。文章将完整解析从解决大模型'幻觉'的 RAG 设计,到 SQL 执行的安全熔断,再到前端图表自动渲染的全链路代码实现与踩坑经验。
最近产品上线了一个新功能——「AI 问数」,一个完全基于 Spring AI(含 Spring AI Alibaba 扩展)开发的 AI Agent。它能让运营人员以及非技术同学用日常中文直接'聊天式'问数据,Agent 自动理解意图、生成 SQL、执行查询,再以交互式图表把结果漂亮地呈现出来。
这篇文章把从需求调研 → 场景定义 → 问题拆解 → 技术选型 → 全链路开发 → 上线优化整个过程完整拆解复盘一遍。
一、需求调研:为什么要做「AI 问数」?
2025 年上半年,我们的云运营平台很多客户的数据量已经突破千万级,而各个客户对于日常查询需求非常碎片化且有差异。
我们做了一次小范围调研(覆盖客户的运营、财务、营销等部门),得到的核心痛点如下:
| 痛点 | 具体描述 | 影响比例 |
|---|---|---|
| 报表固定不灵活 | 固定报表只能看平台中提供的固定报表数据,临时想看'教育行业客户的 11 月订单趋势'就卡死 | 85% |
| 数据等待时间长 | 提数导出 → 分析报表 → 出结果,最快也要几个小时 | 62% |
| 图表手动做太麻烦 | 拿到 Excel 后还要自己画图、调颜色 | 91% |
调研结论非常明确:大家不是不想要数据,而是'要数据太难、太慢、太丑'。于是我们定了目标:让所有人 30 秒内看到自己想要的图表。
二、适用场景:到底能解决哪些实际业务问题?
「AI 问数」目前主要覆盖以下高频场景(按使用频率排序):
- 日常运营监控:如'最近 3 个月新用户数趋势''最近 7 天订单走势'。
- 临时领导/跨部门要数:如'上个月某类产品订单占比最高的 10 个客户''本周账单金额环比上周增长了多少'。
- 多指标组合查询:如'最近 30 天客户日活、付费金额、订单数量 三条曲线放一张图上'。
实际使用下来,85% 以上的日常提数需求都能被覆盖,剩下 15% 极复杂需求,我们会引导走传统 BI 或版本迭代。
三、核心解决问题能力总结
| 传统方式 | 「AI 问数」 | 提升幅度 |
|---|---|---|
| 提数最快 2 小时~1 天 | 平均 20 秒出结果(含图表) | 提升 400 倍+ |
| 只能看固定维度 | 任意自然语言自由组合 | 维度无限 |
| 结果是表格/Excel | 直接交互式图表 | 体验跃升 |
| 需要定制开发 |



