0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

扎心灵魂小拷问:有了AI编写代码之后,软件工程师会被AI取代吗?

北汇信息POLELINK 2024-05-24 19:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

软件开发者们有很多让他们焦虑的事情。他们最担心的不再是如何用他们最喜欢的编程语言(C、C++、Erlang、Java等)表达最新的算法。相反,这种担忧正逐渐被人工智能AI)所取代。

在这里,我们将探讨AI编写代码的过程,并回答这个问题:AI会取代程序员吗?

什么是AI代码生成?
近年来由于生成式AI使用的激增,在很大程度上是因为现在有足够的计算能力来运行深度学习算法,以及用于训练机器学习模型所需的大量数据的增加。

AI代码的生成是使用生成式人工智能和机器学习编写计算机代码的过程。

生成式AI编码工具正在改变软件开发的过程。但这样的进步带来了不确定性。随着AI编写代码,这对软件开发者意味着什么呢?

AI编写代码的未来
生成式AI的潜力已经在逐渐成形。AI正在改变行业,并准备加速创新。OpenAI进行的一项研究估计,生成式AI工具可能占据影响所有任务的47%,大大加快软件开发过程。

在Evans Data Corp进行的一项调查中,550名软件开发者被问及他们职业生涯中最令人担忧的问题。29%的人表示“我和我的开发成果已被人工智能取代”。

美国能源部橡树岭国家实验室的一个研究小组同意这一点。到2040年,机器学习和自然语言处理技术将先进到能够编写比最佳人类开发人员更好的软件代码,而且它们会做得更快。

牛津大学的研究“就业未来”警告说,随着机器学习的进步,软件工程师可能会变得计算机化,而软件设计选择将由算法优化。

软件开发,特别是在安全关键行业中,需要确保高代码质量,以满足功能要求。

所以,如果AI正在开发代码,那么代码应该是无错误和问题的。这也包括AI在软件测试中,因为它应该能够以人类不太可能配备的可靠性去检测出编码错误。

如果您确实有AI编写代码,请确保通过使用静态代码分析器来验证它是安全、安全和可靠的。

AI编写代码是否可能?
AI可以编写代码。

早在2015年,Andrej Karpathy就运行了一个使用循环神经网络生成代码的项目。他用GitHub的Linux存储库(所有源文件和头文件),将它们合并成一个巨大的文档(超过400MB的C代码),并用这个代码训练了RNN。

这是它产生的:

/*
* If this error is set, we will need anything right after that BSD.
*/
static void action_new_function(struct s_stat_info *wb)
{
unsigned long flags;
int lel_idx_bit = e->edd, *sys & ~((unsigned long) *FIRST_COMPAT);
buf[0] = 0xFFFFFFFF & (bit << 4);
min(inc, slist->bytes);
printk(KERN_WARNING "Memory allocated %02x/%02x, "
"original MLL instead\n"),
min(min(multi_run - s->len, max) * num_data_in),
frame_pos, sz + first_seg);
div_u64_w(val, inb_p);
spin_unlock(&disk->queue_lock);
mutex_unlock(&s->sock->mutex);
mutex_unlock(&func->mutex);
return disassemble(info->pending_bh);
}

static void num_serial_settings(struct tty_struct *tty)
{
if (tty == tty)
disable_single_st_p(dev);
pci_disable_spool(port);
return 0;
}

static void do_command(struct seq_file *m, void *v)
{
int column = 32 << (cmd[2] & 0x80);
if (state)
cmd = (int)(int_state ^ (in_8(&ch->ch_flags) & Cmd) ? 2 : 1);
else
seq = 1;
for (i = 0; i < 16; i++) {
if (k & (1 << 1))
pipe = (in_use & UMXTHREAD_UNCCA) +
((count & 0x00000000fffffff8) & 0x000000f) << 8;
if (count == 0)
sub(pid, ppc_md.kexec_handle, 0x20000000);
pipe_set_bytes(i, 0);
}
/* Free our user pages pointer to place camera if all dash */
subsystem_info = &of_changes[PAGE_SIZE];
rek_controls(offset, idx, &soffset);
/* Now we want to deliberately put it to device */
control_check_polarity(&context, val, 0);
for (i = 0; i < COUNTER; i++)
seq_puts(s, "policy ");
}

