热搜词: 贝特瑞

南加大与Salesforce: CoAct-1让AI助手实现编

这项由南加州大学的宋林鑫等研究者与Salesforce研究团队合作完成的研究发表于2025年8月,详细介绍了一种革命性的计算机操作助手系统。有兴趣深入了解的读者可以通过论文网址https://linxins.net/coact/访问完整研究内容。

想象一下,你有一个超级聪明的助手,不仅能像人类一样操作电脑界面,还能直接写程序来完成任务。这就是CoAct-1的魅力所在。传统的电脑助手就像一个只会用鼠标点击的新手,遇到复杂任务时经常手忙脚乱,而CoAct-1就像一个既会用图形界面又会编程的高手,能够选择最合适的方式来解决问题。

这项研究的意义远不止技术突破。在日常办公中,我们经常需要进行大量重复性操作,比如整理文件、处理数据表格、批量修改图片等。这些任务用传统的点击方式需要很多步骤,容易出错,而CoAct-1能够智能选择是用界面操作还是写代码,大大提高效率和准确性。研究团队在OSWorld这个权威测试平台上验证了系统性能,结果显示CoAct-1达到了60.76%的成功率,远超之前的最佳记录,同时将平均完成任务的步骤数从15步减少到仅10.15步。

这种混合式的工作方式就像一个经验丰富的工匠,既知道什么时候该用精细的手工操作,什么时候该使用自动化工具。当面对需要精确视觉判断的任务时,系统会选择传统的界面操作;当遇到大量数据处理或文件管理任务时,系统会编写程序来快速完成。这种智能选择机制让计算机助手变得更加实用和可靠。

一、CoAct-1的核心创新:三个专业助手的完美配合

CoAct-1的设计理念就像组建一个高效的工作团队,每个成员都有自己的专长,通过协作来完成复杂任务。这个团队由三个关键角色组成,它们各司其职又密切配合。

首先是指挥官角色,在系统中被称为"编排者"(Orchestrator)。这个角色就像项目经理一样,负责理解用户的需求,将复杂的任务分解成更小的子任务,然后决定每个子任务应该交给谁来完成。编排者不能直接操作电脑,但它能够全局把握任务进展,根据当前情况做出最佳的任务分配决策。这就像一个经验丰富的主厨,知道什么时候该用平底锅,什么时候该用烤箱,从不直接动手烹饪,但能确保整道菜完美呈现。

第二个角色是程序员助手(Programmer),这是CoAct-1的核心创新之一。传统的电脑助手只会点击和输入,而程序员助手能够编写Python和Bash脚本来直接与操作系统交互。当编排者将任务分配给程序员助手时,它会开始一个独立的对话过程,与代码解释器进行多轮交互。程序员助手会根据任务需求编写代码,然后将代码发送给操作系统执行,获得执行结果后还能根据反馈进行代码调整和改进。这个过程就像一个专业的程序员在工作,能够处理文件管理、数据处理、系统配置等复杂任务。

第三个角色是界面操作员(GUI Operator),负责处理需要视觉判断和精确操作的任务。当编排者认为某个子任务更适合通过图形界面完成时,就会将任务交给界面操作员。这个助手能够理解屏幕上的各种元素,进行鼠标移动、点击、键盘输入等操作。界面操作员就像一个熟练的电脑用户,能够准确识别按钮、菜单和输入框,完成各种界面交互任务。

这三个角色之间的配合机制非常精妙。编排者会根据任务的性质和复杂程度来决定分配策略。对于需要大量重复操作的任务,比如批量重命名文件或处理数据表格,编排者会优先选择程序员助手,因为代码执行速度快且不容易出错。对于需要精确视觉判断的任务,比如在复杂界面中找到特定按钮或处理图像编辑,编排者会选择界面操作员。

更重要的是,这个系统具有很强的适应性。每次子任务完成后,执行者会向编排者汇报结果和当前系统状态。程序员助手会提供一个简洁的任务总结,而界面操作员会返回操作结果和屏幕截图。编排者基于这些信息来判断整体任务是否完成,或者需要继续分配新的子任务。这种反馈机制确保了系统能够动态调整策略,应对各种突发情况。

