Aioga
AI资讯 / 行业动态
返回 AI资讯

Cursor 提升 agent 长时运行 token 效率,用户成本降低 7%

Cursor BlogAioga 编辑团队2026-09-23T12:00:00.000Z热度 72

Cursor 通过改进 agent harness,在不降低 agent 质量的情况下将用户 token 成本降低 7%。

行业动态Cursor Blog

今日 AI 情报摘要

Cursor 通过改进 agent harness,在不降低 agent 质量的情况下将用户 token 成本降低 7%。

中文正文 · AI 翻译

随着智能体的成熟并学会处理更有挑战性的任务,代币消耗发生了变化。智能体现在可以工作更长时间,并在各步骤之间保留更多上下文,这使得我们组装和管理上下文的方式变得越来越重要。

生产流量 · 宽度 = 总支出的占比 · 阴影 = 计费类型

说明:系统和工具定义包括压缩摘要。用户文本包括手动附加的技能。技能和插件包括技能描述、MCP工具描述以及静态上下文中的规则。

在过去几个月中,我们通过提高Cursor智能体管理机制的效率来应对这一变化。该管理机制让我们可以直接控制每个请求的组装方式、上下文的重用方式以及任务在智能体之间的分配时机。各层的改变使用户的代币成本降低了7%,而不降低智能体的质量。

每次智能体回合都包括Cursor在模型开始工作前提供的上下文。这包括系统提示和智能体可以使用的工具定义。由于该上下文在整个对话中都会被引用,它已成为我们完全掌控的最大支出来源之一。

当模型能力较低时,我们必须详细说明工具使用、任务管理和代码修改工作流的指令。我们还必须防范异常行为,例如极长的哈希转储、二进制输出和表情符号。

随着模型能力的提升,这些指导中的大部分变得不再必要。我们不再需要长长的“不要做这个”、“必须”、“重要”等指令列表,而是可以简单地定义工具的行为,模型通常会遵守。这在各模型家族中都是适用的,使我们大约削减了66%的系统提示。

随着时间推移,我们会在新模型需要新指导时不断添加和删除指令,这些变动随后会影响未来模型的训练。在大规模用户群中利用A/B测试对于有效优化管理机制以应对真实流量至关重要。虽然评测可以是快速且有用的代理方法,但它们通常代表“困难”问题,并不能准确反映用户请求的真实分布。

系统提示只是光标每次交互提供的上下文的一部分。另一部分是工具定义,随着我们为 Cursor 代理添加了更强大的功能,包括后台 shell 监控、云子代理以及更可靠的网页内容访问,这些工具定义在一年中急剧增加。这些工具大多数都很重要,但每个工具在对话中使用的频率不到 20%。

这就提供了一个提高效率的机会——保持工具可用,而无需在每次请求中包含它们的完整定义。今年早些时候,当我们将 MCP 工具移入动态上下文,仅在需要时加载它们时,曾解决过类似问题。这在调用 MCP 工具的会话中,总 token 数降低了 46.9%。

我们现在已经将同样的技术应用到我们自带的工具上。

为了决定哪些工具保留在静态上下文中,我们基于每个工具的使用频率以及模型是否需要从一开始就看到它,进行了多种配置的 A/B 测试。我们跟踪了 token 使用、成本、延迟、工具调用错误和整体代理使用情况,以确保节省不会降低质量。

每个代理对话中至少调用一次的工具占比

最终,我们保留了在静态上下文中用于阅读、搜索、编辑和使用 shell 的高频工具。我们还保留了 ask_question 工具,因为某些模型容易出现幻觉性调用,以及在特定产品流程中至关重要的工具,例如 Plan 模式下的 create_plan。其余工具现在在代理需要时加载。

在减少每次请求中静态上下文的数量之后,我们改进了跨轮次有效缓存重复上下文的方式。

每次代理交互都会重新发送包含工具、系统指令、设置和当前对话的长请求。开头的大部分内容在每轮之间保持不变,而最后的对话部分持续增长。

提示缓存允许模型提供方重用未变化的前缀。然而,缓存的可配置性因提供方而异。在 GPT-5.6 出现之前,缓存边界是根据最新的请求自动确定的。尽管工具和系统指令很少改变,但它们本身并未被明确标记为可重用。

自 GPT-5.6 起,OpenAI API 允许客户在默认的隐式缓存旁边标记显式缓存断点。我们现在将断点放在请求的稳定层之后以及不断增长的对话之前,这样后续的对话轮次可以重用更多未更改的前缀。

Diagram showing explicit cache breakpoints separating stable request context from the growing conversation
Diagram showing explicit cache breakpoints separating stable request context from the growing conversation

断点只有在前缀本身保持稳定时才有帮助,因此我们还加强了每个请求前部的内容管理。我们通过为很少更改的内容保留工具和系统指令,并将更多可变的设置移到缓存边界之外的“虚拟用户消息”中来实现这一点。这里保存了用户和请求特定的上下文信息,如技能、子代理和环境信息。

这些更改将冷缓存未命中率降低了 20%。

另一个大量消耗令牌的来源是代理在工作中添加的上下文,其中大部分来自读取文件。

Cursor 的代理通过读取工具(Read tool)读取文件,该工具传统上会对每行进行编号,因为模型自身不擅长计算行数,并且需要为用户引用特定部分。

单行编号只使用大约三到五个令牌,但当代理在一次会话中读取数万行时,对每行进行编号会增加显著的上下文量。

我们通过每隔十行才编号一次来减少这种开销。这对于模型正确引用代码仍然足够频繁,而且此更改将缓存读取令牌减少了 1.6%,且没有降低质量。

更长时间的代理运行提供了更多将工作委派给子代理的机会。这可以减少令牌消耗,因为每个子代理通常从一个新的上下文窗口开始,而不是携带父代理的完整对话。一旦它报告结果,父代理可以继续工作,而不需要携带子代理的完整工作上下文。

不过,这种代理与子代理之间的上下文隔离确实带来协调成本,因为不共享上下文的代理可能会重复工作或执行不再必要的任务。

我们做了两项更改,以在不增加不必要协调的情况下捕捉效率优势。首先,我们删除了强烈鼓励代理使用子代理进行代码库探索的指令。随着子代理在训练数据中变得更加普遍,并且研究人员在后训练中将其纳入,模型能够自然地学习这一模式。去掉额外的提示产生了更平衡的子代理使用。

我们还收紧了子代理选择模型的方式。Cursor 可以使用我们提供的任何模型生成子代理,这使得在模型间弥补盲点或将一个昂贵的规划模型与一个便宜的实施模型配对成为可能。我们更新了工具参数,以便代理仅在用户或框架指示时选择不同的模型。

我们将继续衡量上下文在较长运行中如何积累,并测试框架在不影响代理质量的情况下如何减少重复处理。随着时间的推移,我们预计这将使令牌使用增长远慢于代理完成工作量的增长。我们还将这些经验应用到 Grok Bot,在那里我们正在优化其独特的框架,以便用户可以以最低成本完成最多工作。

归档于:研究:/博客/主题/研究

作者:Jediah Katz、Connor O’Keefe 和 Calvin Yee

我们如何搭建云端代理环境

我们在构建云端代理过程中学到的经验

情报判断

Aioga 编辑摘要

Cursor 表示,通过改进 agent harness,调整请求组装、上下文复用和任务分工,在不降低 agent 质量的情况下,将用户 token 成本降低 7%。

背景分析

随着 agent 处理更复杂任务、运行时间更长并携带更多上下文,Cursor 将系统提示、工具定义及技能和插件描述视为可优化的上下文成本来源,并称系统提示已缩减约 66%。

Aioga 观点

Aioga 判断:该案例的重点不只是减少提示词内容,而是围绕请求组装、上下文复用和多 agent 分工进行整体优化;质量保持是其成本优化能否成立的关键边界。

影响与后续

可能影响:若类似优化能够持续保持 agent 质量,产品方可能更重视上下文结构和运行时编排;但单一来源的 7%结果不足以代表所有模型、任务或产品都能获得相同收益。 后续观察:应关注 Cursor 是否继续依据模型变化调整指令,并通过真实流量中的 A/B 测试和评估,说明成本变化与 agent 质量之间的关系。

来源与版权说明

本页正文由公开来源页面提取并按原有信息整理,同时保留来源、发布时间和原文入口。版权归原作者及来源网站所有,请通过原文链接核验和阅读来源版本。

抓取通道: 摘要聚合 · 原始域名: cursor.com

来源: Cursor Blog

原文链接: 打开原始来源

Aioga 归档: 查看情报页

Content record: source-page · Updated: 2026-09-23T12:00:00.000Z

API 中转站
API RELAY · DEVELOPER INFRASTRUCTURE

API 中转站

统一接入主流 AI 模型 API,为开发、测试与生产环境提供稳定调用入口。

立即访问 api.w173.com
AIOGA SHARE POSTER

分享这篇 AI 情报

Cursor 通过改进 agent harness,在不降低 agent 质量的情况下将用户 token 成本降低 7%。

Cursor Blog2026-09-23T12:00:00.000Z
扫码打开文章详情扫码直达文章详情

Aioga 自动聚合全球 AI 动态,并保留来源信息用于核验与引用。