当AI大模型遇上流程自动化,会产生怎样的化学反应?本文将带你从零开始,实现文心一言、Kimi、DeepSeek等大模型与RPA工具的深度集成,让AI真正"动手"干活。
一、为什么AI大模型需要RPA?不只是聊天那么简单
过去两年,AI大模型在文本生成、代码编写、图像识别等领域展现了惊人的能力。但一个现实问题是:大模型能"说",却很难"做"。
想象一下这些场景:
让AI自动登录后台系统,抓取销售数据并生成日报
让AI识别发票图片,自动录入财务系统并触发审批流程
让AI监控竞品价格,发现变动后自动通知钉钉群
这些流程自动化任务,单靠大模型的API调用无法独立完成。大模型擅长理解意图、生成策略,但缺乏与真实业务系统交互的能力。这时候,RPA工具就成了最佳搭档。
RPA工具负责"动手"——模拟人类操作浏览器、点击按钮、填写表单、获取数据;大模型负责"动脑"——理解复杂指令、做出智能决策、处理非结构化数据。两者结合,才能真正实现AI自动生成流程的愿景。
二、融合架构设计:大模型+RPA的三种接入模式
在实际项目中,我总结了三种主流的融合开发模式,分别适用于不同的业务场景。
模式一:API触发模式(推荐)
这是最优雅的集成方式。大模型通过HTTP API向RPA工具引擎发送指令,RPA工具接收后执行对应的自动化流程。

伪代码示例:大模型调用RPA API触发流程
import requests

def trigger_rpa_workflow(task_description):
# 大模型先理解用户意图,生成结构化任务
task = llm.parse_task(task_description)

# 通过API触发RPA执行
response = requests.post(
    "http://localhost:8080/api/trigger",
    json={
        "workflow_id": task.workflow_id,
        "parameters": task.params,
        "callback_url": "http://my-server/result"
    }
)
return response.json()

