大模型时代,2024的传统程序员还需要写代码吗?需要学习大模型吗?

news2024/9/28 14:00:01

一.引言

随着大模型(如GPT等)的迅猛发展,软件开发领域中我们的开发方式也在悄然发生变化。当然,我作为一名传统的Java后端开发工程师,在职业生涯的初期主要专注于使用多种数据结构以及算法编写业务代码。

然而,随着AI大模型应用技术逐渐渗透到大多数开发人员并且初步使用它之后,我有了一个疑问?

在这个大模型驱动的时代,程序员还需要像以前那样频繁地写代码吗?

本文将结合我的一点点看法,和大家一起探讨——在大模型时代下,传统程序员是否仍然需要专注于代码以及如何适应这一新趋势。

二.大模型的崛起与影响

这个议题我想分两个方向分享一下,分别是“浅层次的探究一下大模型能够在代码层面给予我们什么样的帮助”以及“大模型能够对传统开发流程产生什么样的影响”。

2.1 大模型对于传统代码的帮助

首先我个人非常喜欢在编写代码的时候对AI应用提出各种各样的问题,甚至是对他进行需求提问,所以累计了很多有意思的场景,如下所示:

img

不过由于篇幅原因,只针对不熟练代码的编写以及提出具体的模块需求两个方面进行演示。

2.2.1 不熟练的代码编写

大脑对于不常用的代码通常记忆的时间不会太长。对我自身来说正则表达式的功效虽然都明白,但是如果涉及到比较复杂的正则表达式可能会困惑我较长的时间,那么这个时候就可以使用gpt来辅助我们。

AI接受的输入:

在这里插入图片描述

AI生成的结果:

在这里插入图片描述

2.2.2 提出具体的模块需求

我们在实现大多数模块需求的时候,通过是针对这个模块进行CRUD(增删查改)的代码编写,这个代码通过会加入一些异常判断或者实体类转化等操作,所以无法避免还是会产生一些重复的工作量,这个不需要脑力的重复操作也可以交给AI完成。比如我需要完成一个用户标签模块的curd的时候:

img

结果:

Controller层:

img

Service层:

img

ServiceImpI层:

img

Mapper层:

img

可以看出其完整的编写关于用户标签的业务模块的代码,虽然业务逻辑很简单,但是我们可以在提示词中告诉他更多业务相关的判断逻辑,那么他就可以生成复杂的业务逻辑代码。

我曾经利用这套提示词的复杂版本在晚上空闲时间写了10多个接口,并且成功运行。

2.2 对传统开发流程的影响

虽然我没有展示全部的个人使用场景,但是上述的两个使用事例已经可以表达出AI应用对于目前传统开发者的影响力。那么这个影响力是不是扩展到传统的开发流程上呢?

现在企业里用的很多的开发流程之一当属敏捷开发流程,即传统的开发方法通常依赖团队的高效协作、持续的反馈循环以及迭代式的交付。

img

上述是敏捷开发的正常流程,那么AI应用可以在哪些步骤上给我们提速呢?

需求收集与分析: 在这个环节中,开发团队是需要与客户不断进行会议,通过口头交流、文档撰写、绘制图表等方式来明确项目的需求。那我们利用多模态大模型的特点,接收与客户交谈中的语音、文本、图片,视频等输入,自动根据我们提供的需求模版提取出大多数关键需求以及衍生需求等等。让项目团队管理者能够迅速捕捉客户的需求,并通过自动化工具整理和分析这些信息,减少了人工误差和沟通成本。

计划会议: 即节省会议之后的纪要数据整理与分析环节时间,让AI应用自动进行记录与总结,并且支持相关人员进行会议关键字提取以及要点汇总。使得团队能够更专注于核心任务,减少后续沟通中的不必要摩擦。

迭代开发过程: AI应用能够根据简单的业务描述快速生成高质量的代码片段,包括控制器、服务层和数据访问层的实现。这不仅减少了手工编码的时间,还显著降低了代码中的潜在错误,减少了后续Bug的产生,从而缩短了修复时间。开发者可以将更多的精力集中在业务逻辑的优化和创新上,而不是重复性任务的执行或不断修复Bug。这种效率的提升,使得项目开发周期大大缩短,质量也得到了显著提高。

三.传统程序员的角色转变与未来发展路径

在我看来传统程序员在角色转化上最重要的就是去拥抱AI,不要害怕AI对我们的改变,要去深入理解AI的使用和运行原理。

第一阶段:真正会使用AI。

掌握提示词工程(Prompt Engineering),即如何与AI进行高效互动。提示词的设计直接影响AI输出的质量,所以我们需要知道如何构建精确且具有指导性的提示词,以便AI能够生成符合我们预期的代码、文档或解决方案。

第二阶段:了解AI能够以及不能做什么

