用 ChatGPT 写代码太省时间了

几个月前,我们聊过陶哲轩使用 ChatGPT 辅助解决数学问题。当时,他觉得虽然测试结果不太令人满意,但也并没有对 ChatGPT 持完全否定的态度。他觉得,像 ChatGPT 这类大型语言模型在数学中可以用来做一些半成品的语义搜索工作,也就是用它来生成一些提示。

图片

陶哲轩还认为,「我预计如果使用得当,到 2026 年,AI 将成为数学研究和许多其他领域值得信赖的合著者。」

今日,陶哲轩又分享了一个新体验:使用 ChatGPT 写 Python 代码计算 Phi 非递减序列的数学问题,他觉得也非常有价值。

前一阵的前提还是「未来」,现在他又对 ChatGPT 搞数学发表了一通意见,可见还是不死心,还在想方设法地要用 AI 大模型提升自己的工作效率。

图片

在这次体验中,他使用的 Prompt 是「I would like to write a program in some standard programming language (e.g., Python or C++) that, when given a natural number n, calculates the length M (n) of the longest subsequence of {1,…,n} on which the Euler totient function varphi is non-decreasing. For instance, if n = 6, we would have M (n)=5, because varphi is non-decreasing on {1,2,3,4,5} or {1,2,3,4,6} but not {1,2,3,4,5,6}. How would one program this? Ideally I’d like a program that can run reasonably quickly for medium values of n (say as large as 100), suggesting perhaps a dynamic programming method, but initially a brute force approach that only works for small n might be good enough for me.」

图片

在对话的结果中,ChatGPT 先解释了一番,给出了以下 Python 代码:

import mathdef phi(n):"""Compute the Euler totient function for n."""result = nfor i in range(2, int(math.sqrt(n)) + 1):if n % i == 0:while n % i == 0:n //= iresult -= result // iif n > 1:result -= result // nreturn resultdef is_non_decreasing(seq):"""Check if a sequence is non-decreasing."""for i in range(1, len(seq)):if seq[i] < seq[i-1]:return Falsereturn Truedef longest_non_decreasing_phi_subsequence(n):"""Find the length of the longest subsequence of {1,...,n} on which phi is non-decreasing."""phi_values = [phi(i) for i in range(1, n+1)]max_length = 0for i in range(n):for j in range(i, n):if is_non_decreasing(phi_values[i:j+1]):max_length = max(max_length, j-i+1)return max_lengthn = 6
print(longest_non_decreasing_phi_subsequence(n))  # Output: 5

在陶哲轩看来,这番生成的结果有非常有趣的点,例如,它能够生成一个非常聪明的程序来计算 totient 函数。但部分地方也存在计算的偏差。

使用完后,陶哲轩认为结果已经足够好,「我能够使用 GPT 最初生成的代码作为起点手动生成我想要的代码,这可能节省了我大约半个小时的工作。」此外他还说,在未来类似的计算中,他能会再次转向 GPT 来提供初始代码。

而在与读者的互动中,我们可以发现,大家对于 ChatGPT 帮忙写代码是十分欢迎的。有些人表示我不太懂代码,不过有 ChatGPT 以后,从零开始写程序不是什么问题了。

图片

第一个生成式 AI 杀手级应用,恐怖如斯?

这时有人就问了:如果说你不怎么会代码,那又是怎么搞明白 ChatGPT 生成的代码是否正确的呢?

陶哲轩表示,我不经常用 Python 编写代码,所以我也没有掌握一些基本语法(比如 for 循环),并且按引用传递和按值传递之间存在一些微妙之处,这让我很困惑。几乎每次,包括当我最终错误地初始化二维数组时,我必须通过手动检查动态更新来调试。所以,拥有几乎正确的代码,并且已经具有正确的语法对我来说有很大帮助,否则我将不得不搜索几乎每一行代码来弄清楚如何准确地表达它。

相比编写数学证明(这更多地属于我的领域专业知识),我同意你的观点,即 GPT 提供的不完全正确的论证对我来说不会特别有帮助。AI 生成的内容还不如我自己从头开始写。

图片

用大模型搞定不熟悉的专业知识,看来这就是未来人们使用 ChatGPT 提升生产力的方式?

