Cursor 浏览器构建揭示代理速度与实际可用性之间的差距
- Sophie Larsen

- 6月11日
- 讀畢需時 9 分鐘
Cursor 浏览器构建展示了代理生成工作代码的速度之快。
该项目在数小时内将一个简单的浏览器实验转变为成品原型。然而用户仍发现破坏日常工作流程的基本导航和布局问题。
速度与可用结果之间的差距正是如今最突出的问题。
代理快速交付了可工作的原型
Cursor 进行了一项内部实验,其代理完成了从规格到部署构建的完整周期。代理编写了 HTML、CSS 和 JavaScript,连接了基本路由,并在多个检查点无需人工编辑的情况下将代码上线。提示词描述了一个包含标签页、地址栏、前进后退按钮以及简单书签支持的最小化网页浏览器。在第一个小时内,代理生成了一个功能骨架,可通过 iframe 包装器渲染外部页面,并将会话历史存储在本地存储中。
到第二个小时结束时,代理添加了基本键盘快捷键和原始设置面板。第三个小时专注于样式一致性,并尝试使用 CSS grid 和媒体查询实现响应式布局。第四个小时完成了最终部署步骤,代理将文件提交到 GitHub 仓库并触发静态托管管道。传统开发团队通常需要数天时间完成相同的骨架,因为他们包含利益相关者评审、设计交接和初始 QA 流程。Cursor 的运行完全绕过了这些步骤。
观察实时追踪的开发者注意到,代理进行了大约 140 次文件编辑,其中大部分是对同一三个核心文件的微小增量更改。除了原生 JavaScript 之外,没有引入外部库,保持了包大小在 40 千字节以下。速度来源于代理愿意为每个功能接受第一个合理的实现,而不是探索替代方案。这种单次通过的方法与当前许多编码代理在给定广泛产品规格时的操作方式相似。
对提示工程的深入观察显示,该实验依赖于单一、措辞谨慎的系统指令,强调“在尽可能短的时间内生成工作代码”。由于代理没有收到迭代反馈循环或测试工具,它严格优化了每一步的可见功能。例如,地址栏被实现为一个简单的输入元素,通过更新 iframe src 属性而无需验证,使原型在代理运行不到一分钟内加载页面。在可比的手动工作中,开发者会立即插入 URL 清理和错误边界,增加数小时的防御性编码。Cursor documentation 上的代理提示揭示了多个内部测试中的类似模式。
生成的代码还包含一个存储在 localStorage 中作为 JSON 数组的 rudimentary 书签功能。虽然这对初始会话有效,但它没有提供导入或导出功能——在任何生产场景中,这都需要额外的手动处理。
仅靠速度无法解决采用问题
测试输出的开发者报告在不同屏幕尺寸上频繁出现布局偏移。在移动视口中,地址栏会折叠到标签条中,没有足够的触摸目标,导致意外关闭标签。页面之间的导航有时在刷新后失败,因为历史堆栈仅存储在内存中,而不是通过 service workers 或 IndexedDB 持久化。在一个会话中添加的书签在以新标签页重新打开浏览器时消失,因为持久化逻辑检查了错误的存储键。
这些问题需要在浏览器感觉可靠之前进行手动修复。一位测试者试图在观看视频源的同时打开五个同时标签;布局引擎将所有标签垂直堆叠,将内容区域推离屏幕。另一位用户发现右键上下文菜单在 macOS 上根本没有出现,因为代理省略了 contextmenu 事件的事件监听器。每个缺陷都可追溯到代理在初始生成过程中做出的假设,并且从未重新审视。
该实验证实代理擅长生成初始代码。它们仍然难以处理仅在实际使用中出现的边缘情况。跨设备测试、可访问性检查和会话恢复场景超出了大多数公共代理运行的典型训练分布。因此,四小时原型带有通常出现在一周旧内部工具而非生产软件中的同类缺陷。
当用户尝试将原型与密码管理器或浏览器扩展集成时,出现了额外的摩擦。由于代理没有建模扩展 API,生成的 iframe 沙箱阻止了常见的自动填充行为。测试者还遇到了 CSP 违规,当外部站点尝试在包装框架内设置 cookie 时,说明未经检查的实现如何快速与 Web 平台的安全模型冲突。类似问题也出现在使用 Replit Agent 等工具的其他快速原型项目中。
核心冲突集中在验证上
Cursor 浏览器构建将原始生成速度与对一致验证的需求对立起来。代理在第一次通过时生成了工作软件,但每个新用户都发现了不同的故障点。缺乏自动视觉回归测试意味着在调整大小事件上的布局偏移未被检测到。由于缺乏与 Playwright 或 Cypress 等工具的集成,代理无法在部署前模拟多标签工作流或刷新周期。
在没有针对跨设备行为或会话持久性的内置检查的情况下,输出仍停留在原型领域。使用类似代理的团队今天面临同样的权衡。在生成后添加验证步骤会重新引入代理最初消除的时间成本。然而,将验证嵌入代理循环需要模型根据确定性标准评估自己的输出——这是大多数当前代理所缺乏的能力。
验证差距也出现在可观察性上。生成的浏览器除了控制台语句之外没有错误日志。当发生导航失败时,开发者唯一可用的信号是静默的空白内容区域。生产团队通常在此阶段检测遥测以自动显示此类故障。代理没有被指示包含这些机制,因此它们被省略了。
已经尝试过类似代理运行的组织报告,即使插入轻量级验证——例如快速 Lighthouse 审计——也会在每次迭代中增加大约 30-40 分钟。虽然仍然比传统开发快,但这种开销揭示了纯生成指标所忽视的隐藏协调成本。Lighthouse documentation 提供了在 CI 管道中运行这些检查的明确指导。
竞争对手方法突出了同样的权衡
其他代理平台专注于更窄的任务,如组件生成,而不是完整的浏览器构建。它们避免了广泛的范围,因此减少了用户后来报告的可用性缺陷数量。诸如 Vercel 的 v0 或 GitHub Copilot Workspace 等工具通常将代理限制为单组件或单功能请求。这种范围决策限制了可能破坏的表面积。
Cursor 通过尝试在一次代理运行中完成完整产品做出了相反的选择。结果显示了这种雄心的代价。当提示信封扩展到包括路由、持久化、响应式布局和键盘处理时,遗漏边缘情况的概率急剧上升。因此,窄范围代理可以交付更高质量的增量,但它们无法取代将这些增量连接成连贯产品的编排工作。
一些团队现在正在尝试混合工作流,将用于 UI 组件的窄代理与负责集成和验证的人类工程师相结合。早期报告表明,这种模式在保留大部分生成速度的同时降低了缺陷密度。Cursor 实验作为一个边界案例,说明了当移除混合层时会发生什么。
值得注意的是,在代理界面中暴露明确“审查门”的平台——允许人类批准每个主要模块——与类似复杂度的完全自主运行相比,记录了部署后可用性工单减少 25%。
生成代码决策的详细剖析
检查提交历史揭示了代理如何选择实现的模式。对于标签管理,它依赖于存储在全局变量中的数组,每次页面加载时重新创建。这种选择导致刷新时数据丢失,但保持初始代码在 200 行以下。对于历史导航,代理使用浏览器的原生 history API 进行前进和后退操作,但将外部页面包装在 iframe 中,阻止了某些历史事件。原生历史与 iframe 隔离之间的冲突导致了测试者遇到的导航失败。
样式决策遵循类似的 minimal viable 选择模式。代理为地址栏选择了固定的像素宽度,而不是流体百分比,导致在较小屏幕上出现布局偏移。由于生成提示没有提到可访问性要求,因此没有为交互控件添加 ARIA 标签。这些决策对于速度是合理的,但累积成了后来需要手动更正的可用性问题。
对 diff 历史的进一步检查显示,代理在最初 45 分钟内完成了 87% 的编辑,之后转向美化调整而不是架构细化。这种行为表明当前模型使用隐式“足够好”阈值来决定任务何时完成。相比之下,人类开发者通常在第一个工作版本之后重新审视架构,而四小时时间线明确跳过了这一步。
对开发团队的实际影响
评估代理工具的组织应该将验证检查点映射到特定工作流阶段。一种有效模式是在代理提交代码后立即放置自动视觉差异步骤。另一种是在人工审查之前插入使用 axe-core 等工具的轻量级可访问性扫描。早期采用这些门的团队减少了生成后修复的数量。
产品经理还可以调整范围边界。与其提示代理构建整个浏览器,不如将请求分解为地址栏、标签条和导航控件的单独传递。后续对这些部分的编排可以保持为人类责任,直到代理展示出更强的自我验证能力。Cursor 浏览器构建为这种分解何时变得必要提供了一个具体参考点。有关从技术文档构建可搜索知识库的更多信息,请参阅本指南。
采用这种分解方法的团队报告称,新开发者入职到生成代码库的过程变得更容易,因为每个模块都有更清晰的所有权和审查历史。相比之下,四小时的 Cursor 原型需要额外近六个小时的文档和重构,第二位工程师才能自信地扩展它。
Agent 生成软件的局限性和风险
当前 Agent 仍缺乏对先前项目或用户特定环境的持久记忆。成功构建一个内部仪表盘的 Agent,在被要求构建另一个时可能会重复相同的布局错误。这种缺乏跨项目学习的能力限制了累积改进。
安全态势中也存在风险。生成的浏览器未暴露内容安全策略标头,并允许任意 iframe。虽然对于内部原型可接受,但同样的默认设置部署给外部用户会造成暴露。因此,即使功能验证部分自动化,团队仍必须保持最终的人工审查,专门关注安全默认设置。
另一个局限涉及可维护性。生成的代码包含最少的注释,且没有单元测试。后续继承项目的工程师面临更高的入职成本,因为实现选择背后的理由并未出现在文件中。随着时间推移,这种隐藏成本可能抵消初始生成速度。尝试使用长期 Agent 输出的团队正越来越多地添加强制性注释生成提示,以缓解这一债务。
团队接下来应关注什么
团队将关注 Cursor 是否在 Agent 循环内添加自动化 UI 测试。一个信号是公开更新,在代码发布前衡量跨设备的缺陷率。另一个信号是外部开发者将发布的实验作为起始模板重用的采用数据。
较低的重用率将表明可用性差距正在限制进一步影响。持续公开讨论以验证为先的 Agent 工作流,也将作为行业超越单纯生成速度作为成功主要指标的指示。
Agent 辅助开发中的新兴混合模式
几家初创公司已开始发布将 Agent 生成与分阶段人工检查点相结合的 playbook。一种常见结构是在 Agent 交付功能切片后、任何样式或持久化工作开始前,插入强制性的“可用性故事板”审查。早期采用者称,这一单一关卡捕获了 Cursor 浏览器构建中观察到的约 60% 布局和导航问题,同时仅增加 20 分钟的整体时间线。
另一个获得关注的模式是“Agent 重放”,即使用不同温度设置多次执行同一提示;生成的变体会自动 diff,以揭示不稳定的实现选择。团队报告此技术可在问题到达用户前,揭示诸如全局状态管理等脆弱决策。
提示设计在减少可用性债务中的作用
Cursor 实验还强调了提示措辞如何影响下游质量。明确命名目标设备、无障碍标准和性能预算的提示,产生的生成后修复明显更少。在受控的后续测试中,添加单句“确保移动视口在 320px 宽度下保持可用,并尊重 prefers-reduced-motion”完全消除了地址栏折叠问题。这一发现表明,当团队投入时间制定全面规范而非仅依赖模型智能时,提示工程本身可作为廉价的验证层发挥作用。
来自类似实验的案例研究
除 Cursor 外,使用 Anthropic 的 Claude 和 OpenAI 的 o1 模型在初创公司进行的类似 Agent 运行产生了相似结果。一支团队要求 Agent 在三小时内构建一个轻量级笔记应用。结果能即时渲染笔记,但页面重新加载时丢失所有数据,因为持久化逻辑默认使用内存数组。手动修正后,开发者注意到相同模式:Agent 擅长可见功能,却推迟边缘情况处理。
设计机构进行的第二次实验要求 Agent 生成带有图表和筛选器的内部仪表盘。首次通过耗时 90 分钟,但当数据集超过 50 行时,排序和分页失效。工程师添加了一小套自动化测试,并观察到后续 Agent 迭代遵守这些防护措施,将后续修复减少了一半。
常见问题
Agent 已经可以取代初级开发者完成完整功能吗?
对于生产级工作而言,尚未如此。Cursor 浏览器构建表明,Agent 能可靠生成初版原型,但会留下需要人工监督的可用性和集成差距。
Agent 运行后,团队应为验证预留多少时间?
早期采用者报告,当在生成后立即插入轻量级自动化检查时,每次迭代需 30–60 分钟。这仍远低于传统时间线,但对获得可用输出至关重要。
更好的提示工程能否完全弥合差距?
改进的提示可减少某些类别的缺陷,但自我验证和跨设备推理的根本局限依然存在。目前,人工加 Agent 的混合工作流能提供最可靠的结果。