二、突破传统界面操作的局限性

传统的电脑助手就像一个只会按图索骥的新手,必须严格按照视觉界面的布局来操作。这种方式在处理复杂任务时会遇到很多问题,CoAct-1的设计正是为了解决这些根本性局限。

考虑一个典型的办公场景:你需要在一个包含多个工作表的Excel文件中找到特定数据,根据复杂条件进行筛选,复制结果,然后保存为新的CSV文件。传统助手需要进行大量的点击操作:打开文件,切换工作表,设置筛选条件,选择数据范围,复制内容,创建新文件,粘贴数据,选择保存格式,指定文件位置等等。每一步都需要精确的视觉定位和操作,任何一个环节出错都可能导致整个任务失败。

这种方式的问题在于累积错误概率。每次鼠标点击都有一定的失误可能,界面元素的识别也可能出现偏差,特别是在复杂的软件界面中,按钮和菜单项往往外观相似,很容易混淆。随着操作步骤的增加,整体成功率会快速下降。这就像走钢丝一样,路径越长,掉下去的风险就越高。

CoAct-1的程序化方法则完全不同。对于上述任务,程序员助手可能会编写一个简单的Python脚本,直接读取Excel文件,应用筛选条件,提取数据并保存为CSV格式。整个过程只需要几行代码,执行时间很短,而且结果完全可预测。这就像使用专业工具而不是手工操作,效率和准确性都大大提升。

另一个典型例子是文件管理任务。假设你需要在复杂的目录结构中找到所有图片文件,将它们调整为特定尺寸,然后打包压缩。传统方式需要打开文件管理器,逐个目录浏览,手动选择图片文件,使用图像编辑软件批量处理,最后创建压缩包。这个过程不仅繁琐,还容易遗漏文件或操作错误。

程序员助手则可以编写一个脚本,自动遍历目录结构,识别图片文件,调用图像处理库进行尺寸调整,最后创建压缩包。整个过程一气呵成,不会有遗漏,也不会有操作错误。更重要的是,这种方法具有很好的重复性,同样的脚本可以应用到类似的任务中。

然而,CoAct-1并没有完全抛弃界面操作。在某些情况下,图形界面仍然是最佳选择。比如处理需要实时视觉反馈的任务,或者与专门设计的图形化工具交互时,界面操作员仍然发挥重要作用。关键在于系统能够智能选择最适合的方法,而不是盲目坚持某一种方式。

这种混合策略的优势在实验结果中得到了充分体现。在OSWorld基准测试中,CoAct-1在操作系统级任务中达到了79.16%的成功率,在多应用协同任务中达到43.73%,在电子邮件处理任务中达到80.00%。这些数据表明,程序化方法在适合的场景中能够显著提升任务完成率。

三、实验验证:在真实环境中的卓越表现

为了验证CoAct-1的实际效果,研究团队选择了OSWorld这个业界公认的权威测试平台。OSWorld就像一个专门为电脑助手设计的"驾照考试场",包含369个不同难度和类型的任务,涵盖了日常办公中可能遇到的各种情况。

这个测试平台的设计非常贴近真实使用场景。每个测试任务都从一个确定的系统状态开始,就像给每个考生提供相同的起始条件。任务描述使用自然语言,模拟用户的真实需求,比如"将图片调整为512×512像素并导出为PNG格式"这样的指令。更重要的是,系统使用规则化的评估器来判断任务是否成功完成,确保评分的客观性和一致性。

在与当前最先进系统的对比中,CoAct-1展现出了明显的优势。在100步限制的测试中,CoAct-1达到了59.93%的成功率,而之前的最佳系统GTA-1只有53.10%。更令人印象深刻的是,在更宽松的步数限制下,CoAct-1的成功率进一步提升到60.76%,创造了新的纪录。

这种性能提升在不同类型的任务中表现各异,这恰好验证了混合策略的有效性。在LibreOffice Calc电子表格任务中,CoAct-1的成功率达到70.21%,远超GTA-1的59.57%。在多应用协同任务中,性能提升更加显著,从GTA-1的38.34%跃升到CoAct-1的47.88%。这些结果表明,程序化方法在数据处理和跨应用操作方面具有显著优势。

