社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  chatgpt

陶哲轩:用 ChatGPT 写代码太省时间了

Python极客专栏 • 1 年前 • 197 次点击  

转自:机器之心

自从用上了 ChatGPT,陶哲轩就时不时来夸奖一番。

数学家陶哲轩可太喜欢 ChatGPT 了!


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



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


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


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



在这次体验中,他使用的 Prompt 是:


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

import math

def phi(n):
    """Compute the Euler totient function for n."""
    result = n
    for i in range(2, int(math.sqrt(n)) + 1):
        if n % i == 0:
            while n % i == 0:
                n //= i
            result -= result // i
    if n > 1:
        result -= result // n
    return result

def is_non_decreasing(seq):
    """Check if a sequence is non-decreasing."""
    for i in range(1, len(seq)):
        if seq[i] -1]:
            return False
    return True

def 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 = 0
    for 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_length

n = 6
print(longest_non_decreasing_phi_subsequence(n))  

# Output: 5

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


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


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


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


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


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


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



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


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



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


参考链接:

https://mathstodon.xyz/@tao/110991566012143311

https://chat.openai.com/share/a022e1d6-dddc-4817-8bbd-944a3e742d9f


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/161827
 
197 次点击