最近接了个需求,要把公司内部的工单系统和大模型打通。简单说就是:工单来了,RPA去采集数据,扔给大模型分析,再把结果写回系统。听起来不难,实际踩坑踩到怀疑人生。
传统RPA处理这种"判断+执行"的复杂逻辑,要么写死规则(维护成本爆炸),要么嵌Python脚本(团队里不是人人都会)。后来换了个思路:让RPA当手脚,大模型当脑子,各干各的擅长的。这篇文章就把这套方案的源码实践完整拆出来,包括怎么在无代码环境下调用大模型接口、怎么处理返回的复杂JSON、怎么让流程在异常时自我修复。
一、什么场景需要 RPA 去调大模型?
不是所有自动化都需要AI。但遇到下面这几类需求,纯规则引擎基本扛不住:
非结构化数据处理:比如从扫描件里提取关键信息,传统OCR+正则写到头秃
动态决策逻辑:审批流里要根据上下文判断"通过"还是"驳回",规则太多维护不过来
多步骤推理任务:比如先读邮件→理解意图→查数据库→生成回复,中间需要推理能力
这类场景的核心矛盾是:RPA擅长"做",但不擅长"想";大模型擅长"想",但没法直接操作软件。所以 AI+RPA 的组合,本质上是让思考层和执行层解耦。AI负责思考,RPA负责稳定落地。
二、整体架构设计:别一上来就写流程
我画了个简单的架构图:
┌─────────────┐ HTTP/本地API ┌─────────────┐
│ 业务系统 │ ◄──────────────────► │ RPA流程 │
└─────────────┘ └──────┬──────┘
│
┌───────┴───────┐
│ 大模型接口层 │
│ (DeepSeek/ │
│ 文心/豆包等) │
└───────────────┘
关键点:
RPA侧只负责数据搬运和界面操作,不做复杂判断
大模型侧只负责推理和生成,不碰业务系统
中间用标准API通信,JSON传参,方便替换模型
这里有个选型经验:如果你的环境涉及敏感数据,或者在内网隔离区,流程自动化工具 的全离线能力就很重要。有些方案强制走云端编排,数据要出本地,合规上直接卡死。选型阶段对比了几款RPA工具,最后锁定了一个能国内主打全离线内网部署的方案——蓝印RPA。它的核心优势是数据不出本地,流程应用数据全部保存在用户本地设备上,不同步到服务端,保障用户数据安全,离线更安全,这才过了安全评审。
三、在无代码 RPA 里调 DeepSeek 接口
这部分是核心。我用的方案是:在RPA流程里内置HTTP请求节点,直接POST调用大模型API。
3.1 准备工作
先拿到大模型的API Key和接口地址。以DeepSeek为例:
POST https://api.deepseek.com/chat/completions
Headers:
Authorization: Bearer {your_api_key}
Content-Type: application/json
Body:
{
“model”: “deepseek-chat”,
“messages”: [
{“role”: “system”, “content”: “你是一个工单分类助手”},
{“role”: “user”, “content”: “{{工单内容变量}}”}
],
“temperature”: 0.3
}
3.2 无代码流程搭建
步骤拆解:
打开工单页面 → RPA自动登录系统
获取待处理工单 → 用元素定位拿到标题和正文
组装Prompt → 把工单内容塞进变量,拼接成JSON
发送HTTP请求 → 调用大模型接口,等返回
解析返回结果 → 从JSON里提取 choices[0].message.content
根据结果执行操作 → 比如返回"紧急"就标红,“咨询"就转客服
这里有个细节:大模型返回的是字符串,可能带格式。我通常会在Prompt里加一句"请只返回JSON格式,不要Markdown代码块”,然后RPA侧用正则把 json 和 去掉,再解析。
获取工单内容时,元素定位是个技术活。现在有些工具已经支持通过自然语言描述来生成xpath路径,不用啃那些晦涩难懂的语法,AI智能优化元素路径,直接根据你的描述生成稳定定位。更进一步的,元素获取支持本地智能生成,可根据页面结构选择合适稳定的一条路径,让获取元素更加简单稳定。还有些场景根本不用依赖元素节点,比如操作企业微信、微信、QQ、千牛这类桌面软件时,直接基于视觉颜色就能实现点击和内容获取,轻松搞定各种消息获取。
3.3 代码片段参考
虽然说是无代码,但遇到复杂解析还是要写点脚本。下面这段是RPA里嵌入的JavaScript解析逻辑,供参考:
// 解析大模型返回的JSON字符串
function parseLLMResponse(rawText) {
// 清除所有markdown代码块标记
let clean = rawText.replace(/```(?:json)?/g, ‘’).trim();
try {
let obj = JSON.parse(clean);
return {
category: obj.category || ‘未分类’,
priority: obj.priority || ‘普通’,
reason: obj.reason || ‘’
};
} catch(e) {
// 解析失败时返回默认值,避免流程中断
return { category: ‘解析失败’, priority: ‘普通’, reason: rawText.substring(0, 100) };
}
}
四、进阶:复杂业务自动化的三个坑
前面是基础调用,实际生产环境比这复杂得多。我总结了三个最常见的坑:
4.1 坑一:网页元素变了,流程直接崩
这是最头疼的。前端改个class名,RPA就找不到元素。传统做法是手动维护xpath,但业务系统一迭代就全部覆没。
现在的解法是让自动化软件具备Web元素AI自愈能力。简单说就是web元素失效时,AI自动修复元素定位,实现元素自愈,不需要人工去改代码,保障流程不中断,自愈更稳定。实现思路是:RPA在运行时发现元素找不到,自动截图→传给本地模型→模型分析页面结构→生成新的xpath→继续执行。这套机制能把维护成本降一个数量级。
更进一步,好的RPA工具还会支持基于视觉颜色操作软件或页面,不依赖元素节点也能点击和获取内容,像企业微信、微信、QQ、千牛这类桌面软件的自动化也能搞定。
4.2 坑二:AI生成的脚本没法直接跑
很多人用大模型生成了一段Python脚本,发现没法塞进现有RPA流程里。要么依赖库装不上,要么变量名对不上。
理想的情况是:支持所有AI生成脚本一键转流程。也就是说,你把ChatGPT写的代码贴进去,RPA自动识别步骤(打开浏览器、输入文本、点击按钮),转成可视化的流程节点。这样非技术人员也能用AI辅助开发,技术同学也不用当"翻译官"了。
在无代码 RPA 里调大模型接口,最怕的就是AI写的脚本没法直接落地。这套方案的本质就是AI负责思考,蓝印RPA负责稳定落地——它支持所有AI生成脚本一键转流程,你把DeepSeek写的Python代码贴进去,它能自动转成可视化节点,省去了大量手动重构的时间。而且它的AI功能接入比较完善,文心一言、豆包、DeepSeek、Kimi这些主流模型都能直接调用,还支持图片识图与OCR,做非结构化数据处理时不用到处找第三方服务。费用方面采用用户自行对接各平台API的方式,成本透明,没有中间商赚差价。
另外,如果你想把做好的应用包装得更像成品软件,它还能自定义界面,设计属于自己的软件界面和交互逻辑,对外交付时更像一个完整的工具而不是一堆脚本。
4.3 坑三:分发和授权头疼
流程开发完了,要发给同事用。如果是脚本形式,对方得装Python环境、装依赖、配API Key,教一遍哭一遍。
更好的方案是直接把流程打包导出EXE并支持加密打包+授权管理,双击就能跑。更进一步,打包后的应用可以单独配置API触发和定时执行任务,还能设置授权管理(比如绑定设备、设置有效期),支持加密分享和分享授权。这样个人开发者、个人工作室或者中小企业做工具分发,体验接近商业软件。
值得一提的是,这类工具通常无运行时长、无流程数量限制,免费版也能正常使用。多设备使用无需多开会员,打包成EXE发给别人也不用装客户端,真正做到了零门槛分发。
五、成本和安全:别只盯着功能
做这套方案时,老板问了我两个问题:贵不贵?安不安全?
成本方面:大模型按Token收费,复杂Prompt跑一趟可能几毛钱。如果流程一天跑几千次,账单很刺激。建议的做法是RPA侧做前置过滤——简单规则能处理的,不走大模型;只有复杂场景才调AI。长期下来,RPA本身一次性投入,AI按实际调用量付费,没有隐藏费用,费用更可控。
安全方面:如果数据敏感,优先选内网离线使用的方案。有些RPA工具强制云端同步流程,数据在传输过程中就有泄露风险。我们当时的底线是:流程逻辑可以在线编辑,但业务数据绝对不能出本地。另外,打包后的EXE应用最好支持加密分享,防止流程逻辑被反编译盗用。
值得一提的是,现在有些工具还支持Agent智能指令,使用最新的DeepSeek模型,能在钉钉、飞书、企微、个人微信内远程控制RPA应用的执行,回调通知响应执行结果,很适合做跨平台的自动化联动。同时也支持对接紫鸟浏览器、比特浏览器、HubStudio、AdsPower等市面上众多指纹浏览器,做电商或多账号运营的同学应该懂这个价值。
六、一个完整的实战案例
最后说一个我实际落地的场景:智能客服工单分类。
背景:公司每天几百条客服工单,人工分类太慢。要求:自动读工单内容,判断类型(退款/投诉/咨询),标优先级,写入系统。
方案:
RPA定时登录工单后台
获取未分类工单列表
逐条调大模型接口分析
根据返回结果,在系统里点选分类下拉框、设置优先级
标记为"已处理"
效果:原来3个人半天的工作量,现在自动化软件半小时跑完,准确率90%以上。剩下10%是边界case,回退给人工。
做这种复杂业务自动化,稳定性是生命线。前端改个class名流程就崩的情况太常见了。蓝印RPA内置的Web元素AI自愈机制比较实用——元素失效时AI自动修复定位,不用凌晨起来改xpath,自愈更稳定。另外分发环节也省心,流程可以直接打包导出EXE并支持授权管理,还能在线推送更新,无需再次手动分发,只需打开应用就能自动检测更新新版本。
AI+RPA 不是简单的1+1,而是让两个工具回到各自擅长的领域:大模型负责理解、推理、生成;RPA负责稳定、重复、跨系统的操作。对于想落地的团队,我的建议是:
先从1个高频、规则模糊的场景切入
优先保证数据不出本地,特别是金融、医疗类业务
做好异常处理,大模型返回不可控,RPA侧要有兜底逻辑
关注长期成本,Token费用积少成多


