Skip to content

2026 企业级 AI 应用落地盘点:从对话到 Agent 的 6 类场景实测(含 Spring AI 多模型与知识库 RAG)

🌐 演示地址https://ruoyioffice.com | 📦 源码1·GitHubruoyi-office | 📦 源码2·GitCoderuoyi-office | 📦 源码3·Giteeruoyi-office | 💬 微信:17156169080(备注「RuoYi Office」)

2026 年,企业不再问「要不要上 AI」,而是问「先上哪一类、怎么控成本、怎么和现有 OA/BPM/HRM 打通」。外挂一个 ChatGPT 账号,解决不了制度问答、流程生表、权限边界;钉钉智能助手好上手,却难把企业私有接口与审批上下文吃透。真正能落地的,往往是系统内嵌的 AI 中台:多模型可切换、知识库可溯源、工具可编排、工作流可配置。 本文按 6 类场景做实测盘点,并锚定 RuoYi Office(yudao-module-ai)的真实实现路径。

2026 企业级 AI 应用落地 - 六场景全景

▲ 六场景全景:① 多模型对话中台 → ② 企业知识库 RAG → ③ AI 写作助手 → ④ MCP/Tool 调用 → ⑤ AI 工作流(Tinyflow)与 FormCreate AI 生表 → ⑥ 多模态(绘图/音乐/思维导图);底层统一 Spring AI + 模型工厂 + 角色/权限收口

引言:企业 AI 落地,到底卡在哪?

多数团队不是「不会调 API」,而是踩在这几个坑上反复返工:

痛点一:模型绑定过死。代码里写死一家厂商 SDK,业务今天要 DeepSeek、明天要通义、后天要内网 Ollama,每次换模型都是改代码 + 发版。

痛点二:通用模型不懂企业资料。员工问「差旅住宿标准」,模型一本正经胡编;没有 RAG(检索增强生成),答案不可信、不可溯源。

痛点三:只会聊天,不会干活。查考勤、建工单、查库存需要调企业接口;没有 Tool/MCP,Agent 只是话术壳。

痛点四:能力散落,无法运营。对话、写作、绘图、工作流各开一套后台,Key、配额、角色、审计无法统一。

现状后果
单模型硬编码换模型 = 改代码发版
无企业知识库答不准、不可溯源
无工具调用AI 不能触达业务动作
AI 能力外挂权限/租户/审计割裂
只做对话 Demo无法进入审批/表单/流程场景

一句话结论:2026 的企业 AI,核心不是「再接一个聊天框」,而是把对话、检索、工具、工作流、多模态收敛成可运营的中台能力。


一、三种落地路径怎么选?

在展开 6 类场景前,先横向对比三条常见路径,避免一上来就选错架构。

维度外挂 ChatGPT / 网页助手钉钉等办公智能助手一体化系统内嵌 AI 中台
上手速度快(账号即用)快(组织内开通)中(需配 Key/模型)
企业私有知识弱(难控资料边界)中(依赖平台能力)强(自建 RAG + 权限)
调企业内部接口中(开放平台/插件)强(MCP + 本地 Tool)
与 OA/BPM 表单协同强(同系统同登录态)
多模型切换弱(绑定厂商)弱~中强(工厂 + 配置表)
数据与审计可控弱(出域风险)强(私有化 + 操作日志)
适合阶段个人试用、灵感草稿组织级轻量问答生产级业务嵌入

选型建议:个人效率优先选外挂;组织协同优先选办公套件助手;要把 AI 嵌进审批、知识库、低代码表单、Agent 工具链,优先选系统内嵌中台。 RuoYi Office 走的是第三条路:AI 模块与系统用户、角色、租户、菜单同域,前端统一落在 views/ai


二、场景 1:多模型对话中台

2.1 是什么

多模型对话中台,是把多家大模型(通义、DeepSeek、智谱、OpenAI、Ollama 等)抽象成统一「对话能力」,运营在后台配置 Key 与模型,业务侧只认 modelId,调用方不感知厂商差异。