特别值得注意的是效率方面的改进。CoAct-1完成任务的平均步数仅为10.15步,相比GTA-1的15.22步减少了约33%。这种效率提升不仅意味着更快的任务完成速度,也大大降低了出错的可能性。因为每减少一个操作步骤,就减少了一次可能的失误机会。

研究团队还深入分析了不同领域任务中代码使用的情况。结果显示,在LibreOffice Calc、多应用任务和操作系统级任务中,大部分成功案例都使用了编程方法。这说明对于涉及数据处理、文件操作和系统配置的任务,代码执行确实比界面操作更加可靠和高效。

然而,CoAct-1的成功并不意味着完全抛弃界面操作。在某些类型的任务中,比如图像编辑软件GIMP的使用,界面操作仍然占据重要地位。这证明了系统设计的合理性:不是简单地用一种方法替代另一种,而是根据任务特点选择最合适的方法。

实验中还发现了一个有趣的现象:任务失败率与所需步骤数呈正相关关系。步骤越多的任务,失败的可能性就越大。这从另一个角度证实了CoAct-1设计理念的正确性:通过减少操作步骤来提高整体成功率。

研究团队进一步测试了不同模型组合对系统性能的影响。结果显示,使用更强大的模型作为编排者和程序员助手能够显著提升整体性能。当使用OpenAI的o3模型作为编排者,o4-mini模型作为程序员助手时,系统达到了最佳的60.76%成功率。这表明系统的性能上限还有进一步提升的空间。

四、实际应用中的挑战与解决方案

尽管CoAct-1在测试中表现优异,但研究团队也诚实地分析了系统在实际应用中可能遇到的挑战。这些挑战主要集中在两个方面:高层次查询的理解和模糊指令的处理。

高层次查询的挑战就像让助手理解含蓄的暗示。比如用户说"请帮我修改VSCode设置,让我在调试时光标能保持在调试控制台,而不是自动跳回编辑器"。这个请求看起来很具体,但实际上需要助手理解几个隐含的概念:调试过程、光标焦点、界面切换等。更困难的是,助手需要将"调试"概念与"断点"设置联系起来,找到正确的配置项"focusEditorOnBrake"。

在这个案例中,编排者将任务分配给了程序员助手,程序员助手尝试通过搜索"debug"和"console"关键词来找到相关设置。然而,它没能建立起调试和断点之间的概念联系,最终没有找到正确的配置项。这个失败案例揭示了当前AI系统在概念推理方面的局限性。

类似的情况在人类交流中也经常出现。当我们说"把空调调凉快点"时,熟悉我们习惯的人知道这意味着降低温度设定值,而不是增加风速或改变模式。但对于不了解背景的人来说,这个指令可能有多种理解方式。CoAct-1面临的正是这样的挑战:如何在缺乏充分背景信息的情况下正确理解用户意图。

模糊指令的处理则是另一类挑战。用户说"请帮我修改VSCode设置,隐藏资源管理器视图中所有的'__pycache__'文件夹"。这个指令本身是明确的,但存在歧义:是修改工作区设置还是全局用户设置?程序员助手成功识别了需要修改设置文件,但错误地选择了工作区设置而不是全局设置,导致任务失败。

这种歧义在日常交流中非常常见。当朋友说"帮我买点水果"时,我们可能需要询问买什么种类、多少数量、预算多少等具体信息。但在人机交互中,用户往往期望系统能够智能推测这些细节,或者至少能够选择最合理的默认选项。

为了应对这些挑战,研究团队提出了几个改进方向。首先是增强系统的概念推理能力,让它能够建立更丰富的概念关联。比如在处理开发环境设置时,系统应该了解调试、断点、编辑器焦点之间的关系。其次是改进歧义处理机制,当遇到模糊指令时,系统应该能够识别歧义点并选择最合理的解释,或者主动向用户询问澄清。

研究团队还注意到,不同类型的任务对这两种挑战的敏感性不同。涉及专业领域知识的任务更容易遇到概念理解问题,而日常办公任务更多面临指令歧义的挑战。这个观察为系统优化提供了有价值的方向:可以针对不同任务类型开发专门的处理策略。

