最近在公司内部调研AI智能体平台,发现市面上大多数方案要么太重(需要整套云基础设施),要么太轻(只能做简单的对话)。直到我遇到环曜Agent这个项目,前后折腾了两周,从源码编译到完整跑通,觉得有必要写几篇文章分享一下。这篇文章先聊聊它的整体架构和技术选型思路。

一、为什么需要企业级AI智能体平台

说实话,去年ChatGPT爆火之后,我们公司也跟风接了几个大模型API,做了几个简单的问答机器人。但用起来总觉得差点意思:

  • 知识断层:模型不懂我们公司的业务知识,问点内部流程就瞎编
  • 工具匮乏:只能对话,不能查数据库、不能调接口,像个"哑巴"
  • 成本黑盒:用了多少Token、花了多少钱,完全没概念
  • 重复造轮子:每个部门都想做AI助手,结果各搞各的,资源浪费

环曜Agent这个项目,本质上就是想把这些问题一次性解决。它不是简单的"套壳"ChatGPT,而是一个完整的智能体编排与管理平台

二、项目定位与核心能力

环曜Agent的定位很清晰:让非技术人员也能创建和管理AI智能体。我梳理了一下它的核心功能矩阵:

功能模块 解决的问题 技术亮点
智能体管理 零代码创建AI助手 可视化配置,5分钟上线
RAG知识库 解决模型知识断层 混合检索+重排序,准确率92%+
可视化工作流 复杂任务自动化 拖拽式编排,27种节点
AI数据分析 降低数据查询门槛 自然语言转SQL/DSL,四层安全防护
Function Calling 扩展AI能力边界 内置7种工具,支持自定义
Token统计 成本透明化 多维度统计,精确到每次调用

最让我意外的是AI数据分析这个功能。传统的BI工具学习成本太高,业务人员根本用不起来。环曜Agent的做法是让用户直接用自然语言提问,比如"最近7天销售额排名前10的商品",系统自动生成SQL并执行。而且做了四层安全防护,从意图识别到只读数据库连接,层层把关,不用担心数据被误删。

三、技术架构拆解

3.1 整体分层

环曜Agent采用经典的分层架构,我画了个简图:

Plain Text

┌─────────────────────────────────────────┐
│  前端层 (Vue 3 + Element Plus)          │
│  智慧大厅 | 智能体管理 | 知识库 | 工作流  │
└─────────────────────────────────────────┘
                   ↕ REST API
┌─────────────────────────────────────────┐
│  应用层 (Spring Boot 3.2.6)             │
│  对话服务 | 智能体服务 | 数据查询 | 工作流 │
└─────────────────────────────────────────┘
                   ↕
┌─────────────────────────────────────────┐
│  引擎层 (LangChain4j)                   │
│  LLM引擎 | RAG引擎 | 工具引擎 | 记忆引擎  │
└─────────────────────────────────────────┘
                   ↕
┌─────────────────────────────────────────┐
│  数据层                                  │
│  MySQL(业务) | Redis(缓存) | ES(向量)    │
└─────────────────────────────────────────┘

3.2 后端技术选型

核心框架:Spring Boot 3.2.6 + Java 17

选Java而不是Python,我觉得是个务实的决定。企业级应用里Java生态更成熟,运维人员也熟悉。Spring Boot 3.2要求Java 17,用上了虚拟线程等新特性,并发处理能力有提升。

AI框架:LangChain4j 1.0.0-beta3

这是Java版的LangChain,虽然生态不如Python版丰富,但核心能力都有:Prompt模板、RAG链、Function Calling、记忆管理。关键是它支持多模型接入,环曜Agent里同时接入了:

  • 阿里百炼(通义千问,国内首选)
  • OpenAI GPT系列
  • Ollama(本地模型,后面会细说)

数据存储:MySQL + Redis + Elasticsearch

  • MySQL存业务数据(智能体配置、知识库元数据、工作流定义等)
  • Redis做缓存和对话记忆(分布式场景下多个实例共享对话历史)
  • Elasticsearch 8.14.3做向量存储和全文检索

ES在这里身兼两职:既是RAG的向量数据库,又是AI数据分析的目标数据源。8.14版本内置了dense_vector类型和kNN搜索,不需要额外装插件。

3.3 前端技术选型

Vue 3.5.13 + Vite 5.4.8 + Element Plus 2.8.4

标准的Vue 3技术栈,没什么特别的。但有几个细节值得注意:

  • 工作流编排用了@vue-flow/core,这个库做拖拽式节点编辑器很合适,支持自定义节点类型、连线验证、缩放平移等
  • Markdown渲染用了Marked + Highlight.js,代码块有语法高亮
  • 图表用ECharts 5,数据大屏里的各种统计图表都靠它

四、部署架构与本地化优势

环曜Agent最大的卖点之一是完全支持本地化部署。我梳理了一下它的依赖服务:

服务 用途 是否必需 本地部署难度
MySQL 8.0+ 业务数据库 简单
Redis 7.0+ 缓存/会话 简单
Elasticsearch 8.14.3 向量存储/数据分析 中等
MinIO 对象存储 简单
LibreOffice 文档转PDF 推荐 简单

所有依赖服务都可以本地部署,不需要连外网。对于数据敏感的企业来说,这是刚需。

更妙的是,环曜Agent还内置了一个LocalEmbeddingModel。当你没有配置API Key时,它会自动降级使用本地词袋模型做Embedding。虽然效果不如OpenAI的Embedding,但在内网环境下能跑起来,不至于完全用不了。

五、性能指标实测

我在本地MacBook Pro(M3 Pro,18GB内存)上做了简单压测:

指标 官方数据 我的实测
对话响应延迟 < 500ms ~300ms(不含LLM推理)
RAG检索延迟 < 200ms ~150ms
SQL生成延迟 < 2s ~1.5s
并发支持 1000+ 没测到上限

单实例跑个小团队(几十人)完全没问题。如果要上生产,ES做集群、后端做多实例,支撑几百人应该轻松。

六、小结与下篇预告

环曜Agent的架构设计有几个值得学习的地方:

  1. 分层清晰:前后端分离,引擎层独立,方便替换实现
  2. 扩展性强:多模型、多数据源、自定义工具,接入成本低
  3. 企业级考量:安全认证、权限控制、审计日志、成本统计,该有的都有
  4. 本地化友好:所有依赖可本地部署,支持离线运行

当然,beta版本的LangChain4j有些地方还不够稳定,文档也比较简略,二次开发需要啃源码。

下一篇我会写本地化部署的完整实战指南,从环境准备到前后端启动,再到常见问题排查。如果你也想在内网搭一套AI智能体平台,记得关注。


本文基于环曜Agent实际项目经验撰写,仅供技术交流参考。

关于环曜Agent

环曜Agent是一家专注于企业级AI智能体本地化部署的服务商,提供从平台搭建、模型适配到二次开发的全栈技术支持。我们致力于帮助企业构建安全可控、私有化部署的AI智能体平台,让非技术人员也能轻松创建和管理AI助手。

服务范围:智能体平台部署 | RAG知识库搭建 | 工作流自动化 | AI数据分析 | 模型本地化适配 | 企业定制开发

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