当大模型“拿起鼠标”操作工业软件,一场关于“数字技术员”的范式革命正在车间里悄然发生
写在前面
2026年,AI Agent不再只是“能聊天的助手”,它开始真正“动手”了——打开ERP、登录MES、操作供应商平台、填报工单、比对合同、预警异常……这些曾经只能由人类完成的“跨系统操作”,现在可以由一个基于大模型的Agent自主完成。
工业AI Agent的核心命题是:如何让大模型理解屏幕、规划步骤、执行操作,并适应不断变化的环境? 本文将从一个开发者的视角,解读工业AI Agent的技术趋势、核心架构,并结合“实在Agent”这一国产实践,聊聊我们能为制造业生产流程自动化做些什么。
一、为什么制造业是AI Agent的“终极考场”?
制造业生产流程自动化的技术挑战,远高于一般办公自动化。原因有三:
1.1 系统“杂、老、闭”
一个典型工厂的信息系统生态:SAP ERP(可能还是1990年代的GUI)、MES(自研或小众厂商)、WMS、PLM、SRM,再加上客户的SRM网站、供应商的订单平台……API接口?要么没有,要么收费昂贵,要么不稳定。即使有,改一次版就断联。
对开发者来说,这意味着传统基于API的集成方案在这里经常失效。必须有一种不依赖API、直接操作界面的技术。
1.2 流程“长、跨、变”
一个采购订单的生命周期可能跨越5个系统、10个步骤、3个角色,中间还有各种异常(缺料、改期、换供应商)。固定脚本的RPA很难覆盖所有分支。
Agent需要具备自主规划和异常恢复能力,而不是靠if-else堆砌。
1.3 数据“多模态、非结构化”
除了结构化字段,还有PDF图纸、邮件附件、巡检照片、手写工单……这些都需要Agent能“看懂”并提取信息。
多模态理解是工业Agent的刚需。
正是这些挑战,让制造业成为检验AI Agent“真功夫”的终极考场。
二、技术趋势:从RPA到Agentic RPA
2.1 传统RPA的困境
传统RPA基于“录制-回放”机制,或通过图像/元素定位。优点是对API无依赖,缺点也同样明显:
- 脆性:界面偏移/颜色改变/控件ID变化 → 脚本失效
- 无认知:只能执行固定步骤,不能根据业务状态调整
- 维护成本高:系统升级就要重新录制
2.2 Agentic RPA:大模型驱动的“活脚本”
Agentic RPA = 大模型(规划与决策) + RPA/UI自动化(执行与感知) + 记忆/知识(上下文与经验)
技术特点:
- 意图驱动:用户说“处理今天的订单”,Agent自动拆解为“登录SRM → 下载 → 解析 → 录入ERP → 发送确认”。
- 自适应界面:通过视觉语言模型(VLM) 或屏幕语义理解技术,识别界面元素语义而非位置,即使UI变化也能适应。
- 自主异常处理:遇到弹窗、报错、网络超时,Agent尝试多种恢复策略,实在不行才请求人工。
- 工具调用:大模型不仅能规划,还能主动调用RPA脚本、API、SQL查询、外部知识库等“技能”。
2.3 关键技术模块
| 模块 | 作用 | 典型实现 |
|---|---|---|
| 屏幕语义理解(ISSUT) | “看懂”任意软件界面,识别按钮、表格、输入框 | 实在智能 ISSUT;也可以基于Fuyu-8B等VLM微调 |
| 任务规划器(Planner) | 将自然语言指令转换为可执行步骤序列 | ReAct、CoT、Tree-of-Thought;LangGraph工作流 |
| 技能注册表(Skill Registry) | 为Agent提供可调用的原子操作(RPA脚本、API、函数) | OpenAI function calling、LangChain tools |
| 记忆(Memory) | 短期记忆存储上下文,长期记忆通过RAG从知识库检索 | 向量数据库 + 嵌入模型 |
| 交互与审计 | 操作日志、屏幕截图、人工接管接口 | 可插拔的审计模块 |
三、实在Agent的架构剖析:一个国产工业Agent的实践
实在智能的“实在Agent”是目前少有的、真正在制造业生产流程中规模化落地的AI Agent产品。其技术架构对开发者很有参考价值。
3.1 整体架构
┌─────────────────────────────────────────────────────────┐
│ 用户交互层 │
│ 自然语言 / 低代码编排 / 定时器 / 事件触发 │
└─────────────────────────┬───────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────┐
│ TARS大模型(规划与推理) │
│ • 意图识别与任务拆解 │
│ • 工具选择与参数填充 │
│ • 异常识别与重试策略 │
└─────────────────────────┬───────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────┐
│ 技能层(Skills + RPA) │
│ • 预置技能库:登录、查询、下载、填表、发送消息等 │
│ • RPA录制器:用户可自定义技能 │
│ • API调用模块 │
└─────────────────────────┬───────────────────────────────┘
▼
┌─────────────────────────────────────────────────────────┐
│ 感知层(ISSUT + CV + OCR) │
│ • 屏幕截图理解 │
│ • 界面元素识别与定位 │
│ • 多模态文档解析 │
└─────────────────────────────────────────────────────────┘
↕
┌─────────────────────────────────────────────────────────┐
│ 记忆层(向量数据库 + 知识图谱) │
│ 企业知识库:工艺文档、操作手册、历史工单、法规标准 │
└─────────────────────────────────────────────────────────┘
3.2 亮点技术:ISSUT(智能屏幕语义理解)
ISSUT是实在Agent实现“零API依赖”的核心。它不像传统RPA那样依赖XPath或图像像素比对,而是:
- 对屏幕截图进行视觉编码,提取UI组件的语义特征(按钮的文字、输入框的标签、表格的列头)。
- 结合DOM(对Web)或控件树(对桌面应用)的信息,形成元素-语义映射。
- 大模型根据任务需求,自主选择要操作的UI元素,而不是硬编码坐标。
优势:当供应商平台改版(按钮从右边移到左边),只要语义没变(如“登录”按钮文字未改),ISSUT仍能正确识别。鲁棒性大幅提升。
3.3 开发者可扩展性
实在Agent提供了开放技能框架,开发者可以:
- 用Python/JS编写自定义技能(如调用私有算法模型)
- 将技能注册到平台,Agent规划时自动可调用
- 通过Webhook接收Agent的事件,实现复杂业务逻辑
这为制造企业的内部开发团队提供了定制空间。
四、开发者的机会:如何构建自己的工业Agent?
如果你是企业内部的开发者,想尝试自建轻量级工业Agent(或基于现有平台二次开发),可以参考以下技术栈。
4.1 基础开源组件选择
| 组件 | 推荐 | 说明 |
|---|---|---|
| 大模型(本地) | Qwen2.5-72B、DeepSeek-V3 | 数据敏感需私有化 |
| 大模型(云API) | GPT-4o、通义千问 | 快速原型,注意数据安全 |
| Agent框架 | LangGraph、AutoGen、OpenClaw | 工作流编排与多Agent协同 |
| UI自动化 | Playwright(Web)、PyAutoGUI(桌面) | 跨平台,比Selenium更现代 |
| 屏幕语义理解 | 自研VLM(微调Fuyu)或接入ISSUT API | 高阶能力,也可以先用坐标回退 |
| 向量数据库 | Qdrant、Milvus | RAG记忆 |
| 任务队列 | Celery、RabbitMQ | 异步执行与重试 |
4.2 简单示例:一个能“看懂”SRM网页并下载订单的Agent
下面用LangGraph + Playwright + 简单VLM(调用API)演示核心思路。
from langgraph.graph import StateGraph, END
from playwright.sync_api import sync_playwright
import openai
# 定义状态
class AgentState(TypedDict):
instruction: str
steps: list
current_step: int
page_screenshot: str # base64
result: str
# 步骤1:规划
def planner(state: AgentState):
prompt = f"""
用户指令:{state['instruction']}
请拆解为可执行步骤,每步格式为:操作|目标元素|输入值(可选)
可能操作:open_url, input_text, click, extract_data, screenshot
输出JSON数组。
"""
response = openai.ChatCompletion.create(
model="gpt-4o",
messages=[{"role": "user", "content": prompt}],
response_format={"type": "json_object"}
)
steps = json.loads(response.choices[0].message.content)["steps"]
return {"steps": steps, "current_step": 0}
# 步骤2:执行(用Playwright)
def executor(state: AgentState):
step = state["steps"][state["current_step"]]
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
# 根据step操作...
if step["action"] == "open_url":
page.goto(step["target"])
elif step["action"] == "click":
# 理想情况用语义定位,这里简化用文本
page.click(f"text={step['target']}")
# ... 其他操作
screenshot = page.screenshot()
browser.close()
return {"current_step": state["current_step"] + 1, "page_screenshot": screenshot}
# 步骤3:检查是否完成
def should_continue(state):
return "continue" if state["current_step"] < len(state["steps"]) else "end"
# 构建图
graph = StateGraph(AgentState)
graph.add_node("planner", planner)
graph.add_node("executor", executor)
graph.set_entry_point("planner")
graph.add_edge("planner", "executor")
graph.add_conditional_edges("executor", should_continue, {"continue": "executor", "end": END})
app = graph.compile()
# 运行
result = app.invoke({"instruction": "登录供应商网站,下载今天的采购订单报表"})
真实落地的差距:实际工业级Agent需要处理登录态保持、验证码识别、动态等待、弹窗处理、错误重试、并行执行等大量工程细节。这就是为什么很多企业选择成熟平台的原因。
4.3 何时自研,何时采购?
| 场景 | 建议 |
|---|---|
| 只有1-2个固定系统,界面稳定,IT团队强 | 可以考虑自研(Python + Playwright + 简单LLM规划) |
| 多系统、老旧、无API,希望快速见效 | 采购实在Agent这类产品,业务部门1天上手 |
| 有核心工艺算法,需要深度定制 | 自研算法 + 以API形式集成到Agent平台 |
五、未来展望:工业AI Agent的演进方向
5.1 从“单Agent”到“Multi-Agent协同”
一个Agent难以覆盖全部生产流程。未来会是多个专业Agent的协同:排产Agent、采购Agent、质检Agent、物流Agent……它们通过共享记忆或消息队列交换信息,形成一个“数字员工团队”。
实在Agent平台已支持Multi-Agent编排,可以在可视化界面上定义Agent之间的依赖和数据流。
5.2 从“界面操作”到“多模态感知”
除了屏幕,未来的工业Agent将融合:摄像头(识别仪表读数)、声呐(设备异响)、振动传感器(预测性维护)……多模态大模型将统一理解这些信号。
5.3 从“被动执行”到“主动建议”
Agent不仅听指令,还能主动监控生产指标,发现异常时主动推送预警和解决方案。这需要异常检测模型和强化学习的能力。
5.4 边缘化与实时性
对于低延迟需求的生产控制场景(毫秒级响应),Agent会下沉到边缘设备(工业PC、工控机),大模型蒸馏成小模型,本地推理。
写在最后
工业AI Agent并不是要替代现有的MES/ERP,而是填补系统之间的“缝隙”——那些需要人工搬运数据、判断异常、协调资源的灰色地带。
对开发者来说,这是一个充满机会的领域:屏幕语义理解、任务规划、技能编排、多模态融合……每一项都有广阔的技术探索空间。
如果你也对工业Agent感兴趣,建议从一个小场景开始:找到一个你每天都要做的、跨系统的重复操作,尝试用开源组件或成熟平台把它自动化。 当你看到AI真的“拿起鼠标”完成了工作,那种成就感,远胜过写一万行CRUD。
欢迎留言交流工业Agent的技术实践。