翻译自 30 Non-Trivial Ways for Developers to Use GPT-4 。译者提示, Claude 的表现也非常好,某些方面超越了 ChatGPT ,有也可以考虑 Google Bard ,不过目前仅支持英语。
OpenAI 的 GPT-4 被开发者用于编程的总结,以及 The New Stack 对 ChatGPT 建议的检查。
我对 ChatGPT 的使用已经限制。我不喜欢它虚构事实的事实。如果我必须检查它说的每一句话,那有什么意义?也就是说,我确实用它设计了一个菜园,我承认这是一个相当琐碎的用途。
然而,开发人员已经发现了 OpenAI 最新的大型语言模型 GPT-4 的许多重要用途。在最近的 Hacker News 帖子中,开发人员分享了他们如何使用 LLM 。我们在这里整理了最好的建议,以及 ChatGPT 本身关于开发人员应该如何使用它的其他建议。
一位用户报告自己编写包含大量连接的SQL查询比较差。所以,这位开发者只是向Bot展示表定义,并告诉它所需要的内容。与人工智能常常一样,可能需要几次迭代才能得到正确结果,这位用户警告道。
同一个评论者也使用 ChatGPT-4 来编写正则表达式。“它非常擅长这方面,”程序员报告说。
另一位程序员使用它来集思广益并原型化解决问题的方法。特别是,他主要将其用于机器学习管道,小型 React 站点和 Python 命令行界面(CLI)。
“首先,我会让它给我问题域的概览;这为语言模型提供上下文,”他说。“然后,我描述问题并要求它生成解决方案以及每种方法的优缺点。这个过程是迭代的:你可以问它一些问题,修改它的建议,并定期总结。之后,你可以要求它为你提供原型代码,或者你自己构建。”
橡皮鴨调试法是一种通过口语或书面自然语言解释问题来调试代码的实践。其来源是 “Pragmatic Programmer” 的一个故事,讲述一位程序员随身携带一个橡皮鴨,并通过逐行向橡皮鴨解释代码来调试。据一位开发者称, ChatGPT-4 可用于逐行解释代码。
一位用户称, ChatGPT-4 在纯粹的开发或同行评审方面“还不够成熟”,但作为一名虚拟导师,它擅长澄清后续问题。
同时包括:7. 在指标中发现错误, 8. 加快测试周期, 9. 减轻垃圾收集器的压力并收紧一些定时器处理, 10. 查找不必要的类型断言。
开发者 Philip O’Toole 使用 ChatGPT-4 完成第 6 到 10 项甚至更多的工作。为他节省了大量时间,他非常享受这个过程。他写了一篇博客文章讲述 ChatGPT-4 如何帮助他开发数据库。有一次,他不确定 ChatGPT-4 建议的更改如何能减轻垃圾收集器的压力,所以他要求它进行解释,ChatGPT-4 也能够做到这一点。于是他采用了这些建议的更改。
“他们总是编译,但需要一些编辑,” Simon Boehm 指出。它还需要良好的提示, Boehm 补充道。
Boehm 使用 ChatGPT-4 的另一种方式是“将普通的 objdump – S 输出转储到其中”。
开发者 Vitor Baptista 写道:“我必须优化一些 Python 代码以减少其内存使用。在尝试了我能想到的所有主意后,我考虑用一种不同的语言重写它。我将代码复制并粘贴到 ChatGPT 4 中。首先尝试了 Rust 语言,但出现太多编译错误。然后我尝试了 Go 语言,它工作的非常完美。”这位开发者以前从未使用过 Go 语言,他使用 ChatGPT-4 来改进 Go 代码。他写道:“它为我提供了很棒的答案,我想也许一次或两次代码无法编译(我每天使用它几十次)。” Baptista 写道:“我现在在生产环境中使用优化后的 Go 代码。”
另一位程序员使用 ChatGPT-4 生成他不太熟悉的编程语言的代码,在这个例子中是JavaScript。这位程序员表示:“我的 JavaScript 不是最强的方面,所以我可能需要花 30 到 45 分钟的时间才能再次熟悉基本的 AJAX 和现代语法,或者我可以写下我的想法框架,让 GPT 将我的想法写在纸上,语法和风格还算过得去。从那里我就可以开始了。”
“GPT-4 不擅长做事,很擅长为你查找东西,”一份提交的内容中写道。“与其试图让它做事,不如问它我应该怎么做。
一位开发人员使用 GPT-4 编写了一个简单的 React 应用程序来测试端点。一旦代码工作,开发人员将应用程序放回 AI 中,并要求它使其“更具视觉吸引力” - 它确实做到了。
人工智能的一个重大预测是,它将被定制用于测试。已有人开始利用 ChatGPT-4 进行单元测试和部分文档编写。这位使用者表示:“我发现它生成的代码不是完美的,但与从零开始编写相比,获得一些样板并修复它的速度还是相当快的。”该人士表示。“我已经用的够多了,我在它周围缠了一些 cli 胶水......”大多数情况下,这位评论者用它编写 Python 和 Bash 代码,虽然也“偶尔编写一些 Makefile 和 Dockerfile ”。
一位发帖者写道:“我对这项技术和它们的语法不太熟悉,需要一段时间才能完全理解。相反,我只需要告诉 ChatGPT 我的文档格式,然后使用自然语言提出具体的数据请求。” “公平地警告,第一次尝试的查询并不总是完美的,但它比在 Stack Overflow 上解析类似问题的回复要容易得多。现在我主要自己编写查询,但它真的帮助我起步。”
ChatGPT-4 生成的代码可能不是完美的,但许多开发者表示他们利用 ChatGPT-4 来“启动”编码问题的解决过程。一位开发者利用它来学习 TypeScript 和 React 。本质上,这款人工智能充当学习如何完成复杂任务的支架作用。另一位程序员提出的提示是:在要求它编写代码之前,让这个机器人迭代地总结所有已达成的一致意见。
一位程序员报告说,他利用 ChatGPT-4 进行 OpenCV 中的图像处理。这位开发者写道:“它节省了我大量本会用于理解所需的变换和矩阵运算的时间。”
根据一位 Hacker News 读者的说法,ChatGPT-4 非常适合任何类型的 shell 脚本,并且很适合补充类型定义。另一位开发者报告说,当这位开发者没有异步运行时网络库的经验时,他使用 ChatGPT-4 产生了一款 Rust Web 套接字服务器。
受这些想法的启发,The New Stack 决定询问 ChatGPT-4 本身开发人员如何最好地使用它来构建应用程序。以下是它的建议:
“将我集成到您的应用程序中,以提供自然语言理解和生成功能,” AI 告诉 The New Stack 。“我可以协助完成语言翻译、情感分析、文本完成和总结等任务。
ChatGPT-4 可以用作构建聊天机器人的后端。它可以通过根据用户查询或说明生成响应来帮助开发人员创建交互式用户体验。
“如果你的应用程序需要生成文章、产品描述或社交媒体帖子等内容,你可以利用我的语言生成能力来创建连贯且上下文合适的文本,”机器人建议,事实上,Hacker News 上的一位开发人员确实报告使用人工智能为正在开发的百科全书开发 wiki 文章页面。
这一点似乎是不言而喻的,但并非微不足道。它还可用于总结开发人员在研究中可能发现的密集段落。
“将我纳入虚拟助手应用程序,以提供智能和上下文感知响应,” AI 建议。“我可以帮助用户完成日程安排、提醒、建议和一般信息检索等任务。”
这可能看起来是重复的,但值得指出的是,聊天机器人还可以提供有关编程概念和最佳实践的见解。
“雇用我来模拟用户交互并测试应用程序的功能,”AI建议道。“您可以生成示例输入、评估输出并执行基于场景的测试。”