一个技巧,让ChatGPT学会复杂编程,编程水平逼近人类程序员!

article/2025/4/22 17:20:06

夕小瑶科技说 原创
作者 | 智商掉了一地、Python

随着 AIGC 技术迈出了一大步,ChatGPT 等聊天机器人被频繁地使用在生活和工作中的各个场景。想象一下,当你写代码陷入没有头绪的境地或者无法解决 Bug 时,这种基于大型语言模型(LLM)的系统由于有丰富的训练数据与强大的推理能力,可能会在一些简单的代码生成任务上有着出色表现,为你提供灵感。然而,在面对更复杂的代码生成任务(如竞赛级问题)时,仍然存在一定的挑战。

有一个名为 BRAINSTORM(头脑风暴)的新框架或许能更好地应对这个问题,它利用高层次算法蓝图、神经排序模型以及 LLM 的推理能力,来帮助我们生成多样化的思路并找到最佳的解决方案,它的性能甚至可以达到与人类程序员相当的水平。让我们一起来看看吧~

论文题目:
Think Outside the Code: Brainstorming Boosts Large Language Models in Code Generation

论文链接:
https://arxiv.org/abs/2305.10679

大模型研究测试传送门

ChatGPT能力研究传送门: hujiaoai

GPT-4能力研究传送门(遇浏览器警告点高级/继续访问即可): Hello, GPT4!

背景介绍

程序综合

程序综合(Program Synthesis)在自动化软件发现、程序分析和验证、以及人机交互等领域中有广泛的应用,它是一种旨在通过自动合成完整的功能程序来解决开发者所提出问题的技术。

传统方法通常在由底层编程语言定义的搜索空间中搜索满足特定任务约束条件的程序。然而,这种方法面临着搜索空间复杂和形式规约不足等问题。基于深度学习的程序综合可以从非正式规范(如自然语言、部分代码、输入-输出示例或伪代码)中生成程序。目前,深度学习方法主要用于生成特定领域内的短程序或通用编程语言中的单行代码。

竞赛级的代码生成

竞赛级代码生成(Competition-level code generation)是指生成竞赛级水平的复杂编程解决方案的过程。这需要模型具有更高的推理和抽象能力,能理解和消化更为复杂的任务描述、更长的代码,以及更多的上下文信息。研究表明,LLM 在零样本设置中生成代码,比针对特定数据集进行微调具有更好的泛化能力。此外,对 GPT-4 的调查表明它能以个位数的通过率解决竞赛级编程问题。

论文速览

BRAINSTORM 框架是一种用于竞赛级代码生成的方法,其核心是生成多样化的思路并从中选择高质量的思路,从而有效利用 LLM 的算法推理能力。该框架通过设计多种类型的指令,将这些指令与问题描述一起输入到 LLM 中,以生成多样化的思路。

▲图1 BRAINSTORM 框架的示例

如图 1 所示,BRAINSTORM 框架包括以下步骤:

  1. 头脑风暴(Brainstorming):该步骤是 BRAINSTORM 框架的核心,旨在生成各种可能有助于解决给定问题的思路。如图 2 所示,为了实现这个目标,作者设计了多种类型的指令,并将这些指令与问题描述一起输入到 LLM 中。

  2. 思路选择(Idea Selection):在上一步中生成了大量的思路后,需要对它们进行筛选和排序。如图 3 所示,具体地,使用了一个评估函数来评估每个思路的质量,并选择最高质量的思路作为最终输出。

  3. 代码生成(Code Generation):在上一步中选择了最佳思路后,需要将其转换为代码。具体而言,作者使用了一个代码生成器来将思路转换为可执行代码。而且如图 4 所示,BRAINSTORM 框架可以在零样本情况下工作,与少样本方法不同,这里不需要任何示例即可实现高效的代码生成。

实验

文中进行了多项实验,对其结果总结如下:

  • 如表 1 和 2 所示,在 APPS 和 CodeContests 基准测试中,作者使用 BRAINSTORM 框架生成代码,并与其他方法进行比较。结果表明,BRAINSTORM 框架在这两个基准测试中都显著提高了 LLM 的性能。

    如图 5 所示,在涉及概率、最短路径和图的问题上有显著的相对改善,并且随着评级的提高,该方法始终优于 ChatGPT 和 COT。

  • 作者还在真实编程竞赛中进行了实验,将 BRAINSTORM 框架应用于代码生成。表 3 的结果表明,该框架可以将 ChatGPT 算法推理能力提高到与人类程序员相当的水平

