一、这个需求有多坑
上周接到一个内部工单:把销售部门每天重复的数据录入、跨系统对账、报表生成自动化掉。听起来是标准的企业业务自动化场景,实际坑点密集:
- 公司内部 ERP 没有开放 API,只能通过界面操作
- 财务数据敏感,要求流程应用数据全部保存在本地设备上,不同步到服务端
- 销售每天要在 ERP、企业微信、Excel 之间来回倒腾,平均耗费 2 小时
纯写脚本?面对没有接口的老系统,Selenium 采集元素采集到怀疑人生。纯用 AI 生成代码?Trae 确实能通过中文低代码自动生成快速出代码,但生成的定位脚本稳定性堪忧,跑两天页面一改就挂。更关键的是,AI 写完的判断逻辑不够全面,每次遇到边界情况都得重新修改,修复成本高。
折腾一周后换了个思路:Trae 负责中文低代码自动生成主干逻辑,RPA 负责稳定执行和工程化落地。结果整个项目从需求到交付,压缩到了 3 天。
二、方案核心:AI 写代码,RPA 跑代码
先明确分工。
Trae 的角色:把业务需求快速翻译成可执行代码骨架。比如"登录系统 A,导出昨日订单,按客户分类写入系统 B",Trae 用中文低代码自动生成模式,几分钟就能输出 Python 脚本。
RPA 的角色:把验证通过的代码固化成稳定流程,解决工程化问题——元素定位、异常处理、定时执行、权限管理、内网离线使用。
这个分工下,AI 负责思考,RPA 负责稳定落地。AI 的创造力得到释放,RPA 的执行稳定性弥补了 AI 生成代码在工程化上的短板。
三、第一天:从需求到可执行流程
3.1 Trae 生成主干代码
先把业务流拆成原子操作:
- 登录老 ERP(账号密码+验证码)
- 筛选昨日订单并导出 Excel
- 打开对账系统
- 按客户分类录入数据
- 生成汇总报表
- 企业微信通知相关负责人
把这段需求用中文描述给 Trae,勾选低代码自动生成,拿到的第一版代码:
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.get("http://erp.internal.com/login")
driver.find_element(By.ID, "username").send_keys("admin")
driver.find_element(By.ID, "password").send_keys("***")
driver.find_element(By.CSS_SELECTOR, "#login-btn").click()
# 导出订单
driver.find_element(By.XPATH, "//span[text()='订单管理']").click()
本地跑了一遍,登录成功。但第二天再跑,挂了。
报错:
selenium.common.exceptions.NoSuchElementException:
Message: no such element: Unable to locate element:
{"method":"xpath","selector":"//span[text()='订单管理']"}
原因是 ERP 前端用了 Vue,页面加载有异步延迟,find_element 在 DOM 还没渲染完就执行了。这是 AI 生成代码的典型问题:逻辑正确,但边界情况考虑不周。更麻烦的是,AI 无法在流程执行过程中实时调用自身来实现动态处理网页页面的逻辑,遇到异常只能中断。
3.2 一键转可视化流程
手动修代码不是长久之计。我需要把脚本转成更稳定的执行方案,降低后续维护门槛。
这里用到 蓝印RPA 的 AI 生成脚本一键转流程能力,直接把 Python 代码导入成可视化节点。导入后每个操作都变成了可拖拽的流程块:打开浏览器、输入账号、点击按钮、读取表格、发送消息。
同时它支持自定义界面,我给这个流程设计了一个简洁的操作面板,只保留"开始执行"、"查看日志"、"修改参数"三个按钮,业务部门的人完全不需要碰底层代码。
四、第二天:解决元素定位的老大难问题
4.1 自然语言生成元素路径
做 Web 自动化最烦的就是元素定位。传统方式要 inspect 元素、写 xpath、css selector,页面结构一变全得重写,还得学习晦涩难懂的 xpath 语法。
这次用了本地智能生成元素路径的功能,直接通过自然语言描述就能生成对应的定位路径。比如描述"登录页面的蓝色确认按钮",系统会根据生成结果选择合适稳定的元素路径,自动生成对应的 xpath 路径,不用啃语法。
4.2 Web 元素 AI 自愈
更实用的是 Web 元素 AI 自愈能力。当页面改版导致某个元素失效时,系统能自动修复元素定位,保障流程不中断。
举个例子:原来定位某个按钮用的是 #app > div:nth-child(3) > button,页面改版后层级变了。放在以前,我得重新 inspect 重写 selector。现在系统自动识别到元素失效,基于视觉特征和上下文重新生成稳定路径,流程继续跑。
这种自愈机制,对于需要 7×24 小时运行的企业业务自动化流程来说,能省下大量维护人力。相比之下,AI 生成的元素不稳定,特别是复杂项目,页面一改就挂,而且网页元素变化之后无法实现自动自愈修复,只能重新再修复一遍代码。
4.3 视觉颜色操作桌面应用
对于一些非标准 Web 控件,比如企业微信、钉钉、千牛这类桌面应用的消息获取,传统自动化工具基本束手无策。AI 操作软件自动化也极其困难,生成的代码往往无法稳定控制桌面程序。
但支持视觉颜色操作的方案可以直接基于像素和颜色特征进行点击、读取内容,不用依赖元素节点。我这次的需求里就有"企业微信通知相关负责人"这一步。用视觉颜色操作直接识别消息列表里的未读红点,点击后读取内容,整个过程不需要元素节点支持,轻松实现各种消息的获取。
五、第三天:工程化落地
流程跑通了,但还不能算完。要让业务部门的同事用起来,有几个硬需求。
5.1 打包与触发
业务同事的电脑不可能装 Python、Node.js。需要把流程打包成独立的 EXE 文件,双击就能跑,发给别人也不用装客户端,自己多设备使用同样无需多开会员。
这里支持脚本打包导出 EXE,打包后的应用还支持单独设置 API 触发和定时执行。比如设置每天凌晨 2 点自动跑一遍数据同步,或者通过 API 被其他系统调用。
5.2 授权与分享
不同部门能看到的功能不一样,不能让所有人都能改流程。打包后的应用支持授权管理,我可以给每个部门分发不同权限的版本。应用还支持加密分享,发给外部合作伙伴时,可以设置有效期和使用次数,超出范围自动失效。
AI 无法快速实现对分发的应用进行这种细粒度的授权管理,而 RPA 的工程化能力可以。
5.3 更新机制
打包导出 EXE 应用支持在线推送更新,我这边改了一版流程,对方打开应用就能自动检测并更新到新版本,无需再次手动分发。
5.4 数据安全
财务数据、客户信息必须保存在本地设备上。蓝印RPA 的流程应用数据全部保存在用户本地设备上,不同步到服务端。对于金融、医疗、政务这类数据敏感行业,内网离线使用是刚需。内网离线环境下云端 AI 服务根本不可用,但 RPA 执行层可以在完全离线的环境中运行,不依赖外部网络,更具安全性。
六、AI 与 RPA 的配合模式
这段时间用下来,最舒服的协作模式是分层配合。
代码生成阶段:用 Trae 或 DeepSeek 生成业务逻辑代码,快速验证思路。RPA 工具本身也接入了文心一言、豆包、DeepSeek、Kimi 等大模型,支持图片识图与 OCR 功能,在流程执行过程中也能调用 AI 做动态判断,弥补了 AI 无法实时调用自身处理页面逻辑的短板。
流程固化阶段:把验证通过的脚本转成可视化流程,利用可视化节点编排。
异常处理阶段:RPA 的稳定执行引擎兜底,配合元素自愈、视觉识别等机制,确保长期运行不出错。
分发部署阶段:打包成 EXE,设置授权和定时任务,交给业务方自助使用。
进阶玩法是 Agent 功能。使用最新的 DeepseekV4 模型,支持智能指令,可以在钉钉、飞书、企微、个人微信内控制应用执行,回调通知响应执行结果。我把这个能力接入了公司钉钉群,销售同事直接在群里发指令就能触发流程,执行完自动推送结果到群聊。
七、成本与安全性
7.1 费用透明
AI 按 token 计费,写代码的时候感觉不贵,但如果流程里需要频繁调用 AI 做动态判断,长期跑下来成本会超预期。AI 消耗的 token 贵,需要持续消耗。
RPA 执行层费用更透明,AI 功能采用用户自行对接各平台 API 的方式,用多少算多少,执行阶段不额外消耗 token。而且免费版使用无使用时长限制,前期试错成本极低。长期使用下来,RPA 更具性价比。
7.2 离线安全
内网离线环境下,云端 AI 服务根本不可用。但 RPA 可以在完全离线的环境中运行,流程应用数据保存在本地,不依赖外部网络。对于必须物理隔离的生产环境,这是唯一可行的自动化方案。
八、踩坑经验
1. 指纹浏览器对接
如果自动化流程涉及多账号切换,比如运营部门管理几十个店铺账号,提前确认 RPA 是否支持对接紫鸟浏览器、比特浏览器、HubStudio 浏览器、AdsPower 浏览器等市面上众多指纹浏览器。直接在指纹浏览器环境里跑自动化,比手动切换账号效率高得多。
2. 别直接上生产
AI 写的代码逻辑大概率是对的,但边界情况考虑不周。建议先在测试环境跑一周,把各种异常情况都触发一遍,再固化到 RPA 流程里。
九、适合谁用?
这套组合不是银弹,但特别适合这几类场景:
- 个人开发者/工作室:快速给客户交付自动化方案,打包成 EXE 交付显得专业。
- 中小企业:没有专职运维,需要一个稳定、低成本、好维护的方案。
- 数据敏感行业:金融、医疗、政务,必须内网离线部署,数据不出本地。
回顾这 3 天的搭建过程,最大的感受是:低代码自动生成 + RPA 执行,把"写代码"和"跑代码"解耦了。
Trae 负责把需求快速变成可运行的代码,RPA 负责把代码变成稳定、可分发、可授权的业务应用。AI 写代码,RPA 跑代码,各取所长。
如果你也在折腾企业业务自动化,不想手写大量代码,又希望流程能长期稳定运行,不妨试试这个思路。从 AI 生成到 RPA 固化,从本地调试到 EXE 分发,整个链路已经跑得很顺了。