尽管存在这些挑战,CoAct-1在大多数测试案例中的成功表现表明,混合策略的基本思路是正确的。系统的失败往往不是因为选择了错误的执行方式(界面操作vs编程),而是因为对任务需求的理解不够准确。这说明未来的改进重点应该放在提升任务理解和意图识别能力上。

五、技术架构的精巧设计

CoAct-1的技术实现就像精密手表的内部结构,每个组件都有明确的功能,同时又完美协调运作。整个系统基于AG2框架构建,这是一个专门为多智能体协作设计的平台,为不同角色之间的通信和协调提供了稳定的基础。

系统的内存管理机制特别值得关注。每个智能体都维护着自己的对话历史,就像每个专家都有自己的工作笔记。编排者保存着所有任务分配和执行结果的记录,程序员助手记录着代码编写和调试的完整过程,界面操作员则保留着屏幕操作的历史。这种分布式内存设计确保了每个智能体都能专注于自己的职责,同时避免了信息混乱。

更巧妙的是系统的内存清理机制。每当一个子任务完成后,程序员助手和界面操作员的对话历史会被清空,让它们能够以全新的状态接受下一个任务。这就像专业工人完成一道工序后清理工作台,为下一道工序做准备。这种设计避免了历史信息的干扰,确保每个子任务都能得到专注的处理。

系统的通信机制也经过精心设计。当程序员助手完成任务时,会生成一个简洁的总结报告给编排者,而不是原始的技术细节。这就像项目团队中,技术专家向项目经理汇报时会使用管理语言而不是技术术语。这种分层通信确保了不同角色之间能够有效交流,同时避免了信息过载。

研究团队在模型选择上也进行了仔细的考量。编排者使用OpenAI的o3模型,这是一个在推理和规划方面表现优秀的模型,能够准确理解复杂任务并做出合理的分解决策。程序员助手使用o4-mini模型,在代码生成方面有着出色的表现,同时保持了良好的成本效益平衡。界面操作员则使用专门为计算机操作优化的computer-use-preview模型,这个模型在视觉理解和界面交互方面有着特殊的优势。

系统还实现了灵活的参数配置。程序员助手最多可以进行20轮代码调试,界面操作员最多执行25个操作步骤,编排者最多进行15轮任务分配。这些限制既确保了系统不会陷入无限循环,又为复杂任务留出了足够的操作空间。理论上,系统的最大步数上限是375步,但实际使用中很少接近这个极限。

代码执行环境的设计也体现了实用性考虑。系统支持Python和Bash脚本执行,这两种语言覆盖了大部分系统操作和数据处理需求。代码执行采用远程服务器模式,既保证了安全性,又提供了充足的计算资源。执行结果会实时返回给程序员助手,支持错误诊断和代码修正。

特别值得一提的是系统的容错设计。当代码执行出现错误时,程序员助手不会简单地放弃,而是会分析错误信息并尝试修正代码。这种多轮调试机制大大提高了代码执行的成功率。同样,当界面操作遇到困难时,操作员也会尝试不同的方法来完成任务。

系统的可扩展性设计为未来的功能扩展留下了空间。新的智能体类型可以很容易地加入到系统中,比如专门处理数据库操作的智能体或专门处理网络请求的智能体。编排者的决策逻辑也可以根据新的智能体类型进行相应调整。

六、突破性成果带来的深远影响

CoAct-1的成功不仅仅是技术指标上的突破,更代表了人机交互方式的根本性变革。这种变革的影响将逐渐渗透到我们工作和生活的各个方面。

在办公自动化领域,CoAct-1展示了一种全新的可能性。传统的办公自动化工具通常需要用户学习复杂的配置方法,或者局限于预设的功能模板。而CoAct-1能够理解自然语言描述的任务需求,自动选择最佳的执行方式。这意味着普通用户无需掌握编程技能,就能享受到程序化处理的高效和准确性。