当我们掌握了一定程度的提示词工程后,下一步可以深入理解AI的能力边界。了解AI能够做什么,以及它的局限性。我推荐熟悉RAG(检索增强生成)和Agent(智能体)的概念,比如RAG如何做到结合外部知识库来增强AI的表现以及如何设计能够自主决策和任务执行的Agent智能体。只要掌握他们,我们就能够更精准地利用AI来处理复杂的业务场景,同时避免因AI的局限性而产生的风险。

第三阶段:体验AI应用开发

在深入了解AI的能力之后,对AI产生兴趣的同学们,可以去体验AI应用开发。在这个阶段,将使用如LangChain、扣子coze和dify等工具,亲身参与到以AI驱动的应用程序开发。通过实际的项目开发,不仅能够更好地理解AI的应用场景,还能探索如何将AI技术无缝集成到现有的业务系统中。这一过程将帮助我们进一步提升技能,适应AI时代的开发需求。

第四阶段:了解大模型架构

最后,我认为在角色转化的过程中最后等待我们的,并且难度很高的内容就是需要深入学习AI的底层原理,尤其是大模型的架构。理解如Transformers等关键架构对于掌握AI的工作机制至关重要。这一阶段主要是研究模型的训练过程、参数优化以及如何对模型进行微调。这更加有助于我们理解AI的运行逻辑,还能让我们具备定制和优化AI模型的能力,在实际项目中可以更好地应用AI技术。

四.写代码的必要性

尽管大模型在代码生成和优化方面表现如同演示中一样出色,但是复杂的业务逻辑、代码质量与可维护性仍然是一个不可忽视的问题。

而且在我看来,完全依赖大模型自动生成代码必然存在一定的风险,尤其是在复杂的业务场景中。大模型生成的代码虽然可以快速搭建出初步的业务逻辑,但最终的质量和可维护性仍需通过人工review和优化来保证。

最关键的是我认为创新和个性化需求是我们程序员的独特优势。大模型虽然可以生成高质量的代码,但在处理复杂的创新性需求时,仍然无法完全替代人类的创造力和判断力。

五.结论

尽管大模型的崛起对传统程序员带来了不小的冲击,但写代码的核心技能对于我们来说仍然至关重要。尤其在特定的业务场景和行业中,程序员的专业知识和经验依然不可替代。

然而,随着AI技术的不断发展,程序员需要主动拥抱这一变化,通过学习新技能和技术,提升自己的竞争力。同时,探索人机协同带来的效率提升,也是程序员未来发展的重要方向。

总之,在大模型时代,传统程序员不仅需要坚守传统的编程技能,还需不断创新,以适应未来的发展需求。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

所有测试人,下半年的新方向(大模型),赢麻了!!!

现在做测试,真的挺累的。 现在测试越来越难做,晋升困难,工资迟迟不涨……公司裁员,测试首当其冲!! 做测试几年了,还没升职,就先到了“职业天花板”。 想凭工作几年积累的经验&…

面向未来的设计:推动企业架构创新的关键——The Open Group 2024生态系统架构与可持续发展年度大会

在当今快速变化的数字时代,企业的可持续发展和创新能力比以往任何时候都更为重要。The Open Group 2024生态系统架构可持续发展年度大会,为全球技术和数字化转型专业人士提供了一个无与伦比的机会,以探索先进的企业架构与建模解决方案&#x…

SQLite3模块使用详解

目录 一、引言 1.1 SQLite3 简介 1.2 Python sqlite3 模块 二、连接数据库 2.1 导入 sqlite3 模块 2.2 连接数据库 2.3 创建游标对象 三、执行 SQL 语句 3.1 创建表 3.2 插入数据 3.3 查询数据 3.4 更新数据 3.5 删除数据 四、处理查询结果 4.1 fetchall() 4.2…

FollowYourPose - 生成可编辑、姿态可控制的人物视频

文章目录 关于 FollowYourPose摘要🍻🍻🍻设置环境💃💃💃培训🕺🕺🕺推理💃💃💃 本地 Gradio 演示🕺🕺&#x1f…

性能测试常见故障和解决思路详解

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 一、性能问题分析流程 1、查看服务器的CPU、内存 、负载等情况,包括应用服务器和数据库服务器 2、查看数据库健康状态,数据库死锁、连…

监控易监测对象及指标之:全面监控Sybase_New数据库

随着企业数据量的不断增长和业务的复杂化,数据库的稳定性和性能成为了保障业务连续性的关键因素。Sybase_New数据库作为众多企业选择的数据管理解决方案,其稳定性和性能对于企业的运营至关重要。 为了确保Sybase_New数据库的稳定运行和高效性能&#xff…

在类外定义的运算符重载函数

