最近和几个做企业级软件的朋友聊天,发现一个挺有意思的现象:大家嘴上都在谈“AI赋能”,但真到了项目里,却总感觉“雷声大,雨点小”。要么是采购了昂贵的AI服务,却只能做个简单的聊天机器人;要么是业务部门提了一堆“智能”需求,开发团队却不知道从何下手,最后项目不了了之。

这背后反映的,其实是企业AI落地的一个核心困境: 技术能力与业务场景的“最后一公里”脱节 。大模型能力很强,云服务也很完善,但如何把这些能力精准地“注入”到像用友ERP、CRM、供应链这样复杂的业务系统中,让AI真正理解“销售订单的自定义项”或者“LRP计划维护”的业务逻辑,才是真正的挑战。

最近,阿里云和用友的深度合作,正在尝试为这个问题提供一个系统性的解法。这不仅仅是两家巨头的商业联手,更代表了一种新的企业AI落地范式: 从“云+AI”的通用能力供给,转向“云+AI+核心业务系统”的深度融合 。对于广大依赖用友BIP、U8、U9、NCC等系统进行数字化转型的企业,以及在这些生态中进行开发的ISV和开发者来说,这意味着什么?我们又该如何抓住这波机会?

本文将从一个技术实践者的角度,为你拆解阿里云与用友合作背后的技术逻辑、落地路径,并提供一个基于真实场景的、可操作的AI Agent集成思路。你会发现,企业AI的突破口,可能就藏在那些“单据号重复”、“性能优化”和“API对接”的细节里。

1. 企业AI落地:为什么总是“叫好不叫座”?

在讨论具体方案前,我们必须先正视企业AI落地面临的几个典型“坑”:

第一坑:需求模糊,把“AI”当万能药。 业务方可能会说:“我们要一个AI,能智能分析销售数据,预测爆款。” 这听起来很美好,但落到技术层面,需要明确:数据从哪里来(用友U8数据库?数据仓库?)、分析什么指标(毛利率?周转率?)、预测模型输入输出是什么、结果如何反馈回业务系统(是生成报表,还是直接调整LRP计划)?需求不具体,项目必然搁浅。

第二坑:数据孤岛,AI“无米下炊”。 企业的核心业务数据大多锁在ERP、CRM等系统中。以用友系统为例,销售订单、物料主数据、BOM、库存信息分布在不同的模块和表中。直接让大模型去“理解”这些数据结构几乎不可能。你需要先打通数据链路,而这涉及复杂的权限、接口和实时性要求。

第三坑:集成复杂,成本高昂。 即使有了清晰的AI能力和数据,如何将其无缝嵌入现有工作流?比如,在U8的销售订单界面,增加一个“AI建议售价”按钮。这需要前端改造、后端接口开发、AI服务调用、结果渲染等一系列工作,相当于一个完整的二次开发项目,周期和成本让很多企业望而却步。

第四坑:效果难以衡量与持续迭代。 AI模型不是一次性部署就完事了。它需要持续的反馈数据来优化。但在企业系统中,如何收集用户对AI建议的采纳率?如何判断AI生成的计划是否合理?没有闭环的评估和迭代机制,AI应用很快就会变成“摆设”。

阿里云和用友的合作,本质上是试图从平台层面,系统性填平这些“坑”。阿里云提供强大的AI算力、丰富的模型服务(通义千问等)和稳定的云基础设施;用友则贡献了最深度的业务理解、标准化的数据模型和庞大的企业应用入口。两者的结合,目标是 为企业提供“开箱即用”的AI业务能力组件,以及低代码/零代码的集成方式 ,让开发者能聚焦于业务创新,而非底层整合。

2. 核心概念:什么是“云+AI+ERP”融合模式?

要理解这次合作,需要先厘清几个关键概念:

