AI程序员会让程序员失业吗?

前天百度创始人李彦宏还在说,以后的人,会说话就具备写程序的能力。昨天,英伟达CEO黄仁勋又说,不要再学编程了,机器会替代程序员。

但是在今天,首位AI程序员就诞生了。刚刚,一家叫Cognition的10人初创公司,才成立不到2个月,就研发出全球第一款AI程序员Devin。它可以掌握云端部署、底层代码、改bug、训练和微调AI模型。这让身为程序员的我突然瑟瑟发抖起来。我心想,难道我要失业了吗?忽然一想,哦,我去年就失业了,算了,不害怕了。

那么,AI程序员到底能不能写代码呢?他们官网的宣传片是否真实呢?

我们来验证一番吧。

假设我有一个需求,那就是将一个张图片从中间劈开,看看AI能不能写出来。

询问AI内容:请编写一段代码,将一张图片从左到右,一分为二,并保存为文件。

AI回复:

ini 复制代码
from PIL import Image

# 打开图像文件
image_path = 'img.png'  # 替换为你的图片文件路径
image = Image.open(image_path)

# 计算新图像的宽度和高度
width, height = image.size
new_width = width // 2

# 将原始图像一分为二
left_image = image.crop((0, 0, new_width, height))
right_image = image.crop((new_width, 0, width, height))

# 保存每个部分为新的文件
left_image.save('img_left_half.png')
right_image.save('img_right_half.png')

print("图像分割完毕,左半部分保存为 'img_left_half.png', 右半部分保存为 'img_right_half.png'")

代码写得不错,也有注释。下面,我们找一张图片试试。运行一下,它做到了。

如果这段代码让程序员写。做过类似功能的程序员,可能就是复制粘贴的时间。如果没做过这个功能,那可能要花上几个小时的时间去编写了。

再来实验一个功能。假设老板让我写一个功能,把用户上传的txt文档,转为Excel存储。那么,这个功能让AI写代码,效果会如何呢?

询问AI内容:请编写一段代码,读入一个txt文件,然后按行写入excel,列以空格拆分。

AI回复:

ini 复制代码
import openpyxl

def txt_to_excel(txt_file, excel_file):
    # 打开txt文件进行读取
    with open(txt_file, 'r', encoding='utf-8') as txt:
        lines = txt.readlines()

    # 创建一个新的Excel工作簿和工作表
    wb = openpyxl.Workbook()
    ws = wb.active

    # 逐行写入Excel,以空格拆分列
    for row_num, line in enumerate(lines, start=1):
        # 以空格拆分列
        data = line.strip().split()
        # 写入Excel行
        for col_num, value in enumerate(data, start=1):
            ws.cell(row=row_num, column=col_num, value=value)

    # 保存Excel文件
    wb.save(excel_file)

# 使用示例
txt_to_excel('input.txt', 'output.xlsx')

运行一下,查看效果:

果然是可以的。

随后我又试了几个,功能包括数据库读写,算法计算,文件处理,多线程,UI渲染等,这些功能AI都可以写出来。而且,100%可以流畅运行。

并且,对于bug的排查,AI也是可以轻松找出问题所在。下面是我故意写了一段运行有问题的代码。

交给AI排查时,AI这么回答:

看来,让AI写代码是可行的。其实,这也不是什么新闻了。早在ChatGPT 3.5训练完成时,开发人员就惊喜地发现了AI具备代码编写的能力。而这项功能,是出乎设计者的意料的,他们也没有想到。

一年多时间过去了,现在有创业团队慢慢地深耕这一个领域,算是作出一个垂直领域的成果。这也是在意料之中,只不过是个时间长短关系。

目前来说,AI程序员虽然能够编写代码,排查bug以及部署程序。但是它还无法完全取代现实的程序员。

因为编写代码不仅仅是机械的任务,还涉及到创造性的思考和设计。人类程序员能够理解业务需求、制定系统架构,并根据具体情境做出灵活的决策。因为许多软件问题是复杂的,需要深入领域知识,并提出创造性的解决方案。AI目前仍然还是个通用模型,难以处理所有领域和问题。比如,都是处理同一项计算,在金融和电力行业,规则是不一样的。

另外,软件开发通常是一个团队协作的过程,这涉及到与其他团队成员、客户或利益相关者的沟通。人类程序员具有良好的沟通能力和团队协作技能,这些方面的工作是难以被AI完全替代的。除非将一个巨大的任务,从上游到下游全都交给AI来做。显然,这是不可能的。

此外,软件开发领域不断发展,新的技术和工具不断涌现。人类程序员通常更容易适应这些变化。而AI程序员虽然也能进行学习,但是前提是先有这些工具,并且有了一定量的训练数据,它们才能学习。而且,在人类不指定工具的情况下,他们会更倾向于采用旧技术,因为这类技术的数据资料占比最大。

随着技术的不断发展,AI程序员会越来越智能,可以解决更多的问题,也会进一步提高开发效率。

但要完全取代人类程序员,目前看来仍然是一个遥远的未来。这就如同大家都会做饭,但是厨师依然存在一个道理。

相关推荐
AKAMAI17 分钟前
Akamai Cloud客户案例 | IPPRA的简洁、经济、易用的云计算服务
人工智能·云计算
Exploring42 分钟前
从零搭建使用 Open-AutoGML 搜索附近的美食
android·人工智能
阿里云大数据AI技术1 小时前
在 DataWorks 中一键部署大模型,即刻用于数据集成和数据开发
人工智能
AI科技星1 小时前
质量定义方程常数k = 4π m_p的来源、推导与意义
服务器·数据结构·人工智能·科技·算法·机器学习·生活
机器之心1 小时前
OpenAI推出全新ChatGPT Images,奥特曼亮出腹肌搞宣传
人工智能·openai
机器之心1 小时前
SIGGRAPH Asia 2025:摩尔线程赢图形顶会3DGS挑战赛大奖,自研LiteGS全面开源
人工智能·openai
_Stellar1 小时前
从输入到输出:大语言模型一次完整推理简单解析
人工智能·语言模型·自然语言处理
【建模先锋】1 小时前
特征提取+概率神经网络 PNN 的轴承信号故障诊断模型
人工智能·深度学习·神经网络·信号处理·故障诊断·概率神经网络·特征提取
轲轲011 小时前
Week02 深度学习基本原理
人工智能·深度学习