Cursor突破性在线强化学习让Tab自动完成更智能


Cursor团队通过在线强化学习技术,使Tab预测功能在减少21%建议次数的同时,将接受率提升28%,大幅优化了编程体验。

在线强化学习是该领域最令人兴奋的方向之一,Cursor似乎是第一个成功实现它的前沿能力,Cursor编辑器团队革新编程体验:在线强化学习如何让Tab预测更智能。

Cursor的目标是让开发者的生产力提升十倍,其中最关键的就是Tab预测系统。每当你在编辑器里输入一个字符或者移动光标时,他们的AI模型就在疯狂预测你下一步要做什么。如果模型足够自信,就会显示一个建议,你只需要按Tab键就能接受这个建议。

传统的AI模型训练方式往往依赖于静态数据集或者人工标注,每隔几个月才发布一个新版本。但Cursor团队搞了个非常创新的方法,他们每天多次向用户推送新模型,并实时收集使用数据来进行训练。这种持续迭代的方式让他们能快速优化模型表现。

Cursor工程师帕斯·塔卡尔在2022年发现,GitHub Copilot使用了一个逻辑回归模型来预测建议被接受的概率。这个模型考虑了11个特征,包括编程语言、之前建议是否被接受、光标前的字符等等。当预测概率低于15%时,就不会显示建议。

但Cursor团队想要更智能的解决方案。他们不希望只是简单地过滤掉不好的建议,而是要让模型从根本上避免产生不好的建议。于是他们选择了策略梯度方法这个高级技术。

策略梯度方法的核心思想是让模型通过试错来学习。模型会随机产生一些行为,然后观察哪些行为能获得高回报,哪些会获得低回报。通过这种方式,模型会逐渐强化那些能带来高回报的行为。

举个例子,假设我们希望模型只在建议被接受的概率超过25%时才显示建议。那么我们可以这样设置奖励机制:建议被接受时给0.75分,被拒绝时扣0.25分,不显示建议则得0分。这样模型就会自动学习到什么时候该建议,什么时候该保持沉默。

在实际应用中,Cursor团队使用了更复杂的奖励机制,还考虑了建议的长度大小,以及跳转到代码其他位置的可能性等多种因素。

要实现这种训练方式,最关键的是要获取在线策略数据。也就是说,必须用当前模型产生的数据来训练当前模型。一旦模型更新了,就必须重新部署到用户端,收集新的使用数据。

Cursor团队建立了强大的基础设施,现在只需要1.5到2小时就能完成一个新模型的部署和数据收集。虽然这个速度在AI行业已经相当快了,但他们认为还有提升空间。

通过这种方法,他们训练出了全新的Tab模型。这个新模型比之前的版本减少了21%的建议次数,但同时将建议接受率提高了28%。这意味着显示的建议更少但更精准,大大减少了对编程流程的干扰。

Cursor团队由一群充满激情的AI工程师和研究人员组成,他们致力于将最前沿的人工智能技术应用到编程领域,让写代码变得像聊天一样自然流畅。他们的工作正在重新定义编程的未来。