1. 企业AI能力分层 我们可以把企业AI需求分为五个层级,这有助于我们定位具体项目:

  • L1 感知交互层 :智能客服、语音录入、OCR识别发票。这是最表层的应用,技术相对成熟。
  • L2 数据分析与洞察层 :销售预测、库存预警、财务异常检测。需要结合业务数据与算法模型。
  • L3 流程自动化与增强层 :自动生成凭证、智能审批(如U9C对接钉钉)、LRP计划辅助。AI开始介入核心业务流程。
  • L4 智能决策建议层 :基于市场、供应链、内部数据,为产品定价、采购方案、生产排程提供多套建议方案。
  • L5 自主优化与演化层 :系统能根据业务反馈自动调整策略,实现闭环优化。这是远期目标。

阿里云与用友的合作,正在将L1到L3的能力,以标准化模块的形式,预置或快速集成到用友BIP、U8+、NCC等产品中。

2. AI Agent(智能体)在企业场景的具象化 “AI Agent”不是一个虚无的概念。在用友的语境下,它可以是一个:

  • “单据助手” :在填写销售订单时,根据历史数据和客户信息,自动填充折扣率、建议发货仓库。
  • “流程导航员” :当员工发起一个复杂采购申请时,AI引导他填写必要信息,并自动关联相关合同和历史报价。
  • “数据解读官” :面对一份财务报表,AI能高亮异常波动,并用自然语言解释可能的原因(如“本月销售费用激增,主要源于XX市场推广活动”)。

这些“Agent”的背后,是 大模型+业务知识库+企业API 的融合体。阿里云的模型提供理解和生成能力,用友的系统提供业务规则和数据,开发者则需要用代码将它们“粘合”起来。

3. 关键集成点 从网络热词中,我们可以看到开发者关心的具体集成点,这些都是融合的“前线”:

  • API与接口 用友U8+API 用友U8CO接口 用友NCC单点登录 。这是程序化交互的基础。
  • 数据与扩展 用友BIP高级版数据字典 用友ERP系统平台进行二次开发 。这是理解业务实体和自定义开发的关键。
  • 部署与运维 阿里云ECS部署YOLOv8 阿里云容器镜像服务 用友U8性能优化 。这决定了AI服务的稳定性与性能。

3. 环境准备:构建你的企业AI开发沙箱

在开始动手集成前,你需要一个贴近真实环境的开发沙箱。这里不建议直接在生产环境操作。

3.1 软件与环境准备

  • 用友环境
    • 选择与你目标版本一致的用友产品(如 U8+V16.5、BIP 3.0)。可以申请用友的开发者沙箱或搭建测试环境。
    • 重点获取: API文档 数据字典 二次开发平台工具
    • 准备一个测试账套,包含基本的客户、供应商、物料、仓库等主数据。
  • 阿里云环境
    • 注册阿里云账号,并实名认证。
    • 开通所需服务: 阿里云ECS (用于部署自有AI服务)、 阿里云容器镜像服务ACR (管理Docker镜像)、 模型服务灵积 (调用通义千问等模型)。
    • 如果使用阿里云托管模型,关注 阿里云SSL证书 (用于HTTPS通信)和 阿里云镜像仓库 (加速依赖拉取)。
  • 开发环境
    • IDE :推荐 IntelliJ IDEA (Java) 或 VS Code (Python/前端)。
    • 后端 :Java 11+ (Spring Boot) 或 Python 3.9+ (FastAPI/Flask)。
    • 依赖管理 :Maven (Java) 或 Pip (Python)。配置 Maven阿里云仓库 以加速构建。
    • 版本控制 :Git。