适用场景:需要异步执行、结果回调、多系统联动的复杂业务流程。
这种API触发能力是很多开发者在选型时重点关注的。毕竟,谁不希望自己的自动化流程能被外部系统灵活调用呢?一些成熟的自动化软件在这方面做得相当到位。以蓝印RPA为例,它不仅支持通过API远程触发流程执行,还能在钉钉、飞书、企微等IM工具内直接控制应用运行,执行完成后自动推送结果通知。对于需要构建智能化工作流的团队来说,这种开放的触发机制能大幅降低集成成本。
模式二:脚本内嵌模式
将大模型的调用逻辑直接嵌入RPA工具流程脚本中,实现"流程执行到某一步时,自动调用AI能力"。
RPA流程脚本中嵌入大模型调用
def process_invoice(image_path):
# 步骤1:RPA抓取发票图片
screenshot = rpa.capture_element(“#invoice-image”)

# 步骤2:调用大模型进行OCR识别和内容理解
invoice_data = deepseek_api.vision_ocr(screenshot)

# 步骤3:RPA将识别结果填入财务系统
rpa.fill_form({
    "invoice_no": invoice_data.number,
    "amount": invoice_data.amount,
    "date": invoice_data.date
})

适用场景:单流程内需要AI增强的环节,如智能识别、内容生成、异常判断。
这里有个细节值得注意:大模型的API调用费用是开发者最关心的成本之一。理想的方案是让开发者自行对接各平台API,费用完全透明可控——用谁的模型、调多少次、花多少钱,一目了然。而不是被锁定在某个封闭的计费体系里。这种"自带API"的模式,对于个人开发者和小团队来说尤其友好。
模式三:Agent智能调度模式(前沿)
这是2025-2026年最热门的方向。大模型作为"大脑",自主拆解任务、调度RPA工具链、监控执行结果、自我修复异常。
plain
用户指令:“每天上午9点检查竞品价格,如果发现降价超过5%,截图发到我微信”

Agent拆解:

  1. 调用RPA打开竞品网站 → 执行
  2. 抓取价格数据 → 完成
  3. 对比历史价格 → 降价8%
  4. 触发条件满足 → 调用RPA截图
  5. 发送到用户微信 → 完成
  6. 设置定时任务:明天9点继续执行
    这种Agent功能代表了RPA工具的进化方向。不再是简单的录制回放,而是具备智能决策能力的数字员工。支持接入最新的DeepSeek-V4等模型,通过自然语言指令就能完成复杂的多步骤任务调度——这才是真正的AI自动生成流程。
    三、实战:接入文心一言、Kimi、DeepSeek的完整代码
    下面分享一个我实际项目中使用的多模型统一接入层,支持文心一言、Kimi、DeepSeek、豆包等主流大模型切换。
    3.1 统一接口封装

ai_client.py
import os
import requests
from abc import ABC, abstractmethod

class BaseAIClient(ABC):
@abstractmethod
def chat(self, prompt: str, image_path: str = None) -> str:
pass

class DeepSeekClient(BaseAIClient):
def init(self, api_key=None):
self.api_key = api_key or os.getenv(“DEEPSEEK_API_KEY”)
self.base_url = “https://api.deepseek.com/v1”

def chat(self, prompt: str, image_path: str = None) -> str:
    messages = [{"role": "user", "content": prompt}]
    
    # 支持图片识图与OCR功能
    if image_path:
        import base64
        with open(image_path, "rb") as f:
            img_base64 = base64.b64encode(f.read()).decode()
        messages[0]["content"] = [
            {"type": "text", "text": prompt},
            {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_base64}"}}
        ]
    
    resp = requests.post(
        f"{self.base_url}/chat/completions",
        headers={"Authorization": f"Bearer {self.api_key}"},
        json={
            "model": "deepseek-v4",
            "messages": messages,
            "temperature": 0.3
        }
    )
    return resp.json()["choices"][0]["message"]["content"]

class KimiClient(BaseAIClient):
def init(self, api_key=None):
self.api_key = api_key or os.getenv(“KIMI_API_KEY”)
self.base_url = “https://api.moonshot.cn/v1”

def chat(self, prompt: str, image_path: str = None) -> str:
    # Kimi支持长文本,适合处理复杂流程文档
    messages = [{"role": "user", "content": prompt}]
    
    if image_path:
        # Kimi同样支持图片OCR识别
        import base64
        with open(image_path, "rb") as f:
            img_base64 = base64.b64encode(f.read()).decode()
        messages[0]["content"] = [
            {"type": "text", "text": prompt},
            {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{img_base64}"}}
        ]
    
    resp = requests.post(
        f"{self.base_url}/chat/completions",
        headers={"Authorization": f"Bearer {self.api_key}"},
        json={
            "model": "moonshot-v1-32k",
            "messages": messages,
            "temperature": 0.3
        }
    )
    return resp.json()["choices"][0]["message"]["content"]

class WenxinClient(BaseAIClient):
def init(self, api_key=None, secret_key=None):
self.api_key = api_key or os.getenv(“WENXIN_API_KEY”)
self.secret_key = secret_key or os.getenv(“WENXIN_SECRET_KEY”)
self.access_token = self._get_access_token()

def _get_access_token(self):
    url = f"https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id={self.api_key}&client_secret={self.secret_key}"
    return requests.post(url).json()["access_token"]

def chat(self, prompt: str, image_path: str = None) -> str:
    # 文心一言在中文理解上有独特优势
    url = f"https://aip.baidubce.com/rpc/2.0/ai_custom/v1/wenxinworkshop/chat/completions?access_token={self.access_token}"
    
    payload = {"messages": [{"role": "user", "content": prompt}]}
    if image_path:
        # 文心一言支持OCR识图
        import base64
        with open(image_path, "rb") as f:
            img_base64 = base64.b64encode(f.read()).decode()
        payload["messages"][0]["content"] = [
            {"type": "text", "text": prompt},
            {"type": "image", "image": f"data:image/png;base64,{img_base64}"}
        ]
    
    resp = requests.post(url, json=payload)
    return resp.json()["result"]

工厂模式:根据配置切换模型
class AIClientFactory:
CLIENTS = {
“deepseek”: DeepSeekClient,
“kimi”: KimiClient,
“wenxin”: WenxinClient,
“doubao”: DeepSeekClient, # 豆包API兼容OpenAI格式
}

@classmethod
def get_client(cls, model_name: str):
    client_class = cls.CLIENTS.get(model_name)
    if not client_class:
        raise ValueError(f"不支持的模型: {model_name}")
    return client_class()

3.2 RPA流程中调用AI:智能元素定位实战
在RPA工具开发中,最头疼的问题之一就是元素定位。传统的XPath写法晦涩难懂,而且页面稍有变动就失效。
利用大模型的视觉理解能力,我们可以实现AI智能优化元素路径:

智能元素定位:用自然语言描述代替XPath
def smart_locate_element(description: str, screenshot_path: str):
“”"
用自然语言描述目标元素,AI自动生成定位策略
例如:“登录按钮,蓝色的,在页面右上角”
“”"
client = AIClientFactory.get_client(“deepseek”)

prompt = f"""
这是一个网页截图,请帮我定位以下元素并生成XPath路径:
目标元素描述:{description}

要求:
1. 生成最稳定的XPath路径
2. 优先使用id、name、class等稳定属性
3. 避免使用绝对路径
4. 如果可能,提供备用定位方案

请直接返回XPath表达式,不要解释。
"""

xpath = client.chat(prompt, screenshot_path)
return xpath.strip()

使用示例
xpath = smart_locate_element(
“蓝色的登录按钮,右上角”,
“/tmp/page_screenshot.png”
)
rpa.click(xpath)
更厉害的是,当web元素失效时,AI可以自动修复定位。流程执行过程中如果某个元素找不到了,RPA工具会自动截图并调用大模型分析当前页面结构,重新生成有效的定位路径,实现元素自愈。这样一来,流程的稳定性大幅提升,不会因为页面微小改版就中断。
这种能力对于维护大量自动化流程的团队来说简直是救星——再也不用半夜被叫起来修流程了。
四、AI自动生成流程:从需求描述到可执行脚本
这是本文最硬核的部分。如何实现"说人话就能生成自动化流程"?
4.1 需求理解层

def parse_automation_requirement(user_input: str) -> dict:
“”"
将用户的自然语言需求解析为结构化流程定义
“”"
client = AIClientFactory.get_client(“kimi”) # Kimi长文本理解能力强

system_prompt = """
你是一个专业的RPA流程分析师。请将用户的需求解析为JSON格式的流程定义。

输出格式:
{
    "flow_name": "流程名称",
    "steps": [
        {
            "step_id": 1,
            "action": "open_url|click|fill_form|extract_data|condition|loop|call_api",
            "target": "操作目标描述",
            "parameters": {},
            "next_step": 2,
            "on_error": "retry|skip|abort"
        }
    ],
    "variables": {},
    "trigger": "manual|schedule|api|event"
}
"""

response = client.chat(f"{system_prompt}\n\n用户需求:{user_input}")
import json
return json.loads(response)

4.2 代码生成层
def generate_rpa_script(flow_definition: dict, target_platform: str = “python”) -> str:
“”"
将结构化流程定义转换为可执行的RPA脚本
“”"
client = AIClientFactory.get_client(“deepseek”) # DeepSeek代码能力强

prompt = f"""
请将以下流程定义转换为{target_platform}的RPA执行脚本。
要求:
1. 使用requests + selenium/playwright
2. 包含异常处理和重试机制
3. 添加详细注释
4. 支持无头模式运行

流程定义:
{json.dumps(flow_definition, ensure_ascii=False, indent=2)}
"""

return client.chat(prompt)

4.3 完整示例:一句话生成发票处理流程
用户输入:
“每天自动登录电子发票平台,下载昨天开具的所有发票PDF,用OCR识别金额和税号,生成Excel汇总表发到我的邮箱”
AI生成流程:

AI自动生成的RPA流程脚本(经过人工微调)
import schedule
import time
from datetime import datetime, timedelta

def daily_invoice_process():
“”“每日发票自动处理流程 - AI生成”“”

# 1. 计算日期范围
yesterday = (datetime.now() - timedelta(days=1)).strftime("%Y-%m-%d")

# 2. 登录电子发票平台
rpa.open_url("https://fapiao.platform.com")
rpa.fill_form({
    "#username": os.getenv("INVOICE_USER"),
    "#password": os.getenv("INVOICE_PASS")
})
rpa.click("#login-btn")
rpa.wait_for("#dashboard", timeout=30)

# 3. 筛选昨日发票
rpa.click("#date-filter")
rpa.fill_form({
    "#start-date": yesterday,
    "#end-date": yesterday
})
rpa.click("#search-btn")
rpa.wait_for(".invoice-item", timeout=30)

# 4. 下载所有发票PDF
invoices = rpa.find_elements(".invoice-item")
pdf_paths = []
for idx, inv in enumerate(invoices):
    rpa.click(inv.find_element(".download-btn"))
    pdf_path = f"/tmp/invoice_{yesterday}_{idx}.pdf"
    rpa.wait_for_download(pdf_path, timeout=60)
    pdf_paths.append(pdf_path)

# 5. OCR识别(调用大模型视觉能力)
results = []
for pdf_path in pdf_paths:
    # 将PDF转为图片后调用AI识图
    img_path = pdf_to_image(pdf_path)
    ocr_result = ai_client.chat(
        "请识别这张发票的金额、税号、开票日期、购买方名称",
        img_path
    )
    results.append(parse_ocr_result(ocr_result))

# 6. 生成Excel汇总
df = pd.DataFrame(results)
excel_path = f"/tmp/发票汇总_{yesterday}.xlsx"
df.to_excel(excel_path, index=False)

# 7. 发送邮件
send_email(
    to="my@email.com",
    subject=f"发票汇总-{yesterday}",
    attachment=excel_path
)

print(f"[{datetime.now()}] 流程执行完成,共处理{len(results)}张发票")

设置定时任务
schedule.every().day.at(“09:00”).do(daily_invoice_process)

if name == “main”:
while True:
schedule.run_pending()
time.sleep(60)
这个流程从需求到可执行代码,全程由AI辅助生成,开发者只需做最后的审核和微调。这就是AI自动生成流程的魅力。
五、成果交付:打包分发与权限管理
流程开发完成后,如何交付给业务同事使用?这里有几个关键考量:
5.1 打包为独立EXE
对于非技术用户来说,最理想的方式是拿到一个双击就能运行的程序,不需要安装Python环境、不需要配置依赖。
支持打包导出EXE的自动化软件在这方面很有优势。开发者可以在工具内完成流程设计,一键导出为独立的可执行文件,发给别人不用装客户端。更实用的是,导出的应用还能单独设置API触发、定时执行等高级功能——比如让业务同事每天早上8点自动收到数据报表,或者通过API被其他系统远程调用。
而且,打包后的应用支持在线推送更新。这意味着你修复了bug或增加了功能后,不需要重新给每个人发安装包,用户打开应用就能自动检测并更新到新版本。对于需要频繁迭代的业务场景来说,这个细节能省下大量沟通成本。
5.2 授权与数据安全
企业级应用必须考虑权限控制和数据安全。
支持授权机制的打包应用可以设置使用期限、绑定设备、限制功能模块。配合加密分享能力,你可以安全地将应用分发给合作伙伴或客户,而不必担心代码泄露或越权使用。
更重要的是数据不出本地这个原则。比如蓝印RPA这个软件,在流程自动化执行过程中产生的所有数据——登录凭证、业务数据、执行日志——全部保存在用户本地设备上,不同步到任何云端服务器。对于处理敏感信息的企业来说,这是底线要求。毕竟,谁也不想自己的客户数据或财务数据被上传到第三方服务器。
5.3 浏览器自动化增强
现代RPA工具离不开浏览器自动化。除了常规的Chrome、Edge,很多业务场景需要操作指纹浏览器来管理多账号、防关联。
目前市面上主流的指纹浏览器——紫鸟浏览器、比特浏览器、HubStudio、AdsPower等——都已经可以很好地与自动化软件对接。通过模拟真实用户的浏览器指纹特征,配合RPA工具的自动化操作,可以实现安全高效的多账号矩阵管理。这对于电商运营、社媒营销、广告投放等场景来说是刚需。
六、写给开发者的选型建议
如果你正在考虑引入AI+RPA融合方案,以下几点建议来自我的实际踩坑经验:
在这里插入图片描述

对于个人开发者、个人工作室、中小企业来说,选型时还要特别关注使用门槛和长期成本。理想的方案应该无运行时长限制、无流程数量限制,支持在多台设备上使用而无需额外购买多开会员,蓝印RPA就满足这些条件。毕竟,技术工具的价值在于释放生产力,而不是制造新的成本负担。
另外,如果你需要自定义界面,设计属于自己的软件外观——比如给客户交付时打上自己的品牌logo、调整配色方案——这也是选型时值得关注的点。一个能自定义界面的RPA工具,在交付给客户时显然更专业。
AI大模型与RPA工具的融合,不是简单的1+1=2,而是开启了智能流程自动化的新纪元。
大模型让RPA工具具备了"理解"和"决策"的能力,RPA工具让大模型获得了"执行"和"交互"的抓手。从API触发到Agent智能调度,从手动编写脚本到AI自动生成流程,这个领域正在以惊人的速度进化。
作为开发者,我们正处于一个最好的时代——文心一言、Kimi、DeepSeek等大模型能力越来越强,自动化软件的易用性和开放性也在持续提升。无论是构建企业级的数字化员工,还是开发个人效率工具,现在都是入场的最佳时机。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