2.2 企业能解决什么

  • 同一租户内,客服用高性价比模型、研发用推理更强的模型。
  • 涉密场景切到内网 Ollama,公网场景切云端,配置热切换。
  • 对话历史、角色人设、温度/MaxTokens 可运营,而不是写死在 yml。

2.3 落地要点

  1. 平台枚举化:厂商清单集中管理,避免魔法字符串。
  2. Key 与模型分表:一把 Key 挂多个模型;换 Key 不影响模型元数据。
  3. 工厂缓存 ChatModel:按平台构建 Spring AI 标准接口并缓存。
  4. 角色绑定模型/知识库/工具:对话入口统一,能力按角色裁剪。

2.4 RuoYi Office 怎么做

后端以 AiPlatformEnum 枚举国内/国外平台(通义、文心、DeepSeek、智谱、星火、豆包、混元、硅基流动、MiniMax、Moonshot、百川、阶跃、OpenAI、Azure、Anthropic、Gemini、Ollama、Grok 等),由 AiModelFactoryImpl.getOrCreateChatModel 按平台 switch 构建并缓存 ChatModel。前端入口在 views/ai/chatviews/ai/model(模型、API Key、对话角色)。

2.5 常见坑

表现建议
Key 写死配置文件多租户无法各用各的 KeyKey 入库,按租户隔离
直接 new 厂商 SDK换模型改代码统一走工厂 + Spring AI
不做流式长回答体验差对话用 SSE/Flux 流式
上下文无限增长Token 爆、成本飙按会话配置上下文条数

三、场景 2:企业知识库 RAG

3.1 是什么

RAG(Retrieval-Augmented Generation,检索增强生成)是:先从企业知识库检索相关片段,再把片段喂给大模型生成答案,解决「模型没读过你们制度」的问题。

3.2 企业能解决什么

  • 制度/手册/FAQ 问答,答案可溯源到分段。
  • 新人培训、客服话术、产品规格查询。
  • 把「胡编」变成「有据可查」。

3.3 落地要点

  1. 三层模型:知识库(规则)→ 文档(原文)→ 分段(检索单元)。
  2. 切片策略可配置:语义切、Markdown-QA 切,忌一刀切固定长度。
  3. 向量检索 + 可选 Rerank:先召回再重排,提升准确率。
  4. 对话侧按角色召回:角色绑定 knowledgeIds,不是全局乱搜。

3.4 RuoYi Office 怎么做

分段检索在 AiKnowledgeSegmentServiceImpl.searchDocument:向量库 similaritySearch,有 Rerank 模型时先放大 topK 再重排过滤。对话发送时由 AiChatMessageServiceImpl.recallKnowledgeSegment 按角色绑定的知识库逐个召回,再拼进 Prompt。前端在 views/ai/knowledge(知识库/文档/分段/检索试跑)。

3.5 常见坑

表现建议
切块过大/过小噪声大或语义碎按文档类型选策略 + 调 maxTokens
只靠向量相似度问「住宿标准」召回「申请流程」开启 Rerank + 调阈值
分段删了向量没删召回幽灵内容增删改同步 VectorStore
答案无引用用户不信任前端展示命中分段与分数

四、场景 3:AI 写作助手

4.1 是什么

AI 写作助手是面向「给定原文/提纲 → 扩写、润色、续写、缩写」的通用生成能力,通常带写作类型、语气、长度等参数,并落库生成记录便于复用。

4.2 企业能解决什么

  • 周报、通知、邮件草稿、活动文案的初稿提速。
  • 统一语气与结构,降低「每人风格迥异」的沟通成本。
  • 作为通用助手嵌入日常办公,而不是绑定单一业务单据。

4.3 落地要点

  1. 写作角色独立:系统消息与模型可单独配置。
  2. 流式输出:长文边生成边展示。
  3. 记录可回溯:原文、提示、生成结果入库。
  4. 边界说清楚:通用写作 ≠ 已内置某行业公文套红/版式引擎。

