自 2022 年 ChatGPT 推出以来,开发人员分成了两个阵营:禁止使用 AI 进行编码的人和欢迎使用 AI的人。 许多程序员,尤其是经验丰富的程序员,不仅不使用 AI 生成的代码,还禁止他们的团队这样做。他们反对使用 AI 进行编程的论点是可以理解的,“AI 生成的代码不可靠。”
现在,即使你不赞同这种反对人工智能代码的立场,你在使用人工智能进行编程时也一定遇到过挑战、障碍或问题。关键是要找到正确的策略来利用人工智能。
我我将以开发人员 AI 时的两个主要问题作为本文的开端,并提出四种可靠的 AI 解决方案,无论您是哪种开发人员,这些解决方案都会在使用 LLM 时将您与普通程序员区分开来。
GPT-4o 创建的图像。
你没有使用正确的界面
ChatGPT 发布后,几个月来,主流的 AI 工作方式还是上网站,用gpt-3.5
浏览器聊天,AI 场景很简单。
您希望 ChatGPT 编写文档字符串并对您的功能进行评论吗?
- 你可以从 IDE 中复制这段代码,
- 将其交给 ChatGPT,同时写一个偷懒的提示,比如“添加评论”,
- 它会吐出一个新的代码,
- 然后你要确保它不会让代码出错,
- 如果一切正常,您可以将新代码粘贴到 IDE 中。
许多人仍在以同样的方式使用人工智能进行编码。我在学生、程序员,尤其是初学者身上都看到了这一点。尽管过去两年人工智能格局发生了变化,但我们使用人工智能的方法却没有调整。我们还没有充分发挥其潜力。
图表由作者提供。
你对人工智能抱有不切实际的期望
使用人工智能的第二个陷阱在于我们使用它的方式。通常,我们会要求LLM编写一些代码,然后测试它是否有效,如果不行,我们会手动来回解决问题。如果我们幸运的话,当我们试图让LLM理解代码的问题时,我们不会陷入无休止的幻觉循环,而LLM却没有理解。
我们知道这行不通,但由于没有更好的解决方案,我们只能不断推行。这样很容易让人沮丧。
话虽如此,我将分享四种可以利用 AI 提高你的编程效率的工具。
Cursor:AI-first IDE
🔎 最适合:所有人
当我第一次被建议使用 Cursor 时,我并不知道它是什么。经过一些测试后,我才意识到它能改变游戏规则。Cursor是一款 AI 优先的 IDE,嗯……它实际上是 VScode,但功能更强大。
Cursor IDE 的屏幕截图。作者提供。
Cursor 允许您使用聊天机器人 API 将 AI 作为助手来编写代码。我喜欢 Cursor 的一些功能,它们可以切实提升你的编码工作流程:
- Ctrl K:主要功能,允许您选择多行并提示聊天机器人。您可以使用此功能让 LLM 从头开始编写完整的函数、添加文档或修改部分代码。它很巧妙、易于使用,并且会向您显示已修改的部分代码,以便您查看修改前后的情况。
- Tab:强大的自动完成功能,可以帮助您编写一行或完整的函数。
- 聊天:您可以与 AI 讨论您的完整代码库。除此之外,您还可以通过提供文档文件、图片或网页 URL 来提供背景信息(询问 Web 功能)。
Cursor 的优点在于它是带有额外 AI 功能的 VScode,这意味着它不是一个需要您熟悉的全新 IDE。因此,如果您已经在使用 VScode,那么过渡将毫不费力。
您可以提供您选择的模型的 API、、、GPT-4
和内置的免费。我看到很多人称赞Cursor + Sonnet 3.5组合。Claude 3.5 Sonnet 是一种非常智能的编码模型,一旦将其插入 Cursor,您就可以获得出色的结果GPT-4o
。Claude 3.5 Sonnet
cursor-small
与从 ChatGPT 网站来回复制粘贴代码相比,Cursor 是一个很大的改进(老实说,现在这看起来有点不专业)。
Micro Agent:代码+测试用例
🔎 最适合:可靠的代码生成
来源:micro-agent(根据 MIT 许可)
说到用人工智能生成代码,每种工具都不可靠。如前所述,LLM 往往会陷入痛苦的幻觉循环。
Micro Agent 信守承诺,值得信赖。Micro Agent 不会生成整块代码供用户测试和审查,而是首先为您的提示创建测试用例。然后,它将迭代编写通过生成的测试用例的代码。
这个想法是,LLM 更擅长为问题生成测试用例,而不是编写代码来解决问题。我没有发现太多研究来支持这个想法,但经过测试的代码比未经测试的代码更可靠,这是微代理所实现的。
如果您想要创建不是超级复杂但同时又很难正确实现的函数,Micro Agent 会生成比开箱即用的 LLM 输出更经过测试和扎实的代码。
SWE-agent:针对 Github 问题的人工智能
🔎 最适合:GitHub 极客
来源:SWE-agent(根据 MIT 许可)
在实际有效的 Agentic 工具列表中,有普林斯顿语言与智能中心开发的 SWE-agent。SWE-agent 专门解决现实世界的 GitHub 存储库问题,然后提交拉取请求以供审核。
对于大型存储库、组织甚至小型项目来说,它都是救星。它之所以能发挥作用,是因为开发人员创建了专门的工具,专注于审查代码库、识别问题,然后进行必要的更改。
SWE-agent是一个开源项目,在 GitHub 上已有13.1K颗星。
AI Commits:git commit -m
🔎 最适合:那些愿意付出的人
来源:aicommits(根据 MIT 许可)
如果您很难想出正确的提交信息,那么您并不孤单。一定有比添加日期或简单地包含“微小更改”更好的方法来编写有意义的提交信息,对吗?
AI Commits是解决此问题的简单方法。它易于安装且易于使用。根据您的git diff
,aicommits 返回 AI 生成的提交消息。它使用 gpt-3.5,这是一个很好的选择,因为它很便宜,而且任务也不重。
归根结底,重要的是你使用的工具能够帮助你提高工作效率并实现目标。人工智能格局正在迅速变化,合适的工具也随之变化。
我们无法摆脱人工智能的幻觉或其局限性。但我们可以采取措施来缓解它。与人工智能进行简单的手动交互,例如使用 ChatGPT 生成代码或评论,可能会令人沮丧且效率低下。通过选择正确的工具,您可以避免常见的陷阱,并在实践中更加自信。