在 SAP 数据上构建企业智能体
我对我当前项目中传统的企业规划工作流、SAPUI5 界面、重 Excel 的操作和 PowerBI 报表感到有些厌倦,所以开始尝试在我们的 SAP 规划数据之上构建智能体 AI。
最初我只是想构建一个小型平台,可以动态查询数据,也许还能创建仪表板、模拟、异常检测和类似的功能,而不必完全依赖静态报表。经过许多个周末和工作日深夜的努力,它慢慢演变成了下面这个名为 SONA 的应用。
前端使用 React 构建,后端主要使用 Python。这个名字实际上来自《星际迷航》😄。说实话,《星际迷航》可能拥有足够多的种族、星球和飞船名称,可以支撑 AI 产品命名很多年。
在深入了解 SONA 之前,我认为有必要解释一下为什么更大的业务场景需要的不仅仅是一个简单的基于提示的 AI 设置。
你们中的许多人可能已经实现了一些 LLM 测试,甚至是可运行的脚本。也许是一个与 SAP 对话的聊天机器人,或者一个汇总内容的中间件。
response = client.messages.create(
model="claude-4.6-sonnet",
messages=[{"role": "user", "content": "Explain what agentic AI is in one sentence"}],
max_tokens=100
)
尽管上面的代码可以运行,但它终究只是一个直接的 LLM 调用,完全依赖 AI 响应本身,没有编排、记忆、验证或执行控制。
它看起来很有趣,但老实说,对于更大的业务场景来说,仅凭这一点是不够的。AI 不应该只是回答像这样的简单问题:
"我 2025 年的总运营支出是多少?按实体和区域级别显示。"
实际上,这正是促使我开始构建这个应用的问题之一 :D
但问题通常在场景变得更复杂时才开始出现。特别是当计算依赖于先前的输出、多个工具需要协同工作,以及结果必须保持一致和可审计时。
现代 AI 产品不仅仅是连接到 API 调用的提示。它们正在成为基于智能体的系统(就像我们用微服务开发 Web 应用一样),能够理解目标、规划步骤、使用工具、记住上下文,并在解决问题时进行适应。
这就是我开始更认真地探索"规划与执行"模式的地方。
AI 不是直接生成一个最终答案,而是首先尝试理解请求,将其拆分为更小的任务,并决定每个步骤应使用哪些工具。然后实际的执行通过 SQL、Python 或内部业务逻辑来完成。
如下所示:
例如,一个看起来简单的预算削减模拟请求,在幕后实际上可能需要多个依赖任务,包括 SQL 聚合、转换步骤、KPI 计算、图表生成,以及最后对结果的 AI 解读。
我不会分享我的规划数据,但我加载了来自 Kaggle 的样本公开数据集,其中显示了睡眠和游戏对学业表现的影响。数据从 SAP 流向 Azure Blob,最终导入到 SONA。
将数据加载到系统后,你可以直接在数据集窗口中查询数据集、提出问题并创建仪表板。
这里的一个重要步骤是数据增强。AI 使用内部构建的 SQL 工具帮助分类列,同时为度量定义数据类型、描述和聚合类型。基本上,它会帮助定义每一列及其数据类型、描述,甚至度量的聚合类型。
因此,当我提出下面的问题时,它需要多个步骤,包括通过 SQL 读取数据、使用 Python 转换数据、使用专为此目的设计的内部代理创建图表和 KPI 指标,最后生成 AI 洞察。
基本上,AI 始终是流程的一部分,但更多是作为规划者和编排者,而非直接执行者。
AI 规划。系统执行。
- AI 负责编排和解读
- SQL、Python 或其他工具根据创建的计划被调用
- 每个步骤都是确定性的和可审计的,因为 AI 从不直接执行而是规划
以下是问题和编排引擎创建的任务。
以及聊天中的一些结果:
如你所见,它不仅仅是创建纯文本。输出由丰富的表格、图表、KPI 指标、建议和 AI 洞察支持,每个部分都有专为此目的设计的内部代理。
数据通过 SQL 引擎查询,并通过 Python 层处理。内部可视化代理根据需求生成图表和 KPI 输出。因此,它不是简单地将整个数据集传递给 AI 然后获得结果。
系统目前能回答什么
目前系统可以通过包括 SQL、Python 和 AI 洞察在内的几个层来回答以下问题:
识别所有超支公司并计算它们的总超额支出。对该超额支出应用 15% 的削减。然后检查所有支出不足公司的总未使用预算是否足以覆盖剩余 85% 的超额。最后给出一个简单的是或否,支出不足的公司能否在 15% 削减后完全吸收剩余的超支?
不仅可以与你的数据对话,我还添加了一个开发工作室,你可以在其中编写 Python 代码,直接在数据集上进行转换、统计计算、趋势分析或基本上任何 Python 能做的事情,而无需返回并更改源。你可以让 AI 代表你编写代码;
你在这里做的输出也可以用作仪表板页面的输入,你可以在下面看到:
这是 SQL 编辑器,你可以查询每个数据集或报表:
这是数据模型,你可以根据选择连接多个模型、过滤、计算。
实际上,应用中现在有大量的功能。它们大多数都是在周末以"好吧,再加一个功能"开始的,慢慢地变得比我最初想象的简单 POC 复杂得多 :D
应用市场用于激活应用、代理构建器用于创建你自己的代理、作业、警报、管道、提取监控、数据血缘、语义层、授权以及许多其他组件,慢慢地随着时间推移成为平台的一部分。
到了这个阶段,它不再是一个简单的 AI 演示或 POC 了。它变成了一个完全可用的端到端分析和编排平台,你可以加载你的数据并立即开始分析。
下一步是什么?
目前我计划进一步扩展到预算模拟、异常检测、基于数据集结构的趋势规划建议、应用内协作讨论、规划场景的共享调查、工作流驱动的审批,甚至在验证和模拟完成后受控地回写到 SAP。
原文链接: Building an Agentic AI Platform on Top of SAP Data
汇智网翻译整理,转载请标明出处