AI生成的代码——包括函数和函数声明——一夜之间。它有参数、变量、循环和正确的缩进。括号被打开,后来又被关闭。它甚至有注释。

然而,AI产生的代码有语法错误。它没有跟踪变量名,有时变量被声明但从未使用,其他时候变量被使用但没有定义。代码示例中的第二个函数比较了tty == tty。

该项目可在GitHub上获取。它使用Torch7深度学习库。这是Karpathy练习产生的整个输出文件。

生成式AI会取代软件工程师吗?
AI不会取代程序员,但AI已经在帮助开发人员编写代码。像ChatGPT、Github、CoPilot和OpenAI Codex这样的AI驱动编码助手是可访问的工具,它们帮助嵌入式开发人员更快地编写更好的代码。AI代码生成器现在可以快速生成高质量的代码片段,识别问题和缺陷,并建议对代码片段进行改进。

当然,AI能够创建实际的、可生产的代码,这些代码跨越了几行以上,还需要一段时间。

以下是AI将如何在不久的将来影响软件开发的方式:

AI将改进
它将变得擅长自动化任务,并帮助开发人员了解他们的选择。然后,它将让人类决定如何优化AI无法理解的情况。

AI将成为编码伙伴
软件开发人员将使用AI作为编码伙伴来编写更好的软件。如今已经在发生,并将随着AI学会一次编写多于几行代码而继续流行。开发人员将把AI配对编程工具包含在他们的IDE中,类似于人类配对编程,AI工具将根据提示执行编码任务,然后开发人员会审查代码。以往这个过程更加劳动密集,但AI工具可以比人类开发人员更快地执行他们SDLC的某些部分,使开发人员能够专注于更复杂的任务。

但程序员仍然很重要
程序员的真正价值不在于知道如何构建它,而是知道要构建什么。待AI学会如何解释每个功能和建议优先开发的商业价值还需要更长的时间,因此人类程序员的角色将始终存在。

如果AI写出可靠的代码会怎样?
这是一个很大的假设。大多数人类无法编写可靠的代码,而且AI只是一个分析大量人类编写的代码的应用程序。因此AI写出可靠代码的可能性很小。

大多数程序员都同意这一点。在CodeSignal最近的一项调查中,全球1,000名开发人员被问及他们对AI编码助手工具的使用情况。虽然81%的开发人员表示他们使用AI驱动的编码助手,但55%的受访软件工程师表示他们对AI生成的代码质量有顾虑。

所以,AI并不是提高代码质量的答案。

如何在今天提高代码质量
当前,我们可以通过静态代码分析可以提高代码质量,而不是通过用AI取代程序员来实现。

