一文读懂Cursor与WindSurf的代码索引逻辑
Context, not control.
——张一鸣
一、背景:AI编程的上下文至关重要
如果说现在让AI编程能力实现阶梯式飞跃的大模型本身的「智能」水平——Claude 3.5 Sonnet跨越了那个边界。那另一个影响AI编程实现效果的就是上下文长度。
目前Claude 3.5 Sonnet提供最长200k token的上下文长度,这对对话模型来说是非常充足的,一篇5万、10万字的书籍读完都轻松不在话下,但这对于动辄几十、上百个代码文件,每个代码文件长达数百至上千行的编程项目来说,这样的上下文长度仍然远远不足。再加上现在大模型按输入、输出的token数收费,边际成本不为0。
以上两个特性会引来Cursor、Windsurf等AI编程工具做大量的优化,他们目标如下:
1)尽量准确为你获取任务相关代码,节约上下文长度,以实现多步骤任务的调优,给你提供更好的效果体验;
2)尽量减少读取「不必要」的代码内容,既为了任务调优,也为了节约成本。
在上述的局限和目标条件下,Cursor、Windsurf采取了不同的调优策略提升自己的产品体验。但是这种「调优」往往也是取舍,只是局部的最优解,各自都会牺牲掉部分用户的体验。
所以这篇文章的目的在于,帮助我自己和你去理解他们「调优」的方式和逻辑是如何的?理解这种「调优」的取舍之后,我们更有机会去利用不同产品的优劣势,在不同场景下知道如何切换工具和使用方式,去为我们的任务实现最优解。