这些结果表明,在使用 BRAINSTORM 框架时,LLM 生成的代码质量更高、更接近人类程序员所写的代码。

小结

本文介绍了一种名为BRAINSTORM的新的竞赛级别代码生成框架,其亮点在于:

  1. 提出竞赛级别代码生成框架 BRAINSTORM:通过生成多样化的思路并从中选择高质量思路来实现高效代码生成任务

  2. 利用 LLM 的算法推理能力:通过设计多种类型的指令来实现生成多样化的思路,并使用评估函数和代码生成器将思路转换为可执行代码。

  3. 零样本学习:可以在零样本情况下工作,不需要任何示例即可实现高效的代码生成。

随着该领域的进一步探索和发展,我们相信生成更精准、高质量的代码将成为一种必然趋势。当更多研究者将目光投入这个领域,那么我们离解放双手生成代码的美好世界也会更近一步~


http://chatgpt.dhexx.cn/article/j4pi47ce.shtml

相关文章

如何实现高性能网络编程-ChatGPT怎么看

hi ,大家好,我是大师兄。 听说最近chatgpt特别火,那我们邀请一下chatgpt如何实现: 我们先来小试牛刀: 刚开始用先用英文交流一下,然后试一下中文: 元芳你怎么看? 下期直播主题--网络编程 (如何实…

玩转ChatGPT:文献总结工具

黑色是我码的,其余均为ChatGPT/New bing生成 一、写在前面 嘿!科研狗们,相信大家在读SCI文献的时候,都曾遇到过抓狂的时刻吧?毕竟那些专业术语和技术性词汇,真的是让人头疼啊。但是,现在有了Ch…

什么是真正的ChatGPT——ChatGPT的工作原理、优点和限制分析

目录 前言 ChatGPT的优点 1. 可以识别情感并作出相应的回应 2. 可以提供实用的建议和指南 3. 可以提供个性化的服务 4. 可以提高效率和便捷性 ChatGPT的限制和挑战 1. 对于一些复杂或模糊的问题无法处理 2. 面临隐私和安全问题 3. 需要大量的数据和算法支持 总结 前言…

用ChatGPT做嵌入式应用开发

ChatGPT是一种基于自然语言处理技术的人工智能模型,由OpenAI团队开发的。它基于大规模的语言数据集进行训练,并可以生成高质量的自然语言文本,包括对话、摘要、翻译等多种应用。 ChatGPT 主要应用场景包括: 智能客服&#xff1a…

9款工具让 ChatGPT 如虎添翼! 帮你效率翻百倍!

ChatGPT chat.openai.com ChatGPT能够在同一个会话期间内回答上下文相关的后续问题。其在短时间内引爆全球的原因在于,在网友们晒出的截图中,ChatGPT不仅能流畅地与用户对话,甚至能写诗、撰文、编码。 会问AI 地址:公众号 「…

ChatGPT万能工具箱 | ChatGPT辅助神器 提升了用户体验 提问回答更加精确。

简介 提高ChatGPT网站的用户体验,提供一些实用的功能,如自动从URL中填充提示、在回复框中提供自动提示按钮等等。通过ChatGPT万能工具箱,您可以获得一些额外的实用功能,以提高ChatGPT网站的使用体验。目前,我们提供了两…

4个ChatGPT拓展出来的工具

现在ChatGPT 相关 的方向非常的多,各个大厂一个一个推出了自己的大模型,从国外到国内,ChatGPT 相关 也有几十个,这是大厂的方向。 对于比较小的团队,很多都是在ChatGPT 的基础上进行的开发,下面罗列出4个在…

推荐 5 个好玩的 ChatGPT 开源应用

推荐 5 个基于 ChatGPT 的开源应用:基于强大的 GPT 大模型能力,看能开出什么好玩有趣实用的应用。 本期推荐开源项目目录: 1. 基于 OpenAI 的翻译应用 2. 让 ChatGPT 支持图片 3. 你的 AI 助手 4. 可以与 ChatGPT 联动的智能音箱 5. ChatGPT …

体验一波ChatGpt工具-cursor(自动代码生成)

最近体验了一把cursor,自动生成代码工具,集成了最近很火的ChatGpt,目前比较好的就是代码生成工具大概就是github copilot和cursor,不过github copilot需要付费使用或者漫长的waitlist,所以目前比较好的cursor 官网介绍…

当我问 ChatGPT 能否推荐一下好用的 API 管理工具时?

近期围绕 ChatGPT 的话题,真的太多了。我们就知道了 ChatGPT 简单说就是搜索引擎社交工具,这个解释最简单明了。出于好奇,我也用 ChatGPT 测试了一下: 我: 在中国,最好的 API 管理工具是什么? …

ChatGPT:这个AI工具集导航你应该收藏

AI的到来让我们的工作事半功倍,无论你是文员,财务,还是开发营销,你有了这些AI工具,你的工作效率将大大提升。 这个AI工具集包含了,AI写作,AI图像,AI聊天。。。等等机会所有的AI工具…

16款ChatGPT工具,炸裂收藏!

上一篇:ChatGPTXMind,炸裂了! 1.ChatGPT for google 一个浏览器插件,可搭配现有的搜索引擎来使用。 最大化搜索效率,对搜索体验的提升相当离谱: 安装完插件后,在搜索引擎搜索任何问题&#xff0…

香港科技大学:期中报告使用 ChatGPT 可加分;爆谷歌、微软已在韩国开始裁员;美国最大加密货币银行宣布关闭|极客头条

「极客头条」—— 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧。 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews) 一分钟速览新闻点&…