3.2 核心账号与权限配置 这是安全的第一步,也是最容易出错的一步。

  1. 阿里云RAM子账号 :创建一个专门用于开发的RAM用户,授予 AliyunECSFullAccess AliyunDockerRegistryFullAccess AliyunDashScopeFullAccess (灵积模型服务)等最小必要权限。 绝对不要使用主账号AK/SK。
  2. 用友系统账号 :在测试环境中,创建一个具有API调用权限、特定业务模块(如销售、采购)操作权限的账号。记录其用户名、密码以及可能的**令牌(Token)**获取方式。
  3. 网络打通 :确保你的开发机、用友测试服务器、阿里云VPC网络之间能够通信。如果是本地开发,可能需要通过 企业VPN (注:此处指合法的企业内部虚拟专用网络)或SSH隧道进行连接。

4. 实战:构建一个“销售订单AI辅助填写”Agent

我们以一个最经典的场景为例:销售人员在用友U8+中创建销售订单时,AI能根据客户历史购买记录和当前库存,自动推荐商品、填充单价和折扣。

4.1 架构设计 这个微服务架构将部署在阿里云ECS上,与用友U8+系统交互。

[用友U8+ Web界面] <--(前端嵌入/浏览器插件)--> [AI辅助服务 (Spring Boot)] <--(HTTP API)--> [用友U8+ API Server]
                                                              |
                                                              |-- (内部调用) --> [业务逻辑层]
                                                              |                    |
                                                              |-- (调用) --> [阿里云模型服务 (通义千问)]
                                                              |
                                                    [本地缓存/Redis] <--(查询)--> [用友数据库 (只读副本)]

核心思路 :AI辅助服务作为中间层,不直接操作用友数据库,而是通过官方API获取数据,调用大模型进行推理,再将结果通过前端组件展示给用户。

4.2 用友API对接与数据获取 首先,我们需要能从用友系统获取数据。这里以查询客户历史订单为例。

// 文件:src/main/java/com/aiassistant/u8/client/U8ApiClient.java
import org.springframework.http.*;
import org.springframework.web.client.RestTemplate;
import java.util.*;

@Component
public class U8ApiClient {
    @Value("${u8.api.base-url}")
    private String u8BaseUrl;
    @Value("${u8.api.token}")
    private String apiToken; // 通过U8认证获取的Token

    private RestTemplate restTemplate = new RestTemplate();

    /**
     * 查询指定客户近一年的订单明细
     * @param customerCode 客户编码
     * @return 订单明细列表
     */
    public List<SalesOrderDetail> getCustomerHistoricalOrders(String customerCode) {
        String url = u8BaseUrl + "/api/salesorder/history";
        
        HttpHeaders headers = new HttpHeaders();
        headers.set("Authorization", "Bearer " + apiToken);
        headers.setContentType(MediaType.APPLICATION_JSON);
        
        Map<String, Object> requestBody = new HashMap<>();
        requestBody.put("customer_code", customerCode);
        requestBody.put("start_date", LocalDate.now().minusYears(1).toString());
        requestBody.put("end_date", LocalDate.now().toString());
        
        HttpEntity<Map<String, Object>> request = new HttpEntity<>(requestBody, headers);
        
        try {
            ResponseEntity<U8ApiResponse> response = restTemplate.exchange(
                url, HttpMethod.POST, request, U8ApiResponse.class);
            
            if (response.getStatusCode() == HttpStatus.OK && response.getBody() != null) {
                return response.getBody().getData(); // 解析为SalesOrderDetail列表
            }
        } catch (Exception e) {
            // 记录日志,并考虑重试或降级策略
            log.error("调用U8 API失败,客户编码: {}", customerCode, e);
        }
        return Collections.emptyList();
    }

    // 其他方法:获取商品库存、物料信息等...
}

关键点

  1. API Token管理 :Token需要定期刷新,最好实现一个自动刷新的机制。
  2. 异常处理 :网络超时、API限流、数据格式异常都必须处理,避免影响主业务流程。
  3. 数据缓存 :对变化不频繁的基础数据(如物料信息)进行缓存,减少API调用压力。

4.3 集成阿里云大模型服务 接下来,我们让AI理解这些业务数据并给出建议。这里使用阿里云灵积平台的通义千问模型。