4.4 RuoYi Office 怎么做

AiWriteServiceImpl.generateWriteContent 会优先查找写作助手角色,取其 systemMessage 与绑定模型,构建 Prompt 后 chatModel.stream,完成后回写 generatedContent。前端在 views/ai/write与公文模块无硬耦合:写作是通用助手;若要做「公文语体/红头模板/版式合规」,属于扩展方向(可在写作角色 system 提示 + 公文模板库上叠加),不宜宣传为「已内置公文 AI」。

4.5 常见坑

表现建议
把写作当公文系统版式/套红/发文流程对不上写作出草稿,公文走专用模块
无角色人设输出风格飘配置写作专用 ChatRole
不同步落库无法复盘与审计生成前后都写库

五、场景 4:MCP / Tool 调用(大模型调企业接口)

5.1 是什么

MCP(Model Context Protocol,模型上下文协议)是标准化「大模型如何发现并调用外部工具」的协议;再配合本地 Function Tool,让模型从「只会聊天」升级为「能查能改」的 Agent。

5.2 企业能解决什么

  • 「帮我查张三本月考勤」「创建一个会议室预约草稿」这类动作。
  • 统一接入外部 MCP Server 与本系统工具,避免每个工具一套胶水。
  • 按对话角色裁剪可用工具,收口权限边界。

5.3 落地要点

  1. 角色挂载工具toolIds + mcpClientNames
  2. 统一成 ToolCallback:本地工具与 MCP 工具同一编排。
  3. 默认关闭 MCP:生产按需开启,避免误连不安全端点。
  4. 先只读后写操作:写接口必须鉴权、审计、可回滚。

5.4 RuoYi Office 怎么做

角色 DO 含 mcpClientNames;对话构建工具列表时,匹配 McpSyncClient 后用 SyncMcpToolCallbackProvider 取出回调并入 Prompt。配置侧 spring.ai.mcp.server/client.enabled 默认 false(见模块 application.yaml),避免未评估就暴露工具面。前端角色配置在 views/ai/model/chatRole,工具管理在 views/ai/model/tool

5.5 常见坑

表现建议
MCP 默认全开意外连上示例 Server默认 false,显式开启
工具描述含糊模型乱调工具名称/参数/返回写清楚
写操作无二次确认误删误改高风险工具加人审/白名单
客户端名不匹配工具装不上注意 Client 命名拼接规则

六、场景 5:AI 工作流(Tinyflow)与 FormCreate AI 生表

6.1 是什么

AI 工作流是把「提示词 → LLM 节点 → 分支/变量」可视化编排并可测试执行的链路;FormCreate AI 生表是用自然语言生成/修改低代码表单规则(rule JSON),直接喂给表单设计器。

6.2 企业能解决什么

  • 运营可拼「摘要 → 分类 → 生成回复」类轻量 Agent,不必每次找研发改代码。
  • 业务人员用一句话生成请假/报销等表单骨架,缩短低代码建模时间。
  • 把 AI 从「聊天窗口」推进到「可复用的流程资产」。

6.3 落地要点

  1. 工作流图(graph)持久化,LLM 节点绑定 llmId
  2. 测试执行与正式发布分离,变量显式传入。
  3. 生表输出必须是设计器可解析的完整 JSON,禁止夹杂解释文字。
  4. UI 框架约定写死在系统提示(如 ant-design-vue),减少无效字段。

6.4 RuoYi Office 怎么做

工作流:AiWorkflowServiceImpl.testWorkflow 解析 graph 为 Tinyflow,对 llmNode 注入模型 Provider 后 executeForResult。前端在 views/ai/workflow。生表:AiFormCreateController 映射 /ai/form-create,系统提示要求只输出 {"rule":[...]} 的 fcRuleDiff,流式 SSE 返回。设计器侧对接该接口即可「对话改表」。

6.5 常见坑

