对下一代提示工程师打招呼:编程的未来
人工智能(AI)将改变软件开发中的一切。 我在2023年末得出这个结论,经过17年的传统编程。 对我来说很难接受的是,以前在修复错误时必须逐行检查代码的时代已经过去,而项目部署的第n次尝试因为一个你曾经忽视了无数次的简单错误而失败。 因为那也很有趣! 或者在对话中,只有理解为什么会争论分号或单引号哪个更好的人才能跟得上。
一个代际转变正在发生,十年后,没有人会谈论我们实施的伟大项目而没有人工智能。下一代开发者更倾向于思考为什么项目执行得如此低效。即时工程领域将在未来发挥核心作用,并可能取代经典的“开发者”头衔。
在最近几个月里,我使用了几种工具,使用它们时感觉就像是一瞥未来。在所有这些工具中,我都是用自然语言编写提示,并专注于使用人工智能生成代码。我知道市面上还有许多其他工具;然而,与它们相比,有些工具根本没能说服我,所以我甚至不想推荐给你。
很重要的一点是,当您使用这些工具之一时,输出结果可能首先更多地是定量而非定性。这是因为LLM需要先经过训练,才能输出您个人想要的确切结果。
ChatGPT(GPT-4.0,GPT-4.1 预览)
对我来说,通过 ChatGPT 进行代码生成现在是必不可少的,并且是发挥 AI 辅助编程的全部潜力的最佳方式。除了少数例外,建议的代码现在非常优秀,以至于我甚至会直接把简单的任务委托给 ChatGPT。对我来说,现在甚至可以生成项目的初始代码并将其输出为 ZIP 文件是很有趣的。使用特定平台或技术时, ChatGPT 现在还可以记住您的偏好,并根据这些规范调整输出。在 OpenAI,这被称为“记忆”。您可以想象在与 ChatGPT 合作时最大的缺点是无休止的复制粘贴过程,但在我看来,这是可以接受的,因为质量非常优秀。
试一下:http://chatgpt.com
光标
光标是我在使用人工智能实施软件项目时对未来的设想。它允许你在编辑器中直接提出问题并解决问题,同时还能从整个代码库中获取上下文。编辑器与Visual Studio Code非常相似,这是因为光标是基于人工智能的VSCode分支。使用光标,你可以直接突出显示现有的代码组件,并通过提示面板让人工智能进行更改,然后逐段接受或拒绝。光标可以在你的提示上下文中查看整个代码,这与直接使用ChatGPT相比具有巨大优势。与ChatGPT和Copilot不同,光标是上下文敏感的。除了GPT模型,还可以使用其他模型如Claude。
试一试:https://www.cursor.com/
GitHub 拷贝助手
GitHub Copilot 是第一批允许在编辑器中使用提示的工具之一。然而,与 Cursor 相比,使用 AI 助手似乎更加繁琐和不直观。关于整个代码文件结构的问题由 GitHub Copilot 回答,说明它无法在项目中搜索数据或推荐搜索功能。在这里,与 Cursor 相比,缺乏上下文敏感性是明显的。虽然你可以使用[@workspace/]来引用工作空间,但在我看来这似乎不够直观。关于这一点请参阅 GitHub 文档:聊天参与者。
然而,在一个打开的文件和聊天面板中,Copilot的工作效果非常好,并根据您的提示建议合理有效的代码更改。有趣的是像[@tests/]这样的斜杠命令,可以在聊天面板中输入,例如,可以自动创建单元测试。
尝试一下:https://github.com/features/copilot
在工具之间切换
在我看来,切换不同工具是有问题的。例如,在您的ChatGPT帐户中,如果LLM已经训练有素,似乎非常麻烦切换到另一项服务或编辑器,因为您基本上需要从头开始,并需要一段时间与新工具一起工作,才能达到类似品质的代码输出。您有类似的经历吗?
挑战
我相信会有一个过渡阶段,在这个阶段,非程序员很难找到具有丰富编程经验并能将这种经验应用于AI辅助编程的工程师。传统简历在未来也会失去更多重要性,因为AI可以提供高效的自动化,有效评估开发者的硬实力和软实力。基于这个原因,我创立了devpilot。通过devpilot,我们希望为开发者和公司提供一个优化的流程,促进合作。在devpilot.dev上,您还可以找到专门使用AI生成代码的开发者。您可以在这里找到更多信息:https://devpilot.dev/
未来
如果你已经连续多年逐行编写代码而不使用人工智能,那么请思考人工智能将会真正改变什么。在未来,人工智能将会为你的项目几乎编写所有你需要的代码。但当然,依然会需要架构师。更好的比喻是这样的:就像我们信任飞行员一样,因为严格的流程确保只有具有必要知识和经验的人才被允许进入驾驶舱。同样的原则也适用于软件开发中的人工智能:只有具备正确技能和理解的人才能真正利用这些强大工具来取得最好的结果。
最初发布在https://devpilot.dev。