在编程中使用 AI 的更智能的方法
原文towardsdatascience.com/the-smarter-way-of-using-ai-in-programming-0492ac610385被付费墙挡住了免费阅读!自从 ChatGPT 在 2022 年推出以来开发者们分裂成了两个阵营那些禁止在编码中使用 AI的人和那些拥抱它的人。****许多程序员尤其是经验更丰富的程序员不仅不使用 AI 生成的代码还禁止他们的团队这样做。他们对使用 AI 进行编程的反对是可以理解的“AI 生成的代码是不可靠的。”现在即使你不赞成这种反 AI 代码立场你也必须在使用 AI 进行编程时遇到过挑战、障碍或小故障。关键是找到正确使用 AI 的策略。我们中的许多人正在使用一种简单但过时的 AI 策略这在两年前还很好。我们用厨房刀具砍伐树木。当我们谈论开发者的 AI 时我会从两个主要问题开始这篇文章并提出四个可靠的 AI 解决方案这些解决方案将使你在使用 LLMs 时与普通程序员区分开来无论你是什么类型的开发者。目录· 你可能使用 AI 的方式是错误的… ∘ 你没有使用正确的界面 ∘ 你对 AI 有不切实际的期望 · 光标AI 优先 IDE · 微代理代码 测试用例 · SWE 代理AI 对抗 Github 问题 · AI 提交git commit -m · 让我们连接 · 进一步阅读你可能使用 AI 的方式是错误的……可以分为两部分https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/19e0153bad044696b07b5c525d2902df.png由 GPT-4o 创建的图像。你没有使用正确的界面当 ChatGPT 发布时在接下来的几个月里与 AI 合作的主流方法是访问网站并在浏览器中与gpt-3.5聊天。AI 场景很简单。你希望 ChatGPT 为你编写文档字符串并注释你的函数吗你会从你的 IDE 中复制那块代码给它 ChatGPT同时写一个懒惰的提示比如“添加注释”它会吐出一个新的代码然后你确保它没有使代码出错如果一切顺利你将把新代码粘贴到你的 IDE 中。**许多人仍然以相同的方式使用 AI 进行编码。**我在学生、程序员尤其是初学者中看到了这一点。在过去的两年里随着 AI 领域的改变我们使用 AI 的方法没有调整。我们没有跟上它的全部潜力。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/50a098fb578704397894e2cdd344cbf4.png由作者绘制的图表。你对 AI 有不切实际的期望使用 AI 的第二个陷阱是我们倾向于如何使用它。通常我们会要求 LLM 编写一些代码测试它是否工作如果不工作我们就手动来回修复问题。如果我们幸运的话当我们尝试让 LLM 理解代码的问题时我们不会陷入无尽的幻觉循环。我们知道它不起作用但因为没有更好的解决方案我们只能不断尝试。这种方式很容易让人沮丧。说了这么多我将分享四个可以提升你的编程生产力的 AI 工具。光标以 AI 为主的 IDE 最佳适用对象绝对每个人当我第一次被建议使用Cursor时我并不真正知道它是什么。只有在经过一些测试之后我才意识到它是一个变革性的工具。Cursor 是一个以 AI 为主的 IDE嗯……实际上它是 VScode但更加强大。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/b0d6866425303edacf9328c6125d1a09.pngCursor IDE 的截图。作者提供。Cursor 允许你使用你的聊天机器人 API将 AI 作为编写代码的助手。Cursor 中我非常喜欢的、可以实际提升你的编码工作流程的一些功能包括Ctrl K:这是主要功能允许你选择多行并就它向聊天机器人提问。你可以使用这个功能让 LLM 从头开始为你编写完整的函数添加文档或修改代码的部分。它操作流畅易于使用并显示修改后的代码部分让你看到修改前后的对比。Tab:一个强大的自动完成功能帮助你编写一行或一个完整的函数。聊天你可以与你的 AI 就你的整个代码库进行交流。除此之外你可以通过提供文档文件、图片或网页 URL询问网络功能来提供上下文。cdn.embedly.com/widgets/media.html?typetext%2Fhtmlkeya19fcc184b9711e1b4764040d3dc5c07schematwitterurlhttps%3A//x.com/itsHesamSheikh/status/1792978819143573764imageCursor 的好处在于它是带有额外 AI 功能的 VScode这意味着它不是一个全新的 IDE你需要去适应。所以如果你已经在使用 VScode过渡将会非常轻松。你可以提供你选择的模型 API例如GPT-4、GPT-4o、Claude 3.5 Sonnet以及内置的免费cursor-small。我见过很多人赞扬Cursor Sonnet 3.5的组合。Claude 3.5 Sonnet 是一个在编码方面非常智能的模型一旦你将其连接到 Cursor你就可以获得出色的结果。Cursor 在从 ChatGPT 网站复制粘贴代码方面有了很大的改进说实话现在这看起来有点不专业。微型代理代码 测试用例 最佳适用对象可靠的代码生成https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/02d7e5e194177aed6c990bf8d2de0825.png来源micro-agentMIT 许可证当涉及到使用 AI 生成代码时每个工具都是不可靠的。如前所述LLM 倾向于陷入痛苦的幻觉循环。Micro Agent 在其承诺的内容上诚实可靠。它不是生成完整的代码块供用户测试和审查而是从为您的提示创建测试用例开始。然后它会迭代编写通过生成测试用例的代码。想法是LLM 在生成测试用例方面比创建解决该问题的代码更擅长。我没有找到很多研究来支持这个想法但一个经过测试的代码比没有测试的代码更可靠这正是 Micro Agent 实现的。如果你想要创建不是超级复杂但同时又难以正确实现的函数Micro Agent 生成的代码比现成的 LLM 输出更经过测试和接地气。一定要查看他们的博客和GitHub 页面。SWE-agent对抗 GitHub 问题的 AI 适合对象GitHub 极客https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/86afbe07f2fe0d966c65e501da204b1c.png来源SWE-agentMIT 许可证在实际有效的 Agentic 工具列表中Princeton Language and Intelligence 开发的 SWE-agent 占有一席之地。SWE-agent 专注于解决现实世界 GitHub 仓库的问题然后提交拉取请求进行审查。对于大型存储库、组织甚至是小型项目来说它都是一个救星。它之所以能很好地工作是因为开发者创建的特定工具专注于审查代码库、识别问题然后进行必要的更改。SWE-agent 是一个开源项目在 GitHub 上已有13.1K个星标。AI Commits: git commit -m 适合对象那些提交代码的人https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/0d251f4656a0ac67ac9391d110e8d3fe.png来源aicommitsMIT 许可证如果你发现难以想出合适的提交信息你并不孤单。肯定有比仅仅添加日期或简单地包含“小改动”更好的方式来编写有意义的提交信息对吧cdn.embedly.com/widgets/media.html?typetext%2Fhtmlkeya19fcc184b9711e1b4764040d3dc5c07schematwitterurlhttps%3A//x.com/IsMrRobot/status/1827164421988249716imageAI Commits是解决这个问题的简单方案。它易于安装和使用。基于你的git diffaicommits 会返回一个由 AI 生成的提交信息。它使用 gpt-3.5这是一个很好的选择因为它既便宜任务也不算重。最后重要的是你使用能帮助你提高生产力和实现目标的工具。AI 的格局正在快速变化合适的工具也在随之变化。如果你想获取关于 AI 及其新技术的一切必要更新我写了一篇文章介绍你如何每天只需几分钟就能做到这一点。我们无法摆脱 AI 的幻觉或其局限性。但我们可以采取措施来减轻它。简单的手动与 AI 交互例如使用 ChatGPT 生成代码或注释可能会令人沮丧且效率低下。通过选择合适的工具你可以避免常见的陷阱并在实践中更加自信。感谢您阅读完这篇文章我已经尽力提供了一篇准确的文章但如果您认为需要任何修改请分享您的意见和建议。让我们保持联系免费订阅以获取新文章的提醒你还可以在*领英和Twitter*上找到我。进一步阅读如果你已经读到这儿你可能也会对以下文章感兴趣实践中的协作 AI 代理全面指南用 AI 和费曼技巧学习任何事物