Cursor生成代码的4个修复策略
对于AI系统来说,错误修复实际上是极其困难的。我也开始调整自己的方法来应对这个问题。

Cursor的子论坛充满了像上面那样的帖子。当你阅读这些帖子时,它们通常会讨论它不理解意图,完全搞砸了错误修复,或者直接破坏了东西。

然而,在听了Lex Fridman与Cursor团队的播客后,我意识到对于AI系统来说,错误修复实际上是极其困难的。
1、AI模型在提出错误修复方面存在困难!
“错误检测是另一个很好的例子,在那里并没有太多真正检测实际错误并然后提出修复方案的例子,而模型在这方面真的很难做到。“
好吧,这是Cursor的首席工程师在谈论AI模型如何难以修复错误。这对我来说是个新闻!
原因是底层训练数据基本上有很多完整的代码和仓库或部分错误问题,但它实际上没有包含经过处理的实际错误修复过程。
这意味着错误修复比你给AI的信用要难得多,我也开始调整自己的方法来应对这个问题。
2、四种应对策略
2.1 告诉AI,这里危险!危险!危险!
在重要的代码附近写上危险一词,这样LLM就会集中注意力。
是的,我是认真的!

本质上是在注释中写下类似这样的内容,有助于模型确定应该关注的地方。
Cursor做了很多加速编码体验的事情,并快速解析大量代码,考虑到它的训练数据量有限,我们需要帮助它。
2.2 写出更清晰、更好的指令
如果你像我一样,你会在编辑器中写下这样的内容:

然后想知道为什么它没有修复任何错误。
以下是Cursor团队的说法:
“顺便说一下,这是一个非常困难且至关重要的细节,不同基准测试与真实编码之间的区别在于,真实编码不是面试风格的编码。人类有时会用半破碎的英语表达,有时你会说‘哦,做我之前做过的事’。有时你会说‘去添加这个东西,然后为我做另一件事,然后让这个UI元素生效。’”
我从这一点中得到的主要信息是,这些模型在编码基准测试和面试风格的问题上表现得非常好,因为这些问题表述得清楚且条理分明。

所以即使Cursor非常快且令人惊叹,还是要放慢速度!清晰地表达自己。
我已经开始写更长的提示,并添加文件和文件夹作为上下文。
在心理上,你可能需要告诉自己稍微放慢一点速度,尝试更加有条理。
以下是一个例子。

花时间精心设计提示,你会得到更好的响应(我知道这看起来显而易见,但请花时间)。
而且花时间的好处是,它已经导致了更少的查询和更好的响应质量。
下面是我在最荒谬(有些人认为是不必要的)的IKEA书架跟踪系统中添加的统计数据。
所以上面问题的答案是否定的。我们只需要帮助LLM比你想象的更多。
播客让我对几件事情更加重视。
- 错误修复很难,所以你需要尽可能多地帮助AI。
- 放慢速度
- 清晰表达自己
- 尽可能多地添加按钮和日志
希望这对你们有所帮助!