程序员编写代码,静态代码分析器确保代码符合编码规则;扫描代码以识别潜在的错误和安全漏洞;发现在代码审查和软件测试中通常被忽略的错误从而提高整体的代码和软件质量。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件
    +关注

    关注

    69

    文章

    5296

    浏览量

    90857
  • AI
    AI
    +关注

    关注

    89

    文章

    38085

    浏览量

    296328
  • 嵌入式代码
    +关注

    关注

    0

    文章

    5

    浏览量

    6051
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    开源鸿蒙技术大会2025丨AI软件工程分论坛:智能创新,赋能开源鸿蒙软件工程

    师生深度参与技术交流联动。论坛由华为终端软件工程与IT装备部孙为国与开源鸿蒙AI软件工程SIG副组长王意明联合出品。此次论坛的成功举办标志着开源鸿蒙AI
    的头像 发表于 11-20 17:32 589次阅读
    开源鸿蒙技术大会2025丨<b class='flag-5'>AI</b><b class='flag-5'>软件工程</b>分论坛:智能创新,赋能开源鸿蒙<b class='flag-5'>软件工程</b>

    工程师变身AI“指挥者”,吉利与阿里云的软件开发变革实验

    1975年,IBM工程师Fred Brooks在《人月神话》中提出软件工程的核心难题:随着系统规模和团队规模增长,复杂度会呈指数级上升。他的结论是, 软件工程“没有银弹”,没有单一技术能带来数量级
    的头像 发表于 11-13 10:43 197次阅读
    <b class='flag-5'>工程师</b>变身<b class='flag-5'>AI</b>“指挥者”,吉利与阿里云的<b class='flag-5'>软件</b>开发变革实验

    融合AI的OpenHarmony应用软件开发:ai学习自律辅助软件

    *附件:ai study.zip*附件:融合AI的OpenHarmony应用软件开发:ai学习自律辅助软件.pdf 基于开源鸿蒙
    发表于 11-12 15:38

    【「AI芯片:科技探索与AGI愿景」阅读体验】+AI芯片的需求和挑战

    AI的应用多种多样。比如:DALL-E2、Midjourney、Stable Diffusion等,不仅包括对话功能,还包括生成图像、视频、语音和程序代码等功能。 竟然连代码都可以生成,会取代
    发表于 09-12 16:07

    招镶入式工程师1个,硬件工程师一个,

    东莞市研生科技有限公司是一家蓝牙方案公司,主营蓝牙方案的设计开发,产品包括蓝牙BLE/4G透传/AI智能体方案开发,因公司发展需要需对外招聘嵌入式软件开发工程师,对蓝牙音频/BLE以及智能IC读卡器
    发表于 08-29 02:14

    关于NanoEdge AI用于n-Class的问题求解

    据进行分类,请问这是什么原因造成的,应该如何解决?你们是否AI方面的技术支持工程师,可以解答一下我们的应用疑问?
    发表于 08-11 06:44

    AI的未来,属于那些既能写代码,又能焊电路的“双栖人才”

    正因此,一个词被频频提起:“双栖人才”:既能写代码,又能焊电路。二、“双栖工程师”正在构建真正的AI系统我们发现,在AI落地过程中, “从Python到板子”之间
    发表于 07-30 16:15

    做了电子工程师之后,最好拍的视频出现#硬件设计 #电子DIY #电子工程师

    电子工程师
    安泰小课堂
    发布于 :2025年06月24日 17:45:57

    如何成为一名嵌入式软件工程师

    、Java等)和软件开发工具,还需要对硬件的工作原理深入的理解。 在团队中,嵌入式软件工程师往往扮演着核心角色,他们的工作直接关系到产品的性能、稳定性和用户体验。 02掌握核心技能与知识
    发表于 04-15 14:37

    一招拿捏电子工程师#被AI拿捏 #电子工程师 #电子电工

    电子工程师
    安泰小课堂
    发布于 :2025年03月25日 17:30:51

    电子工程师如何利用AI革新设计范式

    AI重构电子产品设计范式的进程中,工程师们应如何平衡创新与风险,以确保在提升设计效率和产品性能的同时,有效应对安全、隐私和数据质量等挑战?
    的头像 发表于 03-19 15:17 1150次阅读

    安富利最新研究解读AI应用的核心趋势与挑战,助力中国工程师把握AI机遇

    富利(纳斯达克股票代码:AVT)日前发布第四次年度Avnet Insights(安富利洞察)研究报告。研究显示,工程师们对人工智能(AI)在产品开发中的应用机遇持谨慎乐观的态度,这是
    发表于 03-03 17:42 273次阅读
    安富利最新研究解读<b class='flag-5'>AI</b>应用的核心趋势与挑战,助力中国<b class='flag-5'>工程师</b>把握<b class='flag-5'>AI</b>机遇

    FPGA+AI王炸组合如何重塑未来世界:看看DeepSeek东方神秘力量如何预测......

    工作的理解。 AI加持的FPGA工程师不仅不会被人工智能取代,反而能够充分发挥FPGA的灵活性和高效性,在AI时代创造出更具竞争力的解决方
    发表于 03-03 11:21

    嵌入式软件工程师就业好不好?

    嵌入式软件工程师就业好不好?会不会越老越吃香?今天一起来看看。 首先看下市场需求。 随着物联网、人工智能、5G等前沿技术的快速发展,嵌入式系统的应用领域不断扩大,从智能家居、汽车电子到工业自动化
    发表于 02-20 10:19