// 文件:src/main/java/com/aiassistant/service/impl/AiSuggestionServiceImpl.java
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import java.util.*;

@Service
public class AiSuggestionServiceImpl {

    @Value("${aliyun.dashscope.api-key}")
    private String apiKey;

    public String generateSalesSuggestion(String customerName, 
                                          List<SalesOrderDetail> history,
                                          List<InventoryInfo> inventoryList) {
        // 1. 构建提示词(Prompt),这是决定AI效果的核心!
        String prompt = buildSalesPrompt(customerName, history, inventoryList);
        
        // 2. 调用模型
        Generation gen = new Generation();
        Message systemMsg = Message.builder()
                .role(Role.SYSTEM.getValue())
                .content("你是一个资深的企业ERP销售顾问,精通用友U8系统。请根据提供的客户历史和库存数据,给出专业、精准的销售订单填写建议。")
                .build();
        Message userMsg = Message.builder()
                .role(Role.USER.getValue())
                .content(prompt)
                .build();

        GenerationParam param = GenerationParam.builder()
                .apiKey(apiKey)
                .model("qwen-max") // 使用通义千问Max模型
                .messages(Arrays.asList(systemMsg, userMsg))
                .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                .build();

        try {
            GenerationResult result = gen.call(param);
            return result.getOutput().getChoices().get(0).getMessage().getContent();
        } catch (Exception e) {
            log.error("调用大模型失败", e);
            return "AI建议生成失败,请手动填写。";
        }
    }

    private String buildSalesPrompt(String customerName, 
                                    List<SalesOrderDetail> history,
                                    List<InventoryInfo> inventory) {
        // 将业务数据组织成模型容易理解的文本
        StringBuilder historySummary = new StringBuilder();
        history.forEach(detail -> 
            historySummary.append(String.format("商品:%s, 年均采购量:%.2f, 平均单价:%.2f\n", 
                detail.getProductName(), detail.getYearlyAvgQty(), detail.getAvgPrice()))
        );

        StringBuilder inventorySummary = new StringBuilder();
        inventory.forEach(info -> 
            inventorySummary.append(String.format("商品:%s, 当前库存:%d, 安全库存:%d\n",
                info.getProductName(), info.getCurrentStock(), info.getSafeStock()))
        );

        return String.format(
            "客户【%s】的历史采购摘要:\n%s\n\n当前相关商品库存情况:\n%s\n\n请分析:\n" +
            "1. 该客户有哪些常购商品?建议本次优先推荐哪些?\n" +
            "2. 结合库存(特别是低于安全库存的商品),建议本次的销售数量范围。\n" +
            "3. 根据历史均价和市场情况,给出一个合理的单价建议区间。\n" +
            "4. 是否有捆绑销售或促销品推荐?\n" +
            "请以清晰、简洁的要点形式回复。",
            customerName, historySummary, inventorySummary
        );
    }
}

Prompt工程是关键 :你必须用模型能理解的“语言”描述业务问题。将数据库字段(如 cInvCode , iQuantity )转换成自然语言描述(如“商品编码XXX,数量YYY”),并明确指令格式。

4.4 前端集成与用户体验 AI的建议需要无缝展示给用户。一种非侵入式的方式是开发一个浏览器插件或利用用友U8+的开放前端扩展点。