ChatGPT遭港大「封杀」:罪同论文剽窃抄袭,使用须报备过审

衡宇 发自 凹非寺量子位 | 公众号 QbitAI ChatGPT太能写了,论文、作业,哪里不会就帮写哪里。 为此,香港大学明文禁止师生将ChatGPT用于教学用途,违规使用将被判为抄袭。 港大也成为国内首家对ChatGPT进行明文规定的高校。 具体来说…

港大全面封杀ChatGPT!AI肆虐高校,作弊丑闻震惊全世界

来源:新智元(ID:AI_era) 编辑:学妹 ChatGPT,已经开始在全世界的高校里肆虐。最近,港大打响了国内AI反击战第一枪。 随着AI生成的文本与人类的写作越来越像,高中和大学的老师们快被疑…

活动报名丨ChatGPT的鲁棒性探究:对抗性和分布外泛化的视角

2023年3月2日(星期四)14:00-15:00,智源社区主办的「智源LIVE 第32期线上分享活动:由香港城市大学数据科学学院博士生胡曦煦和微软亚洲互联网工程院应用科学家侯汶昕,共同讲解《ChatGPT的鲁棒性探究——对抗性和分布外泛…

CSDN官方ChatGPT开启内测了

CSDN官方ChatGPT开启内测了,入口如图所示

ChatGPT实现撰写邮件

撰写邮件 电子邮件是日常工作中很常用的工具,在相对正式的场合,一封格式美观、用语典雅的电子邮件正文会起到很好的作用。ChatGPT 可以较好的完成电子邮件的编写和格式美化工作。 下面让我们以产品销售的角度,写一封推销邮件。假定产品名称…

教程 | 太炸裂,使用ChatGPT插件写邮件,效率提升100倍

今天,我们要介绍一款与ChatGPT相关的浏览器插件:ChatGPT Writer。 ChatGPT Writer不同于其他浏览器插件,它的专注点在于能够在所有网站上编写电子邮件和消息。这个工具不仅适用于日常办公,还特别适合需要频繁进行邮件回复的客服岗…

【ChatGPT实战】2.使用ChatGPT自动化操作邮件

邮件营销,相信大家一定不会陌生吧,特别是做跨境电商的用户,那么邮件营销特别常见的。因此,决定给大家写这篇实操文章。 接下来,我将向大家介绍如何使用ChatGPT来自动化处理邮件,让我们不再被无休止的邮件沟…