开发者们为OpenAI最新的大型语言模型GPT-4找到了许多不平凡的用途。在最近的Hacker News讨论中,开发者们分享了他们是如何使用这种大型语言模型(LLM)的。我们在此整理了一些最佳建议,并附上了ChatGPT本身关于开发者应如何使用它的额外建议。
有一位发帖者表示自己在编写包含多个连接的SQL查询方面不太擅长。因此,这位编码员只是向机器人展示了表定义,并告诉它自己的需求。发帖者警告说,与人工智能通常的情况一样,可能需要经过几次迭代才能得到正确的结果。
同一位评论者还使用ChatGPT-4来编写正则表达式。“它在这方面非常出色,”这位程序员报告说。
另一位编码员使用它来头脑风暴和原型设计解决问题的方法。特别是,他主要将其用于机器学习管道、小型React网站和Python命令行界面(CLI)。
“首先,我会要求它给我问题领域的概述,这样大型语言模型(LLM)就能了解背景,”他说道。“然后,我会描述问题,并要求它生成解决方案,同时列出每种方法的优缺点。这是一个迭代的过程:你可能会提问,修改它的建议,并定期总结。之后,你可以要求它为你提供原型代码,或者自己编写。”
“橡皮鸭调试”是一种通过用自然语言口头或书面解释问题来调试代码的做法。这个术语来源于《程序员修炼之道》中的一个故事,故事中一位程序员随身携带一只橡皮鸭,通过迫使自己逐行向鸭子解释代码来进行调试。一位程序员表示,ChatGPT-4可以用来逐行解释代码。
尽管一位用户表示,在纯开发或同行评审方面,ChatGPT-4“尚未达到那个水平”,但它作为虚拟导师,擅长澄清后续问题。
开发者菲利普·奥图尔(Philip O’Toole)使用了ChatGPT-4完成了6至10等任务以及其他工作。这为他节省了大量时间,并且他非常喜欢这个过程,于是他写了一篇博客文章,讲述ChatGPT-4如何帮助他编写数据库代码。在某一阶段,他不确定ChatGPT-4建议的更改如何减轻垃圾收集器的压力,于是他要求ChatGPT-4进行解释,ChatGPT-4做到了。他采纳了这些更改。
11.为C++编写微型基准测试
“它们总是可以编译,但需要一些编辑,”西蒙·博姆(Simon Boehm)指出。他还补充说,这需要良好的提示。
博姆使用ChatGPT-4的另一种方式是直接“将plain objdump – S的输出内容导入其中”。
“我需要优化一些Python代码以减少其内存使用,”维托·巴普蒂斯塔(Vitor Baptista)写道。“在尝试了我能想到的所有想法之后,我考虑用另一种语言重写它。将代码复制粘贴到GPT 4中。
起初我尝试使用Rust,但编译错误太多。然后我尝试使用Go,它运行得非常完美。”
这位开发者从未使用过Go,他使用GPT-4来改进Go代码。他写道:“它给了我很好的答案,我认为可能有一两次代码没有编译通过(我每天使用它几十次)。我现在正在生产环境中使用优化后的Go代码。”
另一位程序员使用它来生成自己不太熟悉的语言的代码,在这个案例中是JavaScript。“我的JavaScript不是很强,所以我可能需要花费30到45分钟的时间重新熟悉基本的AJAX和现代语法,或者快速写下我的想法的架构,并让GPT以相当不错的风格和语法将我的想法写在纸上,”这位程序员表示。“我可以从那里开始。”
“GPT-4不擅长做事情,但擅长为你查找事情,”一条评论写道。“与其尝试让它做事情,不如问它我应该如何去做。”
一位开发者使用GPT-4编写了一个简单的React应用来测试一个端点。一旦代码运行起来,这位开发者将应用重新放回AI中,并要求它使其“更具视觉吸引力”——它做到了。
关于AI的一大预测是,它将为测试进行定制。已经有人开始使用它进行单元测试和一些文档编写。这位人士表示:“我发现它输出的代码并不完美,但获取一些样板代码并进行修复,比从头开始编写要快得多。我已经用得足够多,以至于在它周围包装了一些命令行工具……”这位评论者主要使用它来编写Python和Bash代码,尽管它也被用于“编写一些Makefile和Dockerfile”。
18.OpenSearch(或ElasticSearch)查询构建
“我对这项技术很陌生,它们的语法花了我一段时间才理解。相反,我会直接告诉ChatGPT我的文档格式,然后用自然语言询问具体的数据,”一位发帖者写道。“提醒一下,查询结果并不总是第一次就完美,但比解析Stack Overflow上类似问题的回复要容易得多。现在我主要自己编写查询,但它真的帮助我入门了。”
代码可能并不完美,但许多开发者表示,他们使用GPT-4来“推动”编程问题的解决。有人用它来开始使用TypeScript和React。
基本上,AI充当了学习如何执行复杂任务的支架。对此的一个建议是:在要求它编写代码之前,迭代地让机器人总结所有已达成一致的内容,另一位程序员建议道。
一位程序员报告称,他使用GPT-4在OpenCV中进行图像处理。“它节省了我大量时间,这些时间原本我会用来找出所需的变换和矩阵运算,”这位开发者写道。
据一位黑客新闻读者称,GPT-4非常适合任何类型的脚本编写,并且对于丰富类型定义也非常有效。另一位开发者报告称,他使用ChatGPT-4在没有异步运行时网络箱经验的情况下,生成了一个在Rust中工作的Web套接字服务器。
受到这些想法的启发,《新堆栈》决定直接询问ChatGPT-4,开发人员如何最好地使用它来构建应用程序。这是它给出的建议:
“将我集成到您的应用程序中,以提供自然语言理解和生成能力,”AI告诉《新堆栈》。“我可以协助完成语言翻译、情感分析、文本补全和摘要等任务。”
ChatGPT-4可以作为构建聊天机器人的后端。它可以根据用户查询或指令生成响应,帮助开发人员创建交互式用户体验。
“如果您的应用程序需要生成内容,如文章、产品描述或社交媒体帖子,您可以利用我的语言生成能力来创建连贯且符合上下文的文本,”机器人建议道。确实,一位在黑客新闻上的开发者报告称,他使用AI为正在开发中的百科全书编写维基百科文章页面。
这一点似乎最为显而易见,但并非微不足道。它还可以用于总结开发人员在其研究中可能发现的密集段落。
“将我集成到虚拟助手应用中,以提供智能且上下文感知的响应,”AI建议道。“我可以帮助用户执行诸如日程安排、提醒、推荐和一般信息检索等任务。”
这可能听起来有些重复,但值得指出的是,这个聊天机器人还可以提供关于编程概念和最佳实践的见解。
“使用我来模拟用户交互并测试您的应用程序功能。”AI建议道。“您可以生成样本输入,评估输出,并执行基于场景的测试。”