开发者分享全年验证的 AI 编程辅助工具清单及使用心得,包括各工具在实际项目中的效果评估。
有时候,写代码真的很难,尤其是遇到那些棘手的 bug 时。
2024 年,我尝试了很多 AI 工具,但其中只有 7 款真正适合我的开发工作流,也确实帮助我写出了更好的代码。
目前,我只在使用其中几款,但这份清单里的每一款工具都值得一试。
接下来,我们一起看看它们是如何帮助我的,以及它们又能怎样帮助你。
我一直听人说,测试应该是开发工作的重中之重,任何未经测试的代码都不可靠。
我认为,对 codebase 有一定了解并将测试环节自动化非常重要。当然,在某些情况下,这么做也可能有些过度,因为每个人对于“应用能够正确运行”的判断标准并不相同。
正是在这种情况下,我接触到了 Qodo(以前叫作 CodiumAI),发现它真的非常实用。
这是一款面向开发者的 AI 工具,可以为代码生成有意义的测试。它会分析你的代码、docstring 和注释,然后在你编码时推荐相应的测试。
它特别适合用来妥善测试复杂功能,主要提供以下能力:
→ Qodo Gen:定义覆盖率目标,Qodo 就会据此生成测试、检测 bug,并为其编写文档。
→ Qodo Merge:通过为审查者提供简明的 PR 导览,并按照严重程度排列代码建议,让 PR 不再那么令人头疼。
观看这个 1 分钟的快速演示,了解 Qodo 如何帮助你实现零 bug!
你可以从 VSCode Marketplace 下载它,也可以安装 JetBrains extension。
你可能听说过 PR Agent(用于审查 PR)和 Codiumate 等热门工具,它们都出自同一个团队。
你可以查看官方文档,并通过比较生成 unit test 的能力,了解 CodiumAI 与 ChatGPT 之间的区别。
🎯 现在,我用 Qodo 做什么?
我主要使用它生成测试来验证代码,因为它具备上下文感知能力,用起来非常轻松。我并没有在每个项目中都使用它,但每当接触一个新的 codebase(开源项目)时,使用 Qodo 会方便很多。
Qodo 及其所有工具都是完全开源的。你可以查看下面的 repo!
多年来,我一直使用 VSCode,并且始终对 AI 编辑器敬而远之,因为我认为调试 AI 编写的代码会耗费更多时间。我原以为这只会抵消它所带来的效率提升,但后来才逐渐意识到,自己错得有多离谱。
问题在于,基于 AI 的编辑器实在太多了,例如 Cursor、Continue、Zed、Void 和 PearAI,我相信市面上肯定还有更多选择。
一开始我也持怀疑态度,但最终选择了 Cursor,因为 Twitter 上有很多开发者都在讨论它(也许我确实被这股热潮影响了)。
根据我的实际体验,Cursor 确实能够理解你的项目,不像有些编辑器只是嘴上说说而已。
它能理解你的编码风格,知道你的项目结构,甚至还能掌握团队的最佳实践。它就是这么好用。
它是 VS Code 的一个 fork,因此你可以直接导入设置、主题、快捷键和 extensions,继续沿用原来的使用体验。迁移过程非常简单,这正是许多开发者开始使用它的原因。
我几乎用过它的所有功能,效果令我十分震撼。下面通过一些演示示例,简单介绍其中几项功能。
传统的自动补全并没有那么好用,而 Cursor 的 Tab 功能会持续在后台运行,分析现有代码并预测你的下一步操作。
它的准确率很高,因为它会追踪你最近的改动,同时理解整个项目的上下文。
这个命令快捷键能够充分发挥 AI 辅助编程的能力,可以帮你生成代码、重构大段代码,以及完成更多工作。
编辑器的能力还延伸到了 terminal,你只需要在 terminal 中使用 ⌘ K。
例如,你不必费力回忆 find 命令的确切语法,只需输入“查找过去 24 小时内添加的所有文件”,然后让 Cursor 完成繁重的工作。
Cursor 知道你当前位于哪个文件,也知道光标停在哪里。它就像一位正在看着你屏幕的开发者,随时与你交流。这些对话能够感知上下文,因此效果要好得多。
这是最疯狂的功能之一,可以帮助你从零开始生成一个完整的应用。没错,只需几分钟,就能生成完整且可以正常运行的 codebase,其中包含所有必要的 imports 和 boilerplate code。
如果你想了解更多功能、模型,以及 context 或 AI review 等术语,可以前往官方文档探索。
刚开始使用时,我只阅读了 Builder.io 团队撰写的博客文章《The Ultimate Introduction to Cursor for Developers》。这是一份非常完整的指南,强烈推荐!
🎯 现在,我用 Cursor 做什么?
我正在构建自己的作品集,主要用它修复一些小 bug,尤其是复杂的 frontend 工作。Cursor 现在已经成为我的默认编辑器,我相信它确实能够提高生产力。我或许也会订阅 pro plan :)
我记得自己曾在一个项目中被某个问题卡住。我翻阅了 50 多个 Stack Overflow 帖子,甚至还请教过资深开发者。你可以想象,这件事有多么令人沮丧!
后来 ChatGPT 出现了,查找信息变得容易许多。它本可以更快地解决那个问题。当然,ChatGPT 刚发布时并不擅长编写代码,往往需要尝试好几次,才能得到有用的答案。
随着 GPT-4o 和 GPT-4o mini 等新模型的推出,它已经有了显著进步。如今,它还拥有带上下文的 memory,可以给出更加准确的回答。
一开始,我会同时使用 ChatGPT 和 DevGPT(现在它把使用次数限制为 10 次)来交叉验证答案,但后来我不再使用 DevGPT 了。
如今,ChatGPT 已经先进了许多,plugins 和 agents 让它变得更加强大。
例如,你可以使用 DALL・E,根据自己的 prompt 生成封面图片。你可以在 chatgpt.com/gpts 找到所有 agents。
🎯 现在,我用 ChatGPT 做什么?
老实说,我主要用它处理一些常规任务,例如理解代码或快速查找新信息。它刚发布时,我用得非常多,尤其会用它完成编码和手动工作。但现在,我已经不太用它写代码了。
每当遇到无法解决的编程问题时,Perplexity 通常都是我的第一站。它就像一个更聪明、更快速的搜索引擎,可以直接给出清晰答案,无须让我在大量链接中费力筛选。
相比 Bing 或 Google 等其他搜索引擎,我更喜欢 Perplexity,因为前两者经常充斥着广告。而在 Perplexity 上,每个答案都很直接,并且有来源作为支撑。
下面简单介绍它的几项功能:
⚡ 它提供了六种模式,可以满足不同的需求。
⚡ 你还可以填写一些基本信息,从而获得更符合个人需求的回答。
⚡ 你可以创建自定义 space,以更好的方式组织信息。之后,你可以上传文件(ppt、pdf、word、excel),将它们作为知识库的信息来源。然后,你还可以邀请协作者一起进行头脑风暴,共同实现有趣的想法。
⚡ 你可以通过它发现新内容、及时了解最新动态(我其实不怎么使用这个功能),还可以将内容加入书签,留待以后查看。
⚡ 对于任何 query,你都可以搜索相关图片和视频(位于右侧)。你还可以查看全部来源,并逐一确认每个观点分别使用了哪些来源。
我开始使用它,是因为它的用户界面非常容易上手,而这些功能又恰好为这种简洁体验提供了有力支撑。
Perplexity 还有一款名为 Perplexica 的开源替代方案。它使用相似度搜索和 embeddings 等高级 machine learning 算法来优化结果,并给出附带引用来源的清晰答案。
它使用 SearxNG 来保持信息的时效性,同样提供了 6 种 focus mode。你绝对可以从它的 codebase 中学到很多东西。
🎯 现在,我用 Perplexity 做什么?
我用它获取清晰、直接的答案,而不用逐一筛选大量 Google 链接。此外,它支持无限追问,在处理复杂 query 时非常方便。
几个月前,我在 Twitter 上看到大家都在热议 Pieces,于是决定亲自试一试。
它是一款 AI 生产力工具,旨在帮助开发者整理混乱的工作流。真正让它与众不同的是,其 AI 完全离线运行,因此能带来强烈的隐私安全感。
最棒的是,它拥有一套完整的生态系统,其中包括名为 Pieces OS 的强大桌面应用、用于传输 snippets 的 Chrome extension,以及 VSCode extension。把它们组合起来使用,可以构建一套非常强大的工作环境。
Pieces OS 使用本地 LLM,因此所有内容都可以 100% 在你的机器上本地运行。不过,你也可以连接 cloud,以便进行备份、分享,以及使用基于 cloud 的 LLM 生成代码。
✅ 我尝试了它的 live context 功能。它本质上是一种具备高度感知能力的辅助功能,可以引导你准确回到上次中断工作的地方。例如,你可以问:“一个小时前我在做什么?”它就会把所有细节都告诉你。
✅ 你甚至可以浏览文档(通过 web browser),让 AI 从中学习。之后,你可以提出问题,它会根据这些文档进行回答。
你可以查看 Pieces 提供的完整功能列表。
我甚至还在一篇博客中,通过演示示例介绍了许多有趣的使用场景,讲解为什么 Pieces 是你成为 10x developer 所需的唯一一款 AI 工具🤯。
🎯 现在,我用 Pieces 做什么?
目前我没有使用它,但之前同时开发多个项目时,我曾连续用了几个月。正如前面所说,只有配合完整生态系统使用时,它才能发挥更强大的能力(browser extension + desktop app + VS Code extension)。
Pieces 的部分工具是开源的。
作为一名开发者,我理解文档的重要性。但编写文档是一个漫长的过程,有时还会变得十分混乱。
我一直在寻找解决方案,后来发现了 Mintlify。它可以利用 AI,帮助你在短短几秒内为代码编写文档。
你可以观看这段视频,了解完整的操作过程!
如你所见,只需要选中代码,或者把光标放到想要编写文档的代码行上,然后点击 Write Docs 按钮(或按下 ⌘ + .)即可。
它支持超过 10 种主流 programming language,以及 JSDoc、reST 和 NumPy 等多种 docstring 格式。
它简单易用,可以在你编写代码的同时自动生成文档,因此相当方便。
你可以安装 VSCode extension,也可以在 IntelliJ 中找到它。你还可以前往其网站了解更多信息。
🎯 现在,我用 Mintlify 做什么?
我主要用它为开源项目的代码编写文档。独自开发一个 codebase 时,我通常不会使用它(除非项目很复杂),因为这种情况下,我认为没有编写文档的必要。总体而言,它比从零开始编写文档快得多。
Mintlify 是开源的。
我并没有什么特别的理由,只是在撰写一篇博客时,决定尝试用 Continue 作为 AI 编程助手。可以肯定的是,它没有让我失望。
主要原因可能是,我想通过使用本地 LLM 节省一些费用。此外,它还可以把 codebase、issues、文档甚至文件作为上下文。
你可以连接任意模型和任意上下文,在 VS Code 和 JetBrains 内构建自定义的自动补全与聊天体验。
你可以轻松地将 Ollama 与 Continue 配置到一起。下面是我安装时的截图。
就是这么简单。完成配置后,你就可以使用所有这些出色的功能:
⚡ 使用 Tab 功能自动补全代码建议。
⚡ 针对你的 codebase 提问。
⚡ 立即理解 terminal errors。
⚡ 使用 slash commands 启动操作。
⚡ 在编码位置直接重构函数。
如果你仍然感兴趣,可以观看这段 YouTube 视频,并在文档中找到全部信息。
🎯 现在,我用 Continue 做什么?
我已经转向 Cursor,因为它可以满足我的大部分需求。不过,如果你想避开 cloud subscription 的成本,转而使用本地 LLM,Continue 依然是一个不错的选择(它可能会慢一些,但仍然值得)。
这些工具让写代码不再那么像是在工作(我们都知道,编程有时确实很难),反而更像是在施展魔法。在这份清单中,Qodo 和 Cursor 是我的最爱。
你使用过其他 AI 工具吗?欢迎在评论区告诉我们。
祝你今天愉快!我们下次再见。
你可以通过 dub.sh/opensouls 加入我为开发者和科技作者建立的社区。
部分评论可能只有登录后的访客才能看到。请登录以查看全部评论。
如果需要采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。