传统自动化技术
传统自动化技术是指在 AI 大规模介入之前,开发者用于减少重复劳动的各类工具和方法。这些技术虽然不具备理解和推理能力,但在确定的流程和固定的场景下依然高效可靠,并且构成了现代 Agent 自动化的工程基础。
Python 自动化库
Python 是传统自动化领域的主力语言,其丰富的第三方库覆盖了从桌面操作到数据处理的大部分自动化场景。 PyAutoGUI 是桌面自动化的入门工具,通过调用系统 API 模拟鼠标移动、点击、键盘输入和截图操作,跨平台支持 Windows、macOS 和 Linux。它的 API 设计直观,适合编写简单的桌面操作脚本,如自动填表、定时点击、批量截图等。但 PyAutoGUI 的操作是坐标驱动的,界面元素位置一旦变化脚本就会失效,因此在分辨率切换或多显示器场景下需要格外处理。 Selenium 是浏览器自动化的标准工具,通过 WebDriver 协议控制浏览器的每个行为——打开页面、定位元素、填写表单、点击按钮、等待加载。Selenium 支持所有主流浏览器,能够处理 JavaScript 渲染的动态页面,广泛用于自动化测试和爬虫开发。它的核心概念是元素定位,通过 CSS 选择器、XPath、ID 等方式找到页面上的 DOM 元素并进行操作,稳定性远高于基于坐标的桌面自动化。 OpenCV 是计算机视觉领域的基础库,在自动化场景中主要用于屏幕内容识别和图像处理。通过模板匹配(matchTemplate)可以在屏幕截图中定位特定图标或按钮,通过边缘检测和轮廓分析可以提取界面元素的位置和形状。OpenCV 的图像处理速度快,适合游戏辅助脚本中对实时画面的分析需求。 Tesseract OCR 用于从屏幕截图中提取文字信息,配合 OpenCV 的预处理(灰度化、二值化、降噪)可以准确识别游戏界面中的角色名、血量数值、聊天内容等文字。YOLOv8 等目标检测模型则可以识别屏幕中的动态对象,如游戏角色的位置和状态。 Requests 和 BeautifulSoup 是网页数据采集的经典组合。Requests 负责发送 HTTP 请求和处理响应,支持会话保持、Cookie 管理、代理设置等;BeautifulSoup 解析 HTML 文档,提供简洁的 API 来定位和提取页面数据。对于更复杂的爬虫需求,Scrapy 框架提供了完整的爬取管道,包括请求调度、数据清洗、持久化存储和反爬策略处理。
自动编排引擎
当自动化需求超出了单脚本的范畴,涉及多个系统、多个步骤的协调执行时,就需要自动编排引擎来管理工作流的定义、调度和监控。这类工具将自动化从"写一段代码"提升为"设计一套流程"。 n8n 是一款开源的工作流自动化平台,采用节点编排的方式连接不同的服务和 API。每个节点代表一个操作(如发送 HTTP 请求、读写数据库、调用 Webhook),节点之间通过数据流连接,形成完整的自动化工作流。n8n 支持数百种内置集成,可以对接邮件系统、数据库、云服务、消息队列等,适合构建跨系统的数据同步、通知推送、定时任务等自动化流程。它的核心优势在于可视化编辑降低了非专业用户的参与门槛,同时支持自定义 JavaScript 节点处理复杂逻辑。 Dify 是一款专注于 LLM 应用开发的低代码平台。与传统工作流引擎不同,Dify 的编排对象是大模型的能力——RAG 管道、Agent 工作流、Prompt 模板等。开发者通过可视化界面配置知识库、选择模型、编排工具调用链,快速构建智能客服、文档问答、内容生成等 AI 应用,而无需深入理解 LangChain 的代码细节。Dify 提供从开发到部署的一站式能力,适合团队快速验证和落地 LLM 应用场景。 ComfyUI 采用类似的节点编排范式,但面向的是图形和视频生成领域。每个节点封装了 Stable Diffusion 的一个处理步骤(如模型加载、提示词编码、采样、图像缩放),用户通过连线组合节点形成完整的生成流程。ComfyUI 的节点生态极为丰富,社区贡献了大量扩展节点,覆盖 ControlNet、IP-Adapter、视频生成等前沿能力,已经成为 AI 图像生成领域的事实标准工具。 Coze 是字节跳动推出的 AI Bot 构建平台,内置插件市场和知识库管理,支持快速搭建对话式 AI 应用。用户无需编写代码,通过界面配置即可完成 Bot 的能力定义、知识库挂载和发布部署,降低了 AI 应用的构建门槛。 这些编排引擎的共同特点是:用可视化的流程定义替代代码编写,用预设的集成组件替代重复的接口对接,用平台化的调度监控替代手工的任务管理。它们面向的不是底层开发者,而是需要快速解决业务问题的实践者。
控制层级
自动化系统与目标程序交互的方式,按照控制的深入程度可以分为四个层级。 API 层是最轻量的交互方式,通过程序或服务对外暴露的接口进行调用,包括 HTTP API、MCP、SDK、RPC 以及数据库接口等。它的优势在于稳定、高效、性能好,但前提是目标程序必须提供可用的外部接口,否则无法采用。大多数企业级自动化的首选方案都是 API 集成,因为接口契约明确,出错时容易排查。 GUI 层通过模拟人类操作实现自动化,使用 PyAutoGUI、SikuliX 等工具进行键鼠操作。GUI 层的通用性最强——只要有图形界面就能操作,但速度慢、可靠性低,对界面变化敏感。GUI 自动化适合没有 API 接口的遗留系统,或者操作本身就需要图形界面的场景(如游戏辅助)。 进程层直接介入目标程序的运行过程,通过读写内存、DLL 注入、Hook 等技术获取和控制程序状态,游戏辅助脚本多采用这种方式。进程层的控制能力强于 GUI 层,但开发门槛显著提高,需要掌握操作系统底层的内存管理和进程通信机制。在 Windows 平台上,ReadProcessMemory 和 WriteProcessMemory 是最基础的内存操作 API,配合 Cheat Engine 等工具可以定位目标程序的关键数据结构。 系统层是最深层的控制方式,通过驱动程序、内核模块、Hypervisor 甚至 DMA 硬件直接干预系统行为,具有最高的权限和隐蔽性,同时也伴随着最大的风险和最严格的法律约束。系统层技术多见于安全研究和反作弊对抗领域,一般工程实践中极少采用。
图色脚本
图色脚本是 GUI 层自动化的典型实现方案,广泛用于游戏辅助、RPA(机器人流程自动化)等场景。其核心流程分为三个阶段:获取屏幕图像,解析图像内容提取关键信息,然后根据业务逻辑生成操作指令驱动键鼠执行。
图色获取 --> 图色解析 --> 业务逻辑
|
键鼠操作 <-- 动作指令 <-----+屏幕图像的获取方式包括系统截屏(如 Python 的 mss、PIL.ImageGrab)、读取帧缓冲区(通过 /dev/fb0 或 DirectX/OpenGL 的帧捕获)、使用外部采集卡(将目标设备的视频输出采集到控制机上),以及调用系统无障碍 API(如 Windows UI Automation、Android AccessibilityService)。不同方式在速度、权限和兼容性上各有侧重:截屏最通用但延迟高,帧缓冲区速度最快但需要系统权限,采集卡适用于跨设备场景(如手机游戏自动化),无障碍 API 可以直接获取界面元素的语义信息而无需图像识别。 图像解析环节借助 CV 技术对屏幕内容进行处理。模板匹配通过 cv2.matchTemplate 在截图中定位已知图标的位置,适用于界面元素固定的场景。颜色检测通过分析特定区域的像素颜色判断游戏状态(如血条颜色判断角色存活)。OCR 用于提取界面文字信息。YOLO 等目标检测模型可以同时识别屏幕中多个不同类别的对象,适合复杂的游戏画面分析。 图色脚本的开发流程通常是:先用截图工具获取目标界面的基准图像,编写匹配和识别逻辑,设计状态机和操作序列,最后通过循环驱动持续运行。在工程实践中,状态机的健壮性设计至关重要——界面卡顿、网络延迟、异常弹窗等意外情况都需要在状态机中预设处理分支,否则脚本会在某个环节卡死。Python 的 pyautogui 配合 opencv-python 和 pytesseract 构成了图色脚本开发的标准技术栈,而 AutoHotkey 则是 Windows 平台上更轻量的替代方案,适合编写不需要图像识别的简单宏脚本。