// 示例:一个简单的Chrome插件内容脚本,在U8销售订单页面注入AI助手按钮
// 文件:content-script.js
(function() {
    'use strict';
    // 监听页面加载完成
    setTimeout(function() {
        // 1. 定位销售订单的表单区域(需要根据U8实际DOM结构调整选择器)
        const orderForm = document.querySelector('#saleOrderForm');
        if (!orderForm) return;
        
        // 2. 创建AI助手按钮
        const aiButton = document.createElement('button');
        aiButton.id = 'u8-ai-assistant-btn';
        aiButton.innerHTML = '🤖 AI智能建议';
        aiButton.style.cssText = 'margin-left: 10px; padding: 5px 15px; background: #1890ff; color: white; border: none; border-radius: 4px; cursor: pointer;';
        
        // 3. 将按钮插入到客户编码输入框附近
        const customerCodeInput = orderForm.querySelector('input[name="cCusCode"]');
        if (customerCodeInput && customerCodeInput.parentNode) {
            customerCodeInput.parentNode.appendChild(aiButton);
        }
        
        // 4. 绑定点击事件
        aiButton.addEventListener('click', function() {
            const customerCode = customerCodeInput.value;
            if (!customerCode) {
                alert('请先输入客户编码');
                return;
            }
            
            // 显示加载状态
            aiButton.innerHTML = '思考中...';
            aiButton.disabled = true;
            
            // 调用后端AI服务
            fetch('http://your-ai-service-host/api/suggest/order', {
                method: 'POST',
                headers: { 'Content-Type': 'application/json' },
                body: JSON.stringify({ customerCode: customerCode })
            })
            .then(response => response.json())
            .then(data => {
                // 5. 以友好方式展示AI建议(例如,侧边栏弹窗)
                showSuggestionPanel(data.suggestion);
            })
            .catch(error => {
                console.error('获取AI建议失败:', error);
                alert('获取建议失败,请稍后重试。');
            })
            .finally(() => {
                aiButton.innerHTML = '🤖 AI智能建议';
                aiButton.disabled = false;
            });
        });
        
        function showSuggestionPanel(text) {
            // 实现一个展示建议的浮动面板
            // ... 省略具体DOM操作代码
            console.log('AI建议:', text);
        }
        
    }, 2000); // 等待页面完全加载
})();

5. 部署与运行:将AI服务搬上阿里云

开发完成后,我们需要将AI辅助服务部署到阿里云ECS,确保高可用和可扩展。

5.1 应用打包与容器化 使用Docker容器化是推荐的方式。

# Dockerfile
FROM openjdk:11-jre-slim
WORKDIR /app
# 复制Maven构建好的Jar包
COPY target/u8-ai-assistant-1.0.0.jar app.jar
# 设置时区
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 暴露端口
EXPOSE 8080
# 启动命令
ENTRYPOINT ["java", "-jar", "app.jar", "--spring.profiles.active=prod"]

5.2 推送镜像至阿里云容器镜像服务(ACR)

# 1. 登录ACR(以华东1上海为例)
docker login --username=your_username registry.cn-shanghai.aliyuncs.com

# 2. 构建镜像并打标签
docker build -t u8-ai-assistant:1.0.0 .
docker tag u8-ai-assistant:1.0.0 registry.cn-shanghai.aliyuncs.com/your-namespace/u8-ai-assistant:1.0.0

# 3. 推送镜像
docker push registry.cn-shanghai.aliyuncs.com/your-namespace/u8-ai-assistant:1.0.0

5.3 在阿里云ECS上部署

  1. 创建ECS实例 :选择适合的CPU/内存配置(如2核4G),镜像选择Alibaba Cloud Linux 3或CentOS 7+,安全组开放8080端口。
  2. 安装Docker :通过阿里云镜像站快速安装。
    # 对于Alibaba Cloud Linux 3
    sudo yum install -y docker
    sudo systemctl start docker
    sudo systemctl enable docker
    
  3. 从ACR拉取并运行容器
    # 配置ACR凭证(可选,使用RAM子账号的临时密码更安全)
    sudo docker login --username=your_ram_username registry.cn-shanghai.aliyuncs.com
    
    # 拉取镜像
    sudo docker pull registry.cn-shanghai.aliyuncs.com/your-namespace/u8-ai-assistant:1.0.0
    
    # 运行容器(注意将环境变量和配置文件挂载出来)
    sudo docker run -d -p 8080:8080 \
      --name u8-ai-assistant \
      -e SPRING_PROFILES_ACTIVE=prod \
      -v /path/to/your/config:/app/config \
      registry.cn-shanghai.aliyuncs.com/your-namespace/u8-ai-assistant:1.0.0
    
  4. 配置反向代理与SSL(可选但推荐) :使用Nginx将域名代理到8080端口,并配置从阿里云获取的免费SSL证书,实现HTTPS访问。