这种能力对中小企业特别有意义。很多中小企业缺乏专业的IT人员,但又有大量重复性的办公任务需要处理。CoAct-1这样的系统能够充当虚拟的IT助手,帮助这些企业实现办公流程的自动化,提高工作效率,降低运营成本。

在教育领域,CoAct-1也显示出巨大的潜力。学生可以通过自然语言与系统交互,完成各种学习任务。比如整理研究资料、生成学习报告、处理实验数据等。系统不仅能完成具体的任务,还能通过执行过程展示问题解决的思路和方法,具有很强的教学价值。

更重要的是,CoAct-1代表了AI系统从单一模态向多模态融合的重要转变。传统的AI系统要么专注于语言理解,要么专注于视觉识别,要么专注于代码生成。CoAct-1成功地将这些能力整合在一个统一的框架中,根据任务需求动态选择合适的能力组合。这种设计思路为未来的AI系统发展提供了重要的参考。

从技术发展的角度来看,CoAct-1验证了多智能体协作的有效性。与试图构建一个"万能"AI系统相比,让多个专门化的AI系统协作可能是一个更现实和更有效的路径。这种思路符合人类团队协作的模式,也为AI系统的可扩展性和可维护性提供了更好的解决方案。

系统的高效性也具有重要的环境意义。通过减少任务完成所需的步骤,CoAct-1不仅节省了时间,也减少了计算资源的消耗。在大规模应用时,这种效率提升能够显著降低能源消耗和碳排放,符合可持续发展的要求。

然而,这种技术进步也带来了新的思考。随着AI系统变得越来越能干,我们需要重新考虑人机分工的边界。CoAct-1能够完成很多原本需要专业技能的任务,这可能会改变某些职业的技能要求。同时,我们也需要思考如何确保AI系统的决策过程是透明和可控的,特别是在处理重要或敏感任务时。

安全性是另一个需要持续关注的问题。CoAct-1具有执行代码的能力,这在提供强大功能的同时,也带来了潜在的安全风险。研究团队采用了远程执行环境来隔离风险,但在实际部署时还需要更完善的安全措施和监控机制。

展望未来,CoAct-1的成功为更多领域的应用打开了大门。在智能家居、工业自动化、医疗健康等领域,都可能出现类似的混合智能系统。这些系统将能够更自然地理解人类需求,更灵活地选择执行方式,更可靠地完成复杂任务。

说到底,CoAct-1最大的价值在于它证明了一个重要观点:AI系统不需要追求单一维度的极致表现,而应该追求在实际应用中的综合效果。通过巧妙地结合不同方法的优势,我们能够创造出更实用、更可靠的AI助手。这种设计哲学将继续指导未来AI系统的发展方向,让人工智能真正成为提升人类生活质量的强大工具。

对于普通用户而言,CoAct-1代表的不仅仅是一个更好的工具,更是一种全新的工作方式。我们不再需要迁就工具的限制,而是可以用自然的方式表达需求,让智能系统来选择最佳的实现方法。这种改变将让技术真正服务于人,而不是让人适应技术。随着这类系统的不断完善和普及,我们有理由相信,未来的人机协作将变得更加自然、高效和愉快。

Q&A

Q1:CoAct-1与传统电脑助手有什么区别?

A:传统电脑助手只能通过点击鼠标和键盘输入来操作界面,就像只会按图索骥的新手。而CoAct-1不仅能进行界面操作,还能编写Python和Bash代码直接与系统交互,就像一个既会用图形界面又会编程的高手,能根据任务特点选择最合适的方法。

Q2:CoAct-1在实际测试中表现如何?

A:在OSWorld权威测试平台上,CoAct-1创造了60.76%的新纪录,远超之前最佳系统GTA-1的53.10%。更重要的是,CoAct-1完成任务的平均步数仅为10.15步,比GTA-1的15.22步减少了约33%,既提高了成功率又提升了效率。

Q3:CoAct-1如何决定用界面操作还是编写代码?

A:CoAct-1有一个"编排者"角色充当智能指挥官,它会分析任务特点并做出决策。对于数据处理、文件管理等重复性任务,会选择编程方式;对于需要精确视觉判断的任务,会选择界面操作。这种智能选择让系统在不同场景下都能发挥最佳效果。