此外,也有人比较关心这些生成代码的来源是哪里?是否有版权问题?但似乎真的挺难溯源。

图片

在你的工作中,你会使用 ChatGPT 来生成代码做辅助吗?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/118461.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

iOS开发Swift-4-IBAction,group,音乐播放器-木琴App

1.使用素材创建木琴App的UI。 2.连接IBAction。 其余按钮直接拖拽到play里边。 当鼠标置于1处时2处显示如图&#xff0c;表示成功。当用户按下任一按钮都会触发play中的内容。 3.将7个按钮的View中的Tag值分别调为1、2、3、4、5、6、7. 4.将音频文件拖入项目文件中。 Create gr…

VSCode连接服务器

Pycharm连接服务器参考我的另一篇文章Pycharm远程连接服务器_pycharm进入服务器虚拟环境终端_Jumbo星的博客-CSDN博客 本质上Pycharm和VSCode都只是IDE&#xff0c;没有什么好坏之分。但是因为Pycharm连接服务器&#xff08;准确来说是部署&#xff09;需要买professional。而…

Kubernetes技术--k8s核心技术Controller控制器

1.Controller概述 Controller是在集群上管理和运行容器的对象。是一个实际存在的对象。 2.pod和Controller之间的关系 pod通过controller实现应用的运维,包括伸缩、滚动升级等操作。 这里pod和controller通过label标签来建立关系。如下所示: 3.Deployment控制器应用场景 -1:…

MySQL 8.1.0 推出 InnoDB Cluster 只读副本

全面了解 8.1.0 版本新功能&#xff1a;InnoDB Cluster 只读副本的相关操作。 作者&#xff1a;Miguel Arajo 高级软件工程师 / Kenny Gryp MySQL 产品总监 本文来源&#xff1a;Oracle MySQL 官网博客 * 爱可生开源社区出品。 前言 MySQL 的第一个 Innovation 版本 8.1.0 已…

【小沐学Python】UML类图的箭头连线关系总结(python+graphviz)

文章目录 1、简介1.1 类图1.2 Graphviz 2、Graphviz2.1 安装2.2 命令行测试2.3 python测试 3、关系3.1 实现3.2 泛化3.3 关联3.4 依赖3.5 聚合3.6 组合 结语 1、简介 UML&#xff08;unified modeling language&#xff0c;统一建模语言&#xff09;是一种常用的面向对象设计的…

排序算法问题

给你一个整数数组 nums&#xff0c;请你将该数组升序排列。 示例 1&#xff1a; 输入&#xff1a;nums [5,2,3,1] 输出&#xff1a;[1,2,3,5] 示例 2&#xff1a; 输入&#xff1a;nums [5,1,1,2,0,0] 输出&#xff1a;[0,0,1,1,2,5] 代码如下&#xff1a; 1.插入排序(简…

【Grasshopper基础15】“右键菜单似乎不太对劲”

距离上一篇文章已经过去了挺久的&#xff0c;很长时间没有写GH基础部分的内容了&#xff0c;原因其一是本职工作太忙了&#xff0c;进度也有些落后&#xff0c;白天工作累成马&#xff0c;回家只想躺着&#xff1b;其二则是感觉GH基础系列基本上也介绍得差不多了&#xff0c;电…

Linux C++ 海康摄像头获取过车信息