6. 效果验证与业务闭环

部署完成后,如何验证AI Agent是否真正创造了价值?

6.1 功能验证清单

  • [ ] API连通性 :AI服务能成功调用用友U8 API并获取数据。
  • [ ] 模型调用 :能成功调用通义千问模型并返回非空内容。
  • [ ] 建议相关性 :针对测试客户,AI给出的商品推荐、价格区间是否在合理范围内?
  • [ ] 前端集成 :在U8页面点击按钮,能否正常弹出建议面板?
  • [ ] 性能 :从点击按钮到收到建议,整体延迟是否在3秒以内?(可接受范围)

6.2 业务价值验证(A/B测试思路) 要证明AI的有效性,光有功能不够,还需要数据。

  1. 选取试点用户 :选择一部分销售人员作为实验组,启用AI助手;另一部分作为对照组,不使用。
  2. 定义核心指标
    • 订单填写平均时长 :实验组 vs 对照组。
    • 数据错误率 :如单价输错、商品选错的次数。
    • 客户满意度 :通过后续调研或复购率间接衡量。
    • AI建议采纳率 :有多少条建议被用户实际采用。
  3. 收集反馈,迭代Prompt :定期与试点用户沟通,了解哪些建议有用,哪些是“废话”。根据反馈持续优化Prompt和数据处理逻辑。

7. 常见问题与排查思路

在实际集成中,你一定会遇到各种问题。下表汇总了典型问题及解决方法:

问题现象 可能原因 排查方式 解决方案
调用用友API返回“认证失败”或“令牌无效” 1. API Token过期。
2. Token权限不足。
3. 请求IP不在白名单。
1. 检查Token获取时间,是否超过有效期。
2. 使用该Token调用一个简单接口(如获取基础资料)测试。
3. 检查用友API网关的IP白名单配置。
1. 实现Token自动刷新机制。
2. 申请具备足够操作权限的API账号。
3. 将部署AI服务的服务器公网IP加入白名单。
大模型返回内容不相关或格式错误 1. Prompt设计不佳,未提供足够上下文或指令不清。
2. 输入数据格式混乱,模型无法理解。
3. 模型本身存在知识盲区。
1. 打印出实际发送给模型的完整Prompt,检查其可读性。
2. 尝试在Prompt中给出更明确的输出格式示例(如“请按以下JSON格式回复”)。
3. 换用更强大的模型(如从qwen-plus升级到qwen-max)。
1. 迭代优化Prompt :遵循“角色-背景-任务-输出格式”的结构化设计。
2. 对输入的业务数据进行清洗和标准化描述。
3. 考虑采用RAG(检索增强生成)技术,为模型注入更具体的产品手册和业务规则。
AI服务响应缓慢 1. 网络延迟高(尤其是跨境调用模型)。
2. 用友API查询数据慢。
3. 模型生成本身耗时。
4. 服务资源(CPU/内存)不足。
1. 使用 ping traceroute 检查网络。
2. 在代码中为用友API调用和模型调用分别添加耗时日志。
3. 监控ECS服务器的CPU、内存使用率。
1. 确保AI服务和模型服务在同一地域(如都在华东2)。
2. 对用友API的查询结果进行 缓存 (如使用Redis缓存客户历史数据)。
3. 对于非实时需求,考虑 异步处理 ,先快速返回“已接收请求”,再通过通知告知结果。
4. 升级ECS配置或增加实例数。
前端按钮无法注入或点击无反应 1. U8页面DOM结构变化,选择器失效。
2. 浏览器插件与U8页面JS冲突。
3. AI服务地址被浏览器CORS策略阻止。
1. 打开浏览器开发者工具,检查元素选择器是否能定位到目标。
2. 检查控制台(Console)是否有JS错误。
3. 检查网络(Network)标签,查看对AI服务的请求是否发出,以及响应状态码。
1. 使用更稳健的DOM选择策略(如通过父元素ID和相对位置定位)。
2. 确保插件脚本在所有资源加载完成后执行。
3. 在AI服务后端配置CORS,允许U8所在域名的请求。
生产环境数据不一致 1. 测试环境与生产环境数据模型、API版本有差异。
2. 生产环境数据量巨大,导致查询超时或内存溢出。
1. 对比两个环境的API文档和数据字典。
2. 在预发布环境进行全量数据压测。
1. 环境隔离 :建立与生产环境高度一致的预发布环境。
2. 代码与配置分离 :使用不同的Spring Profile管理环境配置。
3. 优化查询 :为API调用增加分页、超时和重试机制。对大数据量查询,与用友团队协商优化或使用数据仓库。

