Windsurf使用技巧分享
最近使用了差不多半个月的 Windsurf,使用下来的感觉就是这玩意血强,不比 cursor 差。之前体验过免费的 cursor,但 completion 的次数很快就用完了,体验的确很好,但 20 美刀的价格的确需要仔细考虑考虑,后来就开始体验 Windsurf,只有 cursor 一半的价格(不知道啥时候会变成 15),但也依然保持着优秀的体验,因此今天我就写几点关于我使用 Windsurf 的一些心得。
善用 rules 配置
Windsurf 应该是上周左右推出的 rules 功能,之前没有这个最明显的麻烦之处在于,对话开始如果不特别说明,回复都是英文,因此如果只是想让它说中文的话,可以直接在 rules 里面配置让其说中文,这个 rules 可以理解成System Prompt
,因此一个优秀的 rules 可以大大的提升模型的输出效果。这个功能在 cursor 上早就推出了,网上也有一个仓库收集了很多优秀的配置: https://github.com/PatrickJS/awesome-cursorrules ,各位可以自行去看看有没有适合自己的。
我这边对于 rules 配置的建议是这样的,首先要明确角色背景,比如我是个 Java 开发工程师,因此我会告诉它:
|
|
这一段也是来自于刚刚仓库里面的推荐,主要可以让模型提供提供最佳实践的代码,避免一些低质量的代码影响整体的代码效果。
此外,rules 可以设置 global 的或者 workspace 的,对于 workspace 的 rules,可以给予其技术栈以及目录结构的说明,举个例子:
|
|
明确这些背景知识的好处在于,可以让其更加针对于此项目来做代码设计,尤其是经常会跨文件修改时,能避免找错文件位置或者用了不适合当前技术栈的解决方案。
良好的代码风格
在新项目的开发过程中,尽量做好代码架构的初步设计,可以使用一些设计模式或架构设计思想来构建整体的开发风格,举个例子,比如说你用模版模式,那你最终要实现的实际上是基于模版提供的几个方法的实现,相当于把业务进行了逻辑上的拆分,那么当你实现其中一个业务上的代码后,那么实现其他继承该模板类的子类时,你可以将已经实现好的代码作为参考代码给予模型,具体操作就是选中你要提供给模型的参考代码,然后点击 chat,右侧的输入框就会出现引用,这样就类似于 few shot 的方式让其回答的效果更加准确,实际 prompt 大致是这样的:
|
|
如果你不知道怎么设计更好的代码架构时,你也可以直接通过对话让其给你建议,这不仅是对于使用 Windsurf 的建议,也是现在有 AI 辅助时代的程序员新的开发思路,AI 就是跟你一起思考的小黄鸭。
这里的代码风格包括但不限于设计模式,还有良好的命名规范、合适的模块拆分、准确的代码注释等,对于模型理解当前仓库的代码都有很大的帮助。
适当使用提示词技巧
在 Windsurf 中,对于提示词的要求相对于直接使用模型对话已经低了不少,但高效的提示词依然还是能带来更好的反馈。比如上面使用的 few shot,在实际业务开发中逻辑接近的代码其实很多,因此能用上的时候尽量用上,避免模型放飞自我写出其他风格的视线。
此外很重要的一个技巧就是思维链,就算 Windsurf 在对话过程中我们能看出它也是在一步步的思考并解决问题,但如果你已经有很清晰的思路,不妨多打几行字把你的思路告诉它,这比它自己跑偏了你再纠正效率要高得多。
最后想说的是,作为程序员,一定要跟上当前 AI 的时代,既不要听信什么 AI 能取代程序员,也不要排斥使用 AI 工具,因此对于 AI 要保持一个客观的态度,多使用一段时间就能差不多感知到模型能力的边界,自然就能很好的利用好它来提升自己工作的效率。