代码 void CALLBACK MessageCallback(LONG lCommand, NET_DVR_ALARMER *pAlarmer, char *pAlarmInfo, DWORD dwBufLen, void *pUser) {printf("enter MessageCallback---------------------->\n");int i;NET_DVR_ALARMINFO_V30 struAlarmInfo;memcpy(&struAl…

浅谈红队资产信息收集经验

文章目录 子公司资产收集备案号|官网收集子域名|ip收集fofa灯塔ARLX情报社区 资产确认目录扫描Google Hacking绕过CDNnmap端口扫描参数技巧其他常用工具 子公司资产收集 红蓝对抗中往往只会给你目标企业的名称&#xff0c;以及对应的靶标系统地址&#xff0c;而很少有直接从靶标…

Python大数据处理利器之Pyspark详解

摘要&#xff1a; 在现代信息时代&#xff0c;数据是最宝贵的财富之一&#xff0c;如何处理和分析这些数据成为了关键。Python在数据处理方面表现得尤为突出。而pyspark作为一个强大的分布式计算框架&#xff0c;为大数据处理提供了一种高效的解决方案。本文将详细介绍pyspark…

Mac“其他文件”存放着什么?“其他文件”的清理方法

很多Mac用户在清理磁盘空间时发现&#xff0c;内存占用比例比较大的除了有iCloud云盘、应用程序、影片、音频、照片等项目之外&#xff0c;还有一个“其他文件”的项目磁盘占用比也非常大&#xff0c;想要清理却无从下手。那么Mac“其他文件”里存放的是什么文件&#xff1f;我…

Anaconda虚拟环境下导入opencv

文章目录 解决方法测试 解决方法 1、根据自己虚拟环境对于的python版本与电脑对应的位长选择具体的版本&#xff0c;例如python3.9选择cp39&#xff0c;64位电脑选择64 下载地址&#xff1a;资源地址 若是不确定自己虚拟环境对应的python版本&#xff0c;可以输入下列命令&…

【LeetCode】剑指 Offer <二刷>(1)

目录 前言&#xff1a; 题目&#xff1a;剑指 Offer 03. 数组中重复的数字 - 力扣&#xff08;LeetCode&#xff09; 题目的接口&#xff1a; 解题思路&#xff1a; 代码&#xff1a; 过啦&#xff01;&#xff01;&#xff01; 写在最后&#xff1a; 前言&#xff1a; …

【办公自动化】使用Python批量处理Excel文件并转为csv文件

&#x1f935;‍♂️ 个人主页&#xff1a;艾派森的个人主页 ✍&#x1f3fb;作者简介&#xff1a;Python学习者 &#x1f40b; 希望大家多多支持&#xff0c;我们一起进步&#xff01;&#x1f604; 如果文章对你有帮助的话&#xff0c; 欢迎评论 &#x1f4ac;点赞&#x1f4…

Linux知识点 -- Linux多线程(四)

Linux知识点 – Linux多线程&#xff08;四&#xff09; 文章目录 Linux知识点 -- Linux多线程&#xff08;四&#xff09;一、线程池1.概念2.实现3.单例模式的线程池 二、STL、智能指针和线程安全1.STL的容器是否是线程安全的2.智能指针是否是线程安全的 三、其他常见的各种锁…

微服务dubbo和nexus

微服务是一种软件开发架构风格&#xff0c;它将一个应用程序拆分成一组小型、独立的服务&#xff0c;每个服务都可以独立部署、管理和扩展。每个服务都可以通过轻量级的通信机制&#xff08;通常是 HTTP/REST 或消息队列&#xff09;相互通信。微服务架构追求高内聚、低耦合&am…

vue声明周期

1.在created中发送数据 async created(){ const resawait axios.get("url) this.listres.data.data } 2.在mounted中获取焦点 mounted(){ document.querySelector(#inp).focus()

视频图像处理算法opencv在esp32及esp32s3上面的移植,也可以移植openmv

opencv在esp32及esp32s3上面的移植 Opencv简介 OpenCV是一个基于Apache2.0许可&#xff08;开源&#xff09;发行的跨平台计算机视觉和机器学习软件库&#xff0c;可以运行在Linux、Windows、Android和Mac OS操作系统上&#xff0c;它轻量级而且高效——由一系列 C 函数和少量…

vmware虚拟机(ubuntu)远程开发golang、python环境安装

目录 1. 下载vmware2. 下载ubuntu镜像3. 安装4. 做一些设置4.1 分辨率设置4.2 语言下载4.3 输入法设置4.4 时区设置 5. 直接切换管理员权限6. 网络6.1 看ip6.2 ssh 7. 本地编译器连接远程服务器7.1 创建远程部署的配置7.2 文件同步7.3 远程启动项目 8. ubuntu安装golang环境8.1…

TDesign表单rules通过函数 实现复杂逻辑验证输入内容

Element ui 中 我们可以通过validator 绑定函数来验证一些不在表单model中的值 又或者处理一下比较复杂的判断逻辑 TDesign也有validator 但比较直观的说 没有Element那么好用 这里 我们给validator绑定了我们自己的checkAge函数 这个函数中 只有一个参数 value 而且 如果你的…