扩展我们的长时间运行 Agent 研究预览
Cursor 的长时间运行 Agent 研究预览现在已在 cursor.com/agents 向所有 Ultra、Teams 和企业用户开放。
长时间运行 Agent 是我们在自主处理更宏大项目的 Agent 上开展研究的成果,其中包括我们上个月分享的这篇文章:Cursor 如何构建一个网页浏览器。
在那次实验中,我们观察到前沿模型在长周期任务上会以可预测的方式失败。我们通过构建一个自定义执行框架来应对这些限制,让 Agent 能够承担更困难的工作并将其执行到底。
我们在上周以研究预览的形式发布了这个执行框架的一个版本。结果表明:由长时间运行 Agent 生成的 PR 规模显著更大,合并率与其他 Agent 相当。


在与参与研究预览的用户交流时,我们了解到,长时间运行 Agent 成功完成了一系列以往对 Agent 来说难以企及的任务。下面是研究预览中的几个运行示例:
- 构建一个全新的聊天平台,并与现有的开源工具集成(运行时长:36 小时)
- 基于现有 web 应用构建一个移动应用(运行时长:30 小时)
- 重构一个认证和 RBAC 系统(运行时长:25 小时)
让模型更强大
要成功完成困难任务,需要最前沿的智能和合适的编排方式。通过使用每一种前沿模型,并为每个模型构建定制的 harness,我们处在一个独特的位置,可以搭建起最优的“脚手架”,充分发挥不同模型的优势。我们发现,有两条通用原则能帮助我们取得更好的效果。
执行前先规划
当你直接与模型迭代时,紧凑的提示-响应循环可以让你监控 agent,并在需要时轻推一下,把它拉回正确轨道。但当 agent 自主去处理一个更大的任务时,一个略微错误的假设,最终可能演变成完全错误的解决方案。
Cursor 中的长时间运行 agent 会先提出一个计划并等待批准,而不是立刻开始执行,因为它们认识到,前期对齐可以减少后续来回沟通的需求。
把任务真正做完
前沿模型可以写出优秀的代码,但它们往往会忘记任务的整体目标,搞丢自己在做什么,或者只做到一半就停下。
长时间运行 agent 会基于一个计划,并让多个不同的 agent 互相检查彼此的工作,从而把更大、更复杂的任务真正执行到底。
迄今为止的发现
参与研究预览的早期用户使用长时间运行代理来实现大型功能、重构复杂系统、修复棘手的 Bug、彻底优化性能,并创建高覆盖率测试。
我已经完成了两次架构层面的全面改造。对于那种‘我不确定这是不是可行,但我很好奇想看看’类型的工作来说,这是一款非常神奇的工具。我可以并行跑五个任务,从创建 Mac 窗口管理器到把 CEF 塞进 Tauri 都可以。
这些代理通常会运行超过一天,生成的 PR 往往只需要极少的后续工作就能合并。用户可以离开,专注于其他工作,合上笔记本电脑,然后回来就能看到已经可用的解决方案。
我原本计划这个项目要花整整一个季度才能完成。用了 Cursor 的长时间运行代理后,这个时间线被压缩到只需要几天。而且我还能再做两三个额外的项目。我可以启动一个 52 小时的任务,完全不用看着它跑,回来时就能看到一个包含 151k 行代码的大 PR。
与同步代理相比,长时间运行代理在处理问题时更为全面,写出的代码也更接近生产可用。
这个新框架的神奇之处在于,它能让同一个模型把东西打磨到可直接上线的程度。我用同一个修 Bug 的提示词分别在本地和长时间运行代理上做了对比测试,两边都用了 Codex 5.3。本地代理修得很快,但长时间运行代理走得更远,找出了边界情况,修复了类似的问题,还创建了高覆盖率测试。
在 Cursor 中使用长时间运行的 Agent
在过去一个月里,我们在内部不断测试长时间运行 Agent 的上限。我们既把它们用于探索性实验,看看能被推到多远,也把它们用在 Cursor 本身的生产工作上。下面是我们交给长时间运行 Agent 的一些任务,这些改动现在都已经合并进代码库。
视频渲染器优化
我们让一个 Agent 优化一个在部署中成为性能瓶颈的视频渲染器。它完成了将其整体迁移到 Rust,并实现了自定义内核,只基于原始逻辑就复现了完全一致的视觉输出。
针对沙盒代码的策略驱动网络访问
我们需要基于 JSON 的网络策略控制,以及一个用于沙盒进程的本地 HTTP 代理。这个代理需要在多种协议下保持正确行为、一致地执行策略,并且在失败时要安全,不能放行被屏蔽的流量。长时间运行的 Agent 创建了一个一万行的 PR,在我们用大型测试套件对其进行验证时,几乎没有发现问题。后续工作主要是补充我们在最初需求中没有明确提出的改动。
Cursor CLI 的 sudo 支持
有些任务一遇到 sudo 就会让 CLI Agent 出错,尤其是和系统管理或运维相关的任务。我们让一个长时间运行的 Agent 实现安全的 sudo 密码输入交互,这需要把多个子系统串联起来,并推理处理 Unix 认证流程。它产出了一个可用的实现,现已被 Cursor CLI 采用。
迈向自动驾驶代码库
Cursor 中的长期运行 Agent 是通往自动驾驶代码库道路上的早期里程碑,在这种形态下,Agent 能以更少的人为干预处理更多工作。你现在可以把更大的任务委托给它们,数小时甚至数天后再回来,就能看到可用的解决方案。
我们正在改进长期运行 Agent 之间的协作能力,使它们能够把更大的项目拆分为并行的工作流,以更少的人为干预承担更具雄心的项目。
我们也在开发新工具,以应对如今被大量生成的代码。随着代码生成成本持续降低,我们需要采用新的方法,将这些代码安全地部署到生产环境中。
立即在 cursor.com/agents 体验长期运行 Agent。