8. 最佳实践与进阶思考

当你跑通第一个AI Agent后,可以朝着更成熟、更安全、更智能的方向演进。

8.1 工程化最佳实践

  • 配置中心 :将用友API地址、Token、模型API Key等敏感信息存入阿里云ACM或自建Nacos,实现动态管理。
  • 监控与告警 :集成阿里云ARMS或Prometheus+Grafana,监控AI服务的QPS、响应时间、错误率。对用友API调用失败、模型调用异常设置告警。
  • 日志标准化 :使用SLF4J+Logback,结构化记录每一次AI建议的生成过程(输入、输出、耗时、用户ID),便于后续分析和模型优化。
  • 版本管理与回滚 :AI服务的Docker镜像、前端插件脚本都应进行版本管理。确保出现问题能快速回滚到上一个稳定版本。

8.2 安全与合规

  • 最小权限原则 :用于API调用的用友账号、阿里云RAM子账号,只授予其完成特定任务所必需的最小权限。
  • 数据脱敏 :传递给大模型的业务数据,应考虑对敏感信息(如客户全名、具体金额)进行脱敏处理,或在Prompt中明确要求模型不输出原始敏感数据。
  • 审计跟踪 :记录所有AI建议的生成和采纳日志,满足企业内部审计和合规要求。
  • 人工审核开关 :对于关键业务(如大额折扣审批、特殊价格),设置AI建议必须经过人工确认的开关。

8.3 进阶方向:从“助手”到“副驾驶” 当前的AI Agent更多是“被动响应”。下一步可以探索:

  • 主动预警 :监控库存、应收款等数据,主动推送预警和建议(“客户A的应收账款已超期,建议联系催收并暂停新订单信用额度”)。
  • 流程编排 :将多个AI能力串联,完成复杂任务。例如,收到一封供应商邮件后,自动提取关键信息(OCR+NLP)→ 在用友中创建采购申请单 → 发起审批流程。
  • 个性化与学习 :基于不同销售人员的习惯和历史采纳记录,个性化调整AI建议的风格和内容。
  • 与RPA结合 :对于AI给出的结构化建议(如“创建一张XX客户的销售订单,包含商品A 100件”),可以通过RPA机器人自动在执行系统中操作,实现“思考-决策-执行”的闭环。

阿里云与用友的合作,正在为企业开发者铺设一条通往“业务智能化”的快速路。这条路的核心不是炫技,而是 解决具体、细微、高频的业务痛点 。从自动填充一个字段,到辅助完成一个流程,每一个微小成功的积累,最终将重塑企业软件的使用体验和运营效率。对于开发者而言,现在正是深入理解业务、掌握AI集成技能、构建自己“护城河”的最佳时机。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