表现建议
工作流无变量约定节点拿不到输入文档化变量字典
生表夹杂 Markdown 解释设计器解析失败强约束「只输出代码块」
一次生成过大表单字段失控分步生成 + 人工审字段名
把 AI 工作流当 BPM审批合规对不上审批仍走 Flowable;AI 工作流做智能编排

七、场景 6:多模态(绘图 / 音乐 / 思维导图)

7.1 是什么

多模态能力覆盖文生图、音乐生成、思维导图结构化生成等,与文本对话共用「模型配置中台」,但调用的是 Image/音频等专用模型接口。

7.2 企业能解决什么

  • 活动海报、产品示意草图、培训配图的快速出图。
  • 品牌/活动 BGM 草稿(视商业授权与平台条款)。
  • 会议纪要/项目拆解一键成脑图,便于分享对齐。

7.3 落地要点

  1. 平台枚举区分对话与多媒体(如 StableDiffusion、Midjourney、Suno)。
  2. 生成任务异步化,状态可查询。
  3. 内容安全与版权:企业场景要有审核与授权意识。
  4. 前端分模块,避免一个巨型页面堆所有能力。

7.4 RuoYi Office 怎么做

前端按能力拆分:views/ai/image(含 Dall·E / SD / Midjourney 等模块)、views/ai/musicviews/ai/mindmap;模型仍走统一模型管理。工厂层除 ChatModel 外还提供 Image 等模型构建,保证「配置一套、能力多端」。

7.5 常见坑

表现建议
把演示图当生产素材版权/品牌风险明确授权与人工终审
同步阻塞等图接口超时任务表 + 轮询/回调
提示词无规范出图不稳定沉淀企业 Prompt 模板

八、后端核心实现(可直接对照源码)

下面三段代码对应「工厂切模型 → RAG 检索 → MCP 装工具」,是企业中台最常被问到的三块。

8.1 多模型工厂:按平台构建 ChatModel

AiModelFactoryImpl 用平台枚举做 switch,并对实例做单例缓存,避免每次对话重建客户端:

java
public ChatModel getOrCreateChatModel(AiPlatformEnum platform, String rawApiKey, String rawUrl) {
    final String apiKey = resolveSpringPlaceholders(rawApiKey);
    final String url = resolveSpringPlaceholders(rawUrl);
    String cacheKey = buildClientCacheKey(ChatModel.class, platform, apiKey, url);
    return Singleton.get(cacheKey, (Func0<ChatModel>) () -> {
        switch (platform) {
            case TONG_YI: return buildTongYiChatModel(apiKey);
            case DEEP_SEEK: return buildDeepSeekChatModel(apiKey, url);
            case ZHI_PU: return buildZhiPuChatModel(apiKey, url);
            case OPENAI: return buildOpenAiChatModel(apiKey, url);
            case OLLAMA: return buildOllamaChatModel(url);
            // ... 其他平台
            default: throw new IllegalArgumentException("未知平台: " + platform);
        }
    });
}

上层业务只拿 ChatModel,换 DeepSeek / 通义 / Ollama 对调用方透明。

8.2 知识库检索:向量召回 + 可选 Rerank

searchDocument 先按知识库维度过滤做相似度检索;若启用 Rerank,则放大候选集再重排并按阈值过滤:

java
private List<Document> searchDocument(AiKnowledgeDO knowledge, AiKnowledgeSegmentSearchReqBO reqBO) {
    VectorStore vectorStore = getVectorStoreById(knowledge);
    Integer topK = ObjUtil.defaultIfNull(reqBO.getTopK(), knowledge.getTopK());
    Double similarityThreshold = ObjUtil.defaultIfNull(
            reqBO.getSimilarityThreshold(), knowledge.getSimilarityThreshold());

    // 1. 向量检索(有 Rerank 时放大 topK)
    int searchTopK = rerankModel != null ? topK * RERANK_RETRIEVAL_FACTOR : topK;
    double searchSimilarityThreshold = rerankModel != null
            ? SIMILARITY_THRESHOLD_ACCEPT_ALL : similarityThreshold;
    List<Document> documents = vectorStore.similaritySearch(SearchRequest.builder()
            .query(reqBO.getContent()).topK(searchTopK)
            .similarityThreshold(searchSimilarityThreshold)
            .filterExpression(new FilterExpressionBuilder()
                    .eq(VECTOR_STORE_METADATA_KNOWLEDGE_ID, reqBO.getKnowledgeId().toString())
                    .build())
            .build());
    // 2. 可选 Rerank 重排并按阈值过滤
    // ...
    return documents;
}

