ComAct - 上海AI Lab等提出软件自动化操作的研究范式
ComAct以Windows COM接口为核心,通过程序合成替代传统GUI控制,为专业软件自动化提供确定性路径。本文详解其定义、功能、技术原理及应用场景。
ComAct是什么
ComAct(COM-as-Action)是由Jiaxin Ai等人提出的研究范式,将Windows的Component Object Model(COM)作为统一的可执行抽象,把专业软件交互从脆弱的顺序性视觉控制转变为确定性的程序合成。该范式解决了GUI智能体在长程任务中错误累积的问题,同时也突破了基于API方法受限于异构协议和闭源接口的局限。

ComAct的主要功能
- COM-as-Action 范式转换:将专业软件交互从脆弱的顺序性视觉控制(GUI)转变为确定性的程序合成,利用 Windows COM 接口作为统一的可执行抽象,直接调用软件内部结构化编程接口。
- ComCADBench 基准测试:构建首个评估智能体操作真实工业 CAD 软件的基准,包含 1,000 个任务,覆盖 SolidWorks、Inventor、AutoCAD 三大平台及 3D 建模、2D 草图、装配、工程图等七项工程活动。
- ComActor 自校正智能体:采用三阶段渐进式训练框架——文本到代码监督微调(SFT)、基于多轮交互轨迹的智能体 SFT、以及基于连续几何奖励的 GRPO 强化学习,使智能体能够生成 COM 脚本、读取终端反馈、诊断并重写失败步骤。
- ComForge 可扩展训练平台:支持并发托管 1,000+ 个 Docker 化 Windows 环境,预装真实 CAD 软件,提供
code_execute(COM 脚本)、gui_action(鼠标/键盘)和reset三种动作类型,实现大规模并行训练与评估。 - 跨应用工作流整合:COM 作为统一的语义化编程接口,天然支持跨多种专业软件(Microsoft Office、Adobe 套件、工业 CAD 等)的协同操作与复杂工作流编排。
- 长程任务鲁棒执行:通过生成单一确定性脚本替代数百个易出错的顺序 GUI 操作,消除长程错误累积,在长程多任务管道中保持 80% 以上的端到端成功率,显著优于传统 GUI-based 智能体。

ComAct的技术原理
- COM-as-Action 范式转换:将 Windows Component Object Model(COM)识别为一种统一的可执行抽象,把专业软件交互从脆弱的顺序性视觉控制(GUI)重新定义为确定性的程序合成,直接通过结构化编程接口调用软件内部功能。
- 验证过的指令-代码对数据构建:通过专门的数据构建流程合成经过验证的指令-COM 代码语料库,确保训练数据在语法和语义层面的正确性,为监督微调提供高质量基础。
- 三阶段渐进式训练框架:
- 阶段一(文本到代码 SFT):在验证语料库上进行监督微调,使模型学习生成语法有效的 COM 脚本;
- 阶段二(Agentic SFT):基于多轮交互轨迹和屏幕截图/终端反馈进行迭代调试训练,使智能体具备从执行失败中自我恢复的能力;
- 阶段三(GRPO 强化学习):采用组相对策略优化(Group Relative Policy Optimization),结合基于 Chamfer Distance 的连续几何奖励,直接优化任务级几何保真度,弥合"语法正确但几何不符"的差距。
- 自校正执行循环:智能体生成 COM 脚本后执行,读取终端返回的 traceback 或执行结果,自主诊断错误原因并重写失败步骤,形成"生成-执行-反馈-修正"的闭环。
- ComForge 可扩展基础设施:基于 Docker 化 Windows 容器构建训练平台,并发托管 1,000+ 个预装真实 CAD 软件的环境,支持
code_execute(COM 脚本)、gui_action(鼠标/键盘)和reset三种动作类型,实现大规模并行训练与评估。 - 跨应用统一动作空间:利用 COM 在语义对象层面运行的特性,将不同专业软件(SolidWorks、AutoCAD、Inventor、Microsoft Office 等)的异构接口统一为标准化的可执行动作空间,天然支持跨应用工作流编排。
如何使用ComAct
- 环境准备(ComForge):部署 Docker 化 Windows 容器环境,预装目标专业软件(如 SolidWorks、AutoCAD、Inventor),ComForge 支持并发托管 1,000+ 个并行实例用于训练或评估。
- 任务指令输入:向 ComActor 智能体输入自然语言指令(如"创建一个带圆角的立方体并生成工程图"),智能体将其解析为对应的 COM 操作目标。
- COM 脚本生成:ComActor 基于三阶段训练能力,自动生成语法有效的 COM 脚本(如 Python 调用 COM 接口),直接操控软件内部对象模型,而非模拟鼠标点击。
- 执行与反馈循环:脚本在 ComForge 环境中执行,智能体读取终端返回的执行结果或错误 traceback,自主诊断问题并重写失败步骤,形成自校正闭环。
- 结果验证与输出:任务完成后,智能体输出最终生成的文件(如 3D 模型、工程图纸),并通过连续几何奖励机制(Chamfer Distance)验证几何保真度。
- 跨应用工作流编排:利用 COM 统一接口,串联多个专业软件完成复杂管道任务(如在 CAD 中建模 → 导出 → 在 Excel 中生成 BOM 表)。
ComAct的官网地址
- 项目官网:https://knowledgexlab.github.io/ComAct/
- GitHub仓库:https://github.com/KnowledgeXLab/ComAct
- arViv技术论文:https://arxiv.org/pdf/2606.13239
ComAct的核心优势
- 确定性程序合成替代脆弱视觉控制:将专业软件交互从依赖像素定位的顺序性 GUI 操作转变为生成单一确定性 COM 脚本,从根本上消除长程错误累积,避免传统 GUI-based 智能体"一步错、步步错"的级联失效。
- 统一可执行抽象跨越异构接口:利用 Windows COM 作为统一的语义化编程接口,整合 SolidWorks、AutoCAD、Inventor、Microsoft Office 等多种专业软件的异构协议,天然支持跨应用复杂工作流编排。
- 破解闭源软件工具匮乏难题:COM 接口在语义对象层面暴露应用程序内部功能,即使面对源代码不公开的商业软件,也能提供高保真的本地 API 级访问能力,突破 API-based 方法受限于不可访问商业接口的瓶颈。
- 长程任务鲁棒性显著领先:在长程多任务管道中保持 80% 以上的端到端成功率,而传统 GUI-based 基线模型在 ComCADBench 上任务成功率接近 0%,展现出极强的长程规划与执行韧性。
- 自校正与迭代调试能力:通过 Agentic SFT 训练,智能体具备"生成-执行-读取 traceback-诊断-重写"的闭环能力,能够从 COM 脚本执行失败中自主恢复,无需人工干预。
- 直接优化几何保真度:第三阶段 GRPO 强化学习引入基于 Chamfer Distance 的连续几何奖励,直接优化任务级几何精度,弥合"语法正确但几何不符"的执行差距。
ComAct的应用场景
ComAct适用于工业CAD自动化设计,涵盖SolidWorks、AutoCAD、Inventor中的3D建模、2D草图、装配体设计等多种工程活动;同时支持长程多任务管道编排,串联从建模到BOM表生成的复杂过程;并可整合Microsoft Office与Adobe套件实现跨应用协同;在自动设计验证、参数化批量建模等方面也发挥重要作用,显著提升设计效率。