Cursor优化agent harness,称用户token成本降低 7%
Cursor在官方博客中称,通过裁剪系统提示词、按需加载工具定义、改进缓存复用、压缩文件读取行号、调整子代理策略五方面改动,agent运行的token成本下降 7%,且未降低agent质量。
AI解读:最直接受益的是长时间跑的agent用户。Cursor说,随着agent任务变重、跨步骤携带的上下文变多,系统提示词和工具定义这类固定开销占比越来越大——而这部分开销是Cursor自己可控的。
具体做法包括:把系统提示词裁掉约 66%;把使用率不足 20% 对话的内置工具改为按需加载;利用OpenAI GPT-5.6之后API支持的显式缓存断点,把冷缓存未命中率降低 20%;文件读取行号改为每十行标注一次,缓存读取token减少 1.6%;并调整了对子代理的提示和选模型逻辑。
对普通Cursor用户来说,这意味着同样的任务花更少的token额度,不需要改自己的工作方式。但 7% 是Cursor自己对整体用户的统计,博客没有给出分场景数据,也没有公开质量评测的细节,实际节省幅度会因任务类型而异。
Cursor提到MCP工具动态加载此前已让调用MCP工具的会话总token减少 46.9%,这次是把同一思路用到了内置工具上。可以推断,工具越多、上下文越长的任务,受到的正面影响可能越明显,而短任务本来就没什么可省的。
Cursor在官方博客中称,其agent harness的一系列改动让用户token成本降低了 7%,且没有降低agent质量。
博客说明,这些改动分布在五处:修剪系统提示词、按需加载工具定义、改进缓存复用、压缩文件读取开销、调整子代理使用策略。
为什么现在要省token
Cursor称,随着agent承担的任务更复杂,token花费结构发生了变化:agent运行时间更长,并且会把更多上下文从一步带到下一步,因此上下文的组装和管理方式变得更重要。
在这类长任务中,每轮都随请求发送的系统提示词和工具定义,成为Cursor可以完全控制的较大开销来源。
系统提示词裁掉约 66%
Cursor表示,以往模型能力较弱时,需要详细写明工具使用、任务管理和代码修改流程,还要防范极长hash输出、二进制输出和emoji等异常行为。
随着模型变强,这些冗长指令变得不再必要。Cursor改为直接定义工具行为,模型通常就会遵守,这一做法在不同模型家族上都成立,因此将系统提示词裁剪了约 66%。Cursor补充说,它仍会随着新模型的需要增删指令。
工具定义改为按需加载
Cursor称,工具定义在一年间随背景shell监控、云子代理、更可靠的网页内容访问等能力加入而大幅增长,但其中多数工具只在不到 20% 的对话中被用到。
Cursor此前已将MCP工具移入动态上下文、只在需要时加载,这让调用MCP工具的会话总token减少 46.9%。现在它把同样方法用在内置工具上,通过A/B测试决定哪些工具留在静态上下文:保留读取、搜索、编辑、shell等高频工具,以及部分模型容易幻觉调用的ask_question和Plan Mode中的create_plan等特定流程必需工具,其余工具改为按需加载。
Cursor称,测试期间追踪了token用量、成本、延迟、工具调用错误和整体agent使用情况,以确保省下的token没有以质量为代价。
利用显式缓存断点,冷缓存未命中减少 20%
Cursor说,每一轮agent请求都会重发包含工具、系统指令、初始设置和已有对话的长请求,开头部分大多不变,末尾的对话持续增长。提示缓存允许模型提供商复用未变化的前缀,但缓存的可配置程度因提供商而异。
Cursor称,在GPT-5.6之前,缓存边界由最新请求自动决定,工具和系统指令虽然很少变化,却没有被单独标记为可复用。GPT-5.6起,OpenAI API允许客户端在默认隐式缓存之外标记显式缓存断点。Cursor现在把断点放在请求中稳定层之后、增长中的对话之前,让后续轮次复用更多未变化前缀。
Cursor还收紧了请求前部的内容:工具和系统指令只保留很少变化的部分,把技能、子代理、环境信息等更易变的设置移到缓存边界之后的“phantom user message”中。Cursor称这些改动把冷缓存未命中率降低了 20%。
文件行号每十行标一次,子代理不再被强推
Cursor称,agent通过Read工具读取文件,传统上会给每一行编号,因为模型不擅长自己数行、且需要为用户引用具体位置。单个行号只占约 3 到 5 个token,但一次会话读取数万行时,逐行编号会带来明显开销。Cursor改为只给每第十行标号,称这仍足够让模型正确引用代码,缓存读取token因此减少 1.6%,质量没有下降。
在子代理方面,Cursor称每个子代理通常以全新的上下文窗口开始,汇报结果后父agent可以不带其完整工作上下文继续,从而省token;但上下文隔离会带来协调成本,可能重复工作或执行不再必要的任务。
Cursor做了两处调整:移除强烈鼓励agent用子代理探索代码库的指令——因为子代理在训练数据中更常见、研究人员已将其纳入后训练,模型已自然学会该模式,去掉额外提示后子代理使用更均衡;同时收紧子代理的模型选择,规定只有用户或harness指示时才换用不同模型。
后续计划
Cursor表示会继续测量长任务中上下文如何累积,并测试harness在哪些环节可以减少重复处理而不影响agent质量,预期token用量增速将远低于agent可完成工作量的增速。博客还提到,这些经验已被用于Grok Bot,Cursor正为其独特的harness做优化。
需要说明的是,以上内容基于Cursor官方博客,其中 7% 成本下降、66% 提示词裁剪、46.9% MCP会话token减少、20% 冷缓存未命中下降和 1.6% 缓存读取token减少等数字均为Cursor自行披露。