对基本的数据类型,C提供了许多预定义的运算符,如,-,*,/,等,他们可以用一种简洁的方式工作,例如 运算符: int x, y, z; x 3; y 5; z x y; 这是将两个整数相加的方法…

急!现在转大模型还来得及吗?零基础入门到精通,收藏这一篇就够了

大模型的出现,让行内和行外大多数人都感到非常焦虑。 行外很多人想了解却感到无从下手,行内很多人苦于没有硬件条件无法尝试。想转大模型方向,相关的招聘虽然层出不穷,但一般都要求有大模型经验。而更多的人,则一直处…

指数级增长使Hugging Face上的人工智能模型达到100万个

本周四,人工智能托管平台Hugging Face的人工智能模型列表首次突破100 万个,这标志着快速扩张的机器学习领域的一个里程碑。 人工智能模型是一种计算机程序(通常使用神经网络),通过数据训练来执行特定任务或进行预测。 …

【算法】字符串相关

【ps】本篇有 4 道 leetcode OJ。 一、算法简介 字符串是一种数据结构,大多与别的算法结合在一起出题,例如模拟、高精度算法、双指针、dp、回溯等,因此这个专题的题型本身是特别丰富的。本篇选取了较为典型的字符串题型,除了涵盖一…

双端之Nginx+Php结合PostgreSQL搭建Wordpress

第一台虚拟机:安装 Nginx 更新系统包列表: sudo apt update安装 Nginx及php扩展: sudo apt install nginx php-fpm php-pgsql php-mysqli -y启动 Nginx 服务: sudo systemctl start nginx检查 Nginx 是否正常运行: xdg-open http://localhost注意:终端命令打开网址 …

【射频通信电子线路第六讲】射频信号与调制包括调幅和部分调频的内容

一、调制(Modulation)与解调(Demodulation) 1、相关概念 调制是指使一个信号(如光信号、高频电磁振荡等)的某些参数(振幅、频率和相位)按照另一个欲传输的信号的特点变化的过程。 …

Linux基础(二):磁盘分区

1.磁盘在Linux中的文件名 SATA接口的磁盘在Linux中名字为/dev/sdx。/dev 几乎是所有外接设备存放的文件夹: 磁盘在Linux中的文件名是不确定的,比如拿一个U盘插到Linux主机,可能第一次名字为sda,拔插后名字为sdc,这取…

新160个crackme - 067-CarLitoZ.1

运行分析 需要破解Code PE分析 VB程序,32位,无壳 静态分析&动态调试 使用VB Decompiler分析,发现注册模块需要满足var_18 var_ret_7var_18 abt.Label1.MousePointer 即输入框填入的信息var_ret_7 Mid(var_1C, 6, 1) Mid(var_20, 9, 1…

《Linux运维总结:使用 MongoDB工具备份和恢复mongodb 7.0.14分片集群(方案一)》

总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:《Linux运维篇:Linux系统运维指南》 一、备份说明 1、要使用mongodump备份分片集群,您必须 停止负载均衡器、 停止写入,避免备份的数据出现状态不一致问题。 2、从MongoDB7.0.2开始(也可以从6.0…

net core mvc 数据绑定 《1》

其它的绑定 跟net mvc 一样 》》MVC core 、framework 一样 1 模型绑定数组类型 2 模型绑定集合类型 3 模型绑定复杂的集合类型 4 模型绑定源 》》》》 模型绑定 使用输入数据的原生请求集合是可以工作的【request[],Querystring,request.from[]】, 但是从可读…

芝法酱学习笔记(0.3)——SpringBoot下使用mybatis做增删改查和报表

零、前言 书接上回,我们搭建了windows下的开发环境,并给出了一个hello world级别的多模块SpringBoot项目。 毕竟java后端开发,离不开数据库的操作,为方便后面内容的讲解,这里再做一期铺垫,core模块下新增一…

国际版多语言点赞抖音分享点赞任务平台源码

>>>系统简述: 本系统是一个国际化的点赞、分享任务平台的源代码,特别针对抖音这个短视频社交平台进行了定制。源码支持十二种不同的语言,旨在为用户提供一个全球化的服务环境,促进内容的传播和互动。首页可领取脸书tikt…

如何使用 DomCrawler 进行复杂的网页数据抓取?

在互联网时代,数据是宝贵的资源。无论是市场分析、客户洞察还是内容聚合,从网页中抓取数据都是一项关键技能。Symfony 的 DomCrawler 是一个强大的工具,可以帮助开发者从复杂的网页中提取所需的数据。本文将详细介绍如何使用 DomCrawler 进行…

学习Python的难点分析

一、语法灵活性带来的困惑 缩进规则 Python使用缩进来表示代码块,而不是像其他编程语言(如C或Java)使用大括号。这虽然使代码看起来简洁,但对于初学者来说可能会造成困扰。例如: if True:print("This is insid…