对话侧再通过 recallKnowledgeSegment 按角色 knowledgeIds 聚合召回,把片段包成 <Reference> 注入 Prompt。

8.3 MCP:按角色挂载 SyncMcpToolCallbackProvider

构建 Prompt 前,把本地 Tool 与 MCP 工具统一收集为 ToolCallback

java
private List<ToolCallback> getToolCallbackListByRoleId(Long roleId) {
    AiChatRoleDO chatRole = chatRoleService.getChatRole(roleId);
    List<ToolCallback> toolCallbacks = new ArrayList<>();
    // 1. 本地 toolIds → ToolCallbackResolver
    // 2. mcpClientNames → SyncMcpToolCallbackProvider
    if (CollUtil.isNotEmpty(mcpClients) && CollUtil.isNotEmpty(chatRole.getMcpClientNames())) {
        chatRole.getMcpClientNames().forEach(mcpClientName -> {
            String finalMcpClientName = mcpClientCommonProperties.getName() + " - " + mcpClientName;
            mcpClients.forEach(mcpClient -> {
                if (ObjUtil.notEqual(mcpClient.getClientInfo().name(), finalMcpClientName)) {
                    return;
                }
                ToolCallback[] mcpToolCallBacks =
                        new SyncMcpToolCallbackProvider(mcpClient).getToolCallbacks();
                CollUtil.addAll(toolCallbacks, mcpToolCallBacks);
            });
        });
    }
    return toolCallbacks;
}

配置提醒:模块内 MCP Server/Client 默认 enabled: false,上线前再按环境显式打开。

8.4 补充:FormCreate AI 生表的系统约束

/ai/form-create 用强约束 System Prompt,要求模型只产出设计器可解析的规则 JSON,避免「聊天废话」污染表单:

java
private static final String SYSTEM_MESSAGE = """
        你是 FormCreate Pro 表单设计器助手。你需要根据用户需求修改或生成表单规则。
        当前使用的 UI 框架是 ant-design-vue。请只输出一个 fcRuleDiff 代码块,不要输出其它解释。
        代码块内容必须是完整的新表单 JSON,格式为 {"rule":[...]}。
        rule 必须是 form-create 可直接解析的组件规则数组,字段名使用英文小驼峰,中文标题放在 title。
        """;

九、前端模块地图(views/ai)

PC 管理端把 AI 能力按场景拆页,便于权限菜单与运营配置一一对应:

目录场景典型能力
views/ai/chat多模型对话会话、流式回复、角色切换
views/ai/knowledge知识库 RAG库/文档/分段/检索试跑
views/ai/write写作助手扩写润色、生成记录
views/ai/workflowAI 工作流Tinyflow 可视化与测试
views/ai/image绘图多平台文生图
views/ai/music音乐歌词/描述模式生成
views/ai/mindmap思维导图文本 → 脑图结构
views/ai/model中台配置模型、Key、角色、工具

技术栈侧:后端 Spring Boot 3.5 + Spring AI;前端 Vue3 + Vben Admin(Ant Design Vue)。AI 与 OA/BPM 同登录态、同权限体系,这是外挂 Chat 难以替代的一点。


十、技术亮点总结

设计要点实现方式价值
多平台统一AiPlatformEnum + AiModelFactoryImpl换模型不改业务代码
RAG 可运营知识库参数 + searchDocument / recallKnowledgeSegment答案可溯源
Agent 工具链角色 toolIds + mcpClientNames + SyncMcpToolCallbackProvider大模型能调企业能力
MCP 默认关闭spring.ai.mcp.*.enabled: false降低误暴露风险
AI 工作流Tinyflow + LLM 节点绑定可视化编排轻量 Agent
AI 生表/ai/form-create 强约束 JSON加速低代码建模
多模态分治image/music/mindmap 分模块能力清晰、权限可拆
写作边界清晰通用助手,不硬绑公文避免能力夸大

十一、快速体验

  1. 打开在线演示:https://ruoyioffice.com/web/(账号 admin / admin123)。
  2. 菜单进入 AI 大模型 → 先配 API Key 与对话模型(model)。
  3. 建一个对话角色,绑定模型;可选绑定知识库 ID。
  4. 上传 1~2 份制度 PDF/Markdown,切片后在「检索试跑」验证召回。
  5. 打开对话,问制度相关问题,对照命中分段是否靠谱。
  6. 体验写作助手出一篇周报草稿(注意:这是通用写作,不是公文发文)。
  7. 有条件时开启 MCP Client,给角色挂 mcpClientNames,试一次只读查询类工具。
  8. 打开工作流或表单设计器 AI,感受「编排 / 生表」与纯聊天的差别。
仓库地址
GitHubhttps://github.com/yuqing2026/ruoyi-office
GitCodehttps://gitcode.com/zhouzhongyan/ruoyi-office
Giteehttps://gitee.com/yqzy1688/ruoyi-office

本地可按文档启动单体后端(默认端口 48080)与 pnpm dev:antd 前端,重点验证 admin-api/ai/** 接口。


常见问题(FAQ)

企业 AI 该先上对话,还是先上知识库 RAG?

多数团队应 对话中台与 RAG 一起上:没有统一对话入口,知识库难触达用户;没有 RAG,对话只是通用闲聊。建议第一期就做「1 个角色 + 1 个知识库 + 流式对话」。

MCP 默认关闭,生产环境怎么开?

在对应环境配置中把 spring.ai.mcp.client.enabled(及确需对外暴露时的 server)改为 true,配好 SSE 连接,再在对话角色里填写 mcpClientNames。建议先接只读工具,写操作单独鉴权与审计。

RuoYi Office 的 AI 写作能直接做公文发文吗?

不能等同。 写作助手是通用生成能力(views/ai/write),与公文发文/套红/版式无硬耦合。公文流程仍应走公文模块;写作可用于起草正文的扩展方向,需自行叠加语体提示与模板约束。

和外挂 ChatGPT、钉钉智能助手比,内嵌中台的最大优势是什么?

同系统权限与租户、可私有化部署、可挂企业知识库与 MCP 工具、可与低代码表单/流程编排协同。外挂适合个人效率;组织级生产落地更适合内嵌中台。

Spring AI 多模型切换需要发版吗?

按本方案:不需要为换模型发版。在后台维护 ai_api_key / ai_model,工厂按平台动态构建即可。新增从未支持过的厂商时,才需要扩展枚举与工厂分支。


结语

2026 企业 AI 的分水岭,不在「会不会调大模型」,而在 能否把对话、RAG、工具、工作流、生表、多模态收成可运营的中台,并与现有企业系统同域协同。外挂助手解决「能不能聊」;一体化内嵌中台解决「能不能在权限边界内办事」。

如果你的团队正从 Demo 走向生产,建议按本文 6 类场景做差距清单:先打通多模型与 RAG,再按需开 MCP 与工作流,写作与多模态作为效率增强,公文等强合规业务用专用模块承接。欢迎在评论区聊聊:你们现在卡在「答不准」还是「调不了接口」?


💡 想要体验 RuoYi Office 的强大功能?

🌐 在线演示https://ruoyioffice.com/web/(账号 admin / admin123)

📦 源码仓库GitHub | GitCode | Gitee

💬 技术咨询:添加微信 17156169080,备注「RuoYi Office」

如果觉得不错,请给个 Star 支持一下!

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版