推荐使用国际直连GPT,立即访问: www.chatgp1.com
我交谈过的许多人都认为,人工智能是一个神奇的精灵,它可以根据一个尚未成形的愿望实现整个程序或应用。这里有一个更好的比喻:人工智能是一种电动工具。当然,你可以用老式锯子来切割木材,但台锯的速度要快得多。这两种工具都不是用来制作家具的。它们只是帮助你制作家具。请记住,人工智能不会为你编写代码。它会帮助你编写代码。
虽然我无法客观地告诉你 ChatGPT 到底给了我多大的帮助,但我确信它让我的编程产出翻了一番。换句话说,通过使用 ChatGPT 作为我的工具包的一部分,我完成了两倍的工作。
我主要使用 ChatGPT Plus,而不是 ChatGPT 的免费版本。最初,这是因为 Plus 中的 GPT-4 模型比免费版本中的 GPT-3.5 模型更擅长编码。但现在两者都支持 GPT-4o 模型的某些变体,它们的编码能力是相同的。但是,使用免费版本时,您只能获得这么多查询,然后需要等待一段时间,我发现这会打断我的编程流程。因此,我使用每月 20 美元的 Plus 版本。
回顾我所有的项目,我意识到我可以分享一些关于如何充分利用 AI 编程合作伙伴的实用技巧。下面就是这些技巧。
1. 给人工智能分配大量小任务
人工智能无法很好地处理复杂的指令集,特别是如果你希望它主要进行产品设计。但它非常擅长解析和处理小型、定义明确的指令集。
2. 如果你将机器人视为 Slack 对话另一端的人,这将很有帮助
与同事之间通过电子邮件进行交流时,每次互动可能间隔几个小时,而想象一下你正在进行 Slack 聊天,每次互动虽然间隔很短,但只间隔几秒钟。
3. 对于更复杂的例程,迭代提示
从一个简单的任务开始,当任务写好后,再逐个添加更多元素。我只需剪切并粘贴上一个提示,添加和删除提示的部分内容,因为我得到了适合我所寻找的代码块。
4. 测试 AI 返回的每一小段代码
永远不要假设代码会正常工作。将其修补到您的项目中,看看它的表现如何。
5.使用调试器
如需进行更深入的测试,请毫不犹豫地进入调试器并逐步浏览 AI 生成的代码。观察变量及其具体功能。请记住,只要您检查每个语句和行是否正常运行,就可以让它为您编写代码片段。
6. 你不需要在 IDE 中内置人工智能编码辅助
许多编码工具供应商都在推销将人工智能集成到他们的工具中的想法。除其他外,这使他们能够向您推销人工智能功能。不过,我更喜欢使用 ChatGPT 进行编码,因为它是一个与我的开发环境完全不同的工具。我不希望人工智能能够进入我的主要编码环境并改变那里的内容。
7. 随意从生成的例程中删减代码行
您不必总是使用 AI 为您生成的所有内容。就像您可能去Stack Overflow查找代码示例,然后选择要复制的行一样,您可以对 AI 生成的代码执行相同的操作。
8. 避免要求人工智能进行专有编码或使用它不具备的机构知识
AI 大型语言模型依靠训练数据或它们在网络上找到的数据运行。这意味着它们通常对您的独特应用程序或业务逻辑一无所知。因此,请避免让 AI 编写任何需要这种知识水平的东西。那是您的工作。
9. 为 AI 提供示例,以便它理解代码的上下文
我给了 ChatGPT 一个 HTML 页面的片段,并要求它添加一个扩展文本块的功能。它返回了 HTML、JS 和 CSS。后来我要求它添加一个额外的 CSS 选择器,然后要求它证明其工作,于是它向我解释了它这样做的原因。所有这些都有效,因为我一开始给它的示例帮助它理解了上下文。
10. 使用人工智能进行常识编码
我发现,当我使用 AI 代码编写使用常见知识、流行库和常规做法的代码块时,AI 代码的最大好处就在于此。AI 无法编写您独特的业务逻辑。但如果您要求它编写来自库和 API 的功能的代码,它将为您节省大量时间。
11. 随意索要一两行代码片段
即使您只需要生成一两行响应,也可以像使用任何研究工具一样使用人工智能,如果它可以节省您的时间。
12. 当 AI 编写的代码不起作用时通知它
当然,这只有在测试生成的代码时才会起作用。我发现人工智能经常会吐出不完整或不起作用的代码。告诉它哪些地方不起作用,也许可以提出澄清的建议。然后要求它写一些新东西。它通常会这样做,而且修改后的代码有时比原始代码更好。
13. 使用一个人工智能来检查另一个人工智能的工作
观察两种不同的语言模型如何解释同一代码块通常很有趣。正如我们所见,并非所有语言模型都能很好地发挥作用,但它们的结果可能具有启发性。您甚至可以让一个 ChatGPT 会话检查另一个 ChatGPT 会话的结果。
14. 使用 AI 编写 CSS 选择器
CSS 选择器是程序员用来定义网页元素以进行样式设置或其他操作的表达式。它们很快就会变得复杂而晦涩。我经常复制一段 HTML 并要求为该 HTML 的给定部分提供一个选择器。这可以节省大量时间,但请记住,您通常必须进行迭代,告诉 AI 前几个选择器不起作用,直到它生成一个起作用的选择器。
15. 使用人工智能为你编写正则表达式
正则表达式是用于解析文本的符号数学序列。我不喜欢编写它们,就像我不喜欢编写 CSS 选择器一样。人工智能非常擅长编写正则表达式,尽管你肯定需要测试它们。
16. 使用人工智能测试正则表达式
我使用一款名为Patterns的应用程序在我的Mac Studio上测试生成的正则表达式。但人工智能也能提供帮助。我经常向人工智能的一个单独实例输入由 ChatGPT 生成的正则表达式。然后我问那个单独的实例,“这有什么用?”如果我得到的描述与我希望该函数执行的操作一致,我会更加确信人工智能做了我想要做的事情。
17.让人工智能进行复杂的循环数学运算
与 CSS 选择器和正则表达式一样,复杂的循环数学运算可能很繁琐且容易出错。这对于 AI 来说是一个理想的应用。在指定提示时,不要告诉 AI 循环中的内容。只需让它编写适当的循环包装器元素,然后在其工作后编写业务逻辑即可。
18. 使用“这段代码有什么问题?”作为提示
我经常会将代码块(尤其是由人工智能生成的正则表达式)输入给人工智能。了解人工智能认为代码中存在哪些错误非常有启发性,通常会突出显示代码未测试的错误情况。然后,当然,要求人工智能重新生成代码以修复它发现的错误。
19. 使用“这有什么用?”作为提示
同样,我喜欢将代码块输入 AI,然后问它“这有什么用?”这通常很有启发性,甚至对我自己的代码也是如此。但最大的好处是当我在处理别人写的代码时。将函数或块输入 AI 可以节省大量对原始代码进行逆向工程的时间。
20. 知道何时放弃人工智能
有时,人工智能无法胜任这项工作。我发现,如果你试图让它重写代码超过两三次,你就已经到了无法挽回的地步。如果你真的想要人工智能生成的代码,那就从一个全新的、重新措辞的提示开始,看看你能从那里得到什么。有时,你只能自己去做。
21. 函数和变量的命名要具体
AI 可以从变量和函数名称中获取意图并编写更好的代码。例如,将变量名称指定为 $order_date 有助于告诉 AI 你正在处理订单和日期值。这比 $od 之类的名称好得多。更好的是,从命名良好的变量名生成的代码通常也更具可读性,因为它知道为其创建的其他变量使用更具描述性的名称。
22. 阅读前后代码说明
人工智能通常会在编写代码之前和之后生成一些关于每个提示的注释。其中可能有一些宝贵的信息可以帮助您了解人工智能做了什么或它是如何解决问题的。有时,人工智能还会向您指出其他可能有用的库或函数。
23. 稍后可以返回并就代码片段寻求更多帮助
从您的项目中获取各种代码片段来说明您需要什么,告诉 ChatGPT 读取它们,然后询问您想要什么。我需要在扩展区域中构建输入字段的排除,然后我回去询问。不到一分钟后,我就得到了代码,而我自己编写这些代码需要 10 分钟到一个小时。
24. 使用人工智能帮助你重写过时的代码块
我有一个用旧版 PHP 编写的 PHP 模块,它使用了一种现已弃用的语言功能。为了更新代码,我将弃用的代码段粘贴到 ChatGPT 中,并要求它告诉我如何重写它以与最新的 PHP 版本兼容。它做到了,而且成功了。
25. 使用人工智能帮助你用不太熟悉的语言写作
我非常乐意学习新的编程语言,但我发现,如果我需要用一种我不擅长的语言编写代码,AI 会非常有用。我只需询问它如何编写我想要的代码,并指定语言即可。假设我想知道如何在 Python 中执行 case 语句,而我一直在用 Perl 执行它们。只需询问“比较在 Perl 和 Python 中编写 case 语句”或“如何在 Python 和 PHP 中连接字符串”。您将获得一个很好的比较,它使编写不熟悉的代码变得容易得多。