听说Cursor最近更新了,原来的薅羊毛方法不再适用了,大家觉得这有什么好的解决办法吗?
大家好,我是十二,专注于分享AI编程相关的内容,欢迎关注我哦。
就在前几天,Cursor推出了最新的OpenAI Codex模型,也就是GPT-5.1-Codex-Max,并且宣布在12月11日之前大家都可以免费使用这个新模型。

此外,Cursor团队还特别撰写了一篇文章,详细介绍为了让GPT-5.1-Codex-Max模型在Cursor上更好地运行,他们做了哪些优化的工作。
这篇文章内容真不错,里面有很多有用的细节,咱们一起来看看吧。
创建稳健的代理工具
在Cursor中,harness是一个非常关键的代理,每个模型都需要根据特定的指令进行微调,以提高输出的质量,避免模型懒惰,以及更有效地使用工具等。
因为模型在训练时接触到的模式各不相同,直接上线可能会出现不适应的情况,所以Cursor团队需要对这些模型进行“本地化调校”。
他们会利用Cursor Bench这样的内部评测体系,不断测试模型,并通过成功率、工具调用能力以及用户反馈来判断模型是否准备好上线。
Cursor团队对Codex做出的关键更新
OpenAI的Codex系列模型是他们最新前沿模型的一些变体,专注于agent的编码场景进行训练。为了让Codex在Cursor中稳定运行,Cursor团队进行了多项针对性的调整。
1. 更接近Shell的使用方式
Codex的训练偏向于CLI/shell的工作流,更习惯通过shell来查找文件、读取文件和进行编辑。
为了避免Codex在Cursor中随意执行shell命令,Cursor团队将工具的名称改得更像shell工具(例如rg),并明确告知模型:如果有可用的工具,应该优先使用这些工具,而不是执行shell命令。
而且Cursor的沙箱机制确保了即便Codex真的执行了shell命令,也不会引发安全问题。这种设计既保留了Codex的习惯,又使得操作更加可控。
2. 控制“推理摘要”
在执行过程中,Codex会输出一些“推理摘要”。Cursor团队希望这些信息既能帮助用户了解进度,又不会太啰嗦,因此在提示中进行了规定:
推理摘要保持在 1–2 句
仅在发现新信息或策略切换时出现
不要写“我正在解释给用户听”这种元话语
值得一提的是,Cursor团队发现,减少这些中途的沟通要求后,Codex的最终输出质量反而更高。
3. 阅读和处理linter错误
Cursor团队为代理提供了读取linter错误的工具。理论上,模型在修改代码后应该主动检查lint。但是实际上,仅仅提供工具的定义是不够的,还需要明确告诉模型“在什么情况下使用这个工具”。
因此,Cursor团队直接给出了非常清晰的指令,例如:
在进行实质性编辑之后,使用 read_lints 工具检查最近编辑的文件是否存在 linter 错误。如果你引入了任何错误,并且你能很容易地找到解决方法,就去修复它们。
这种“字面化”的说明反而最有效,让Codex能够主动执行标准化流程。
4. 保留推理轨迹
这一点非常重要。Codex在工具调用之间依赖内部推理轨迹来保持连贯的计划。如果这些轨迹丢失,模型就会忘记之前做过的事情,导致性能大幅下降。
Cursor团队的实验表明,丢失推理轨迹会让Codex的性能下降约30%。
为了避免这种情况,Cursor团队引入了机制,确保推理轨迹能够在多轮中正确传递,让模型的计划始终保持连贯。
5. 引导模型主动行动
Cursor的目标是:除非用户明确说明“不要动代码”,否则代理应该尝试直接解决问题,而不是一遍又一遍地询问。
Cursor团队在提示中写得非常清晰:
除非用户明确要求查看计划或其他明确表示不应写代码的意图,否则假定用户希望你进行代码更改或运行工具以解决问题。在这些情况下,把拟议解决方案输出为消息是不合适的,你应该直接去实现更改。如果遇到挑战或阻塞,你应该尝试自行解决。
这一调整让Codex的行为变得更加果断,减少了用户等待的时间,整体体验也更加流畅。
6. 避免提示冲突
由于OpenAI模型非常依赖提示的顺序(system > user > tool),Cursor团队必须小心翼翼地处理system prompt中的每一句话,否则可能会无意中抑制模型完成任务的动力。
举个例子,如果system prompt强调“节省tokens”,这条信息可能会影响模型执行更具挑战性任务或大规模探索的意愿。
有时候Codex会固执地说:“我不应该浪费tokens,我觉得继续这个任务不值得!”
因此,Cursor团队调整了harness,以确保Cursor提供的提示不会包含可能与用户信息相矛盾的指令。否则,Codex可能会进入一种不愿意遵从用户请求的状态。
总结
通过这次Codex的适配过程,我们可以看到,模型能力越强、代理行为越复杂,对工具链、提示设计和推理轨迹管理的要求就越高。
Cursor团队的做法为我们提供了一个非常值得借鉴的实践示范——既关注模型本身,也关注模型在实际产品环境中的稳定性,这样才能尽可能发挥每个模型的潜力。











不明白为什么要改成更像shell的工具名,有什么好处吗?
建议使用过程中多关注推理摘要的变化,可能会影响代码质量。
推理摘要控制得当真的很重要,这样才能减少用户的干扰,提升开发效率。
更新后我真的有点迷茫,之前的技巧全没用了,大家有什么新方法推荐吗?
改成更接近Shell的命名,这样真的方便吗?会不会反而让人更困惑?
新模型能否真正提升开发效率?是否有用户分享过使用后的真实体验?
看完觉得Cursor团队真的很用心,能否分享一些使用技巧?
建议在使用过程中,多试试新的工具,可能会发现更多潜在的功能。