面向AI时代的软件开发新范式

news2024/11/29 12:29:23

作为一名软件开发者,有幸站在了AI时代的风口浪尖。在这篇博客中,我将分享我的个人看法,一起走向AI时代软件开发新范式。
首先,我们要明确软件开发活动产生的各种制品,都是人类知识的载体,也是人类文明的高级形式。
• 各种文档、数据文件、图表(Diagram) 、XML、Schema、Table …. 都是人类语言的一种表达形式。
• 计算机编程语言(Programming Language),是人类最“讲究”的语言,它有着最严密的逻辑、规则、思维,但同时又不失人类语言的“艺术性。
综上所述,编程语言废话较少,精华压缩,是非常适合LLM训练的数据。那LLM时代会带来哪些改变、哪些不变呢?
在这里插入图片描述

AGI时代的曙光

Gen AI (Generative AI)时代的到来让软件开发的范式正在发生翻天覆地的变化。
GPT( Generative Pre-trained Transformer )生成式预训练模型,通过无监督学习的方式对海量人类自然语言语料库来进行大语言模型训练(LLM,Large Language Model),同时采用人类反馈的强化学习( RLHF) 来调教。由于其强大的智能生成能力,被公认为开创了全新的AIG( Generative AI) 时代,大大加快了通用AI的道路。
在这里插入图片描述
传统的开发模式,倾向于描述性、确定性计算,而大模型时代倾向于对话式、概率性计算。
在这里插入图片描述

编程范式的转变

软件领域凡是由人参与的“经验性活动”,即软件工程,需要各种“语言”进行沟通、协调、传授…… 大模型会驱动剧烈的改变。
• 需求分析
• 软件设计
• 代码编写
• 开发者测试、代码评审
• 重构、Clean Code
• 缺陷调试
• …

传统程序设计 =算法 +数据结构
AIG 程序设计=模型+Prompt(提示)+Fine-Tune(精调)

在AIG时代,编程不再只是算法和数据结构的简单组合。模型、提示(Prompt)和精调(Fine-Tune)成为了新的编程三要素。这让我意识到,作为开发者,我们需要掌握新的技能,比如Prompt的设计和Fine-Tune的技巧。

不变的地方

关于业务场景需求分析与设计,这块LLM不会改变,仍旧需要以人为主;其次,软件领域人类积累的客观性的“定律”,大模型不会改变。如
• 计算机体系结构
• 操作系统
• 计算机网络
• 算法、数据结构
• 编译器、编程语言
• 软件设计模式与架构
在这里插入图片描述

自动化开发的五个级别

李建忠博士提出的“自动驾驶开发”模型,让我对软件开发的自动化有了更清晰的认识。从L0到L5,每个级别都代表了软件开发自动化的不同阶段。这不仅是一种技术的进步,更是一种思维的转变。
在这里插入图片描述
因此,原先的计算机编程会逐步过渡到自然语言编程的阶段,即:

  • 自然语言逐步成为软件编程的主要方式。
  • Prompt 技能和模式成为高级软件工程师的必修课。
  • Fine-Tune 成为系统工程师的关键招式,高级语言下沉,类似今天的汇编语言,是底层工程师的秘笈。

CHATGPT在软件开发中的应用

CHATGPT作为Gen AI时代的代表,其在软件开发中的出色表现。无论从编码开发到缺陷修复,还是从代码重构到开发者测试,CHATGPT都能提供强大的支持。这让我觉得未来的软件开发是否将更多地依赖于这些智能工具。
在这里插入图片描述

软件开发的未来趋势

随着AIG时代的到来,软件团队的模型也在发生变化。新的职业角色,如LLM系统工程师、LLM模型研发工程师和LLM Master,正在成为软件开发的中坚力量。作为开发者,我们需要不断学习和适应新的职业角色和技能要求。
在这里插入图片描述

大模型定制开发与培训

在AIG时代,大模型的定制开发和培训变得尤为重要。从OpenAI public API到Azure OpenAI Service,再到各种开源大模型的定制,这些都是我们作为开发者需要掌握的新技能。同时,Prompt Design、Fine-Tune、Embedding等技能的培训,也成为了我们提升自身能力的必经之路。
在这里插入图片描述

结语

面向AI时代的软件开发新范式,不仅仅是技术的革新,更是对软件开发思维和方法的一次深刻反思。作为开发者,只要我们不断学习和适应,就能在AI时代中找到自己的位置,创造出更加智能、高效和创新的软件。

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

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

相关文章

校园疫情防控健康打卡系统

摘 要 自疫情出现以来,全世界人民的生命安全和健康都面临着严重威胁。高校是我国培养人才的重要基地,其安全和稳定影响着社会的发展和进步。因此,各高校高度重视疫情防控工作,并在校园疫情防控中引入了健康打卡系统。本论文主要研…

Cookie-SameSite属性 前端请求不带cookie的问题解决方案

最近遇到了前端请求后端不带cookie的问题, 请求时header里面就是没有cookie 查看响应应该是这个问题 SameSite是一个cookie属性,用于控制浏览器是否在跨站点请求中发送cookie。它有三个可能的值: 1. Strict(严格模式&#xff09…

如何使用pwclient从社区邮件列表获取相关补丁

最近在调试Qualcomm的QCA2066 WiFi 6E平台,主控处理器信息如下所示: 6nm AMD APU CPU:Zen 2 4c/8t、2.4-3.5GHz(最高可达 448GFlops FP32) GPU:8 RDNA 2 CUs、1.6GHz(1.6 TFlops FP32&#xff0…

Tomcat配置详解

文章目录 一、配置文件介绍配置文件日志文件 二、组件组件分层和分类核心组件Tomcat处理请求过程URL对应关系 三、部署java程序手动部署搭建博客状态页 四、常见配置详解tomcat端口号安全配置管理虚拟主机配置Context配置 四、Tomcat Nginx动静分离 一、配置文件介绍 配置好环…

代码讲解——ssm+jsp+maven项目目录结构说明

1 applicationContext.xml 应用上下文配置 2 db.properties 数据库配置 3 log4j.properties日志配置 4 mybatis-config.xml mybatis配置 5 springmvc.xml springmvc配置

【ai】tx2-nx:安装深度学习环境及4.6对应pytorch

参考:https://www.waveshare.net/wiki/Jetson_TX2_NX#AI.E5.85.A5.E9.97.A8 英伟达2021年发布的的tritionserver 2.17 版本中,backend 有tensorflow1 和 onnxruntime ,他们都是做什么用的,作为backend 对于 triton 推理server意义是什么,是否应该有pytorch? Triton Infer…

新版二开微信发卡小程序源码卡密系统/支持流量主

新版二开微信发卡小程序源码卡密系统支持流量主。裂变扩展多种领取模式二次开发的发卡小程序源码,其后台采用PHP编写,支持用户通过付费购卡或者观看视频广告领取卡密。 该小程序还支持流量主,因为功能需要,就进行了二开&#xff…

LeetCode 热题100 --哈希

哈希 哈希,有限空间映射一个无限的空间。在空间内,有序化进行快速查询。 用空间换时间。 1.两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组…

如何使用ChatGPT辅助设计工作

文章目录 设计师如何使用ChatGPT提升工作效率?25个案例告诉你!什么是 prompt?咨询信息型 prompt vs 执行任务 prompt编写出色 prompt 的基本思路撰写 prompt 的案例和技巧1、将 ChatGPT 视作专业人士2、使用 ChatGPT 创建表单3、使用 ChatGPT…

论文学习 Learning Robust Representations via Multi-View Information Bottleneck

Code available at https://github.com/mfederici/Multi-View-Information-Bottleneck 摘要:信息瓶颈原理为表示学习提供了一种信息论方法,通过训练编码器保留与预测标签相关的所有信息,同时最小化表示中其他多余信息的数量。然而&#xff0…

驶向未来,智慧加油新体验——我们的加油App开发之旅

一、引言 在数字化与智能化交织的时代,每一次出行都呼唤着更加高效、便捷的服务。为了满足广大车主对加油服务的更高需求,我们倾力打造了一款创新的加油App,旨在为您的驾驶生活带来前所未有的智慧新体验。 二、洞察需求,创新服务…

torch.optim 之 Algorithms (Implementation: for-loop, foreach, fused)

torch.optim的官方文档 官方文档中文版 一、Implementation torch.optim的官方文档在介绍一些optimizer Algorithms时提及它们的implementation共有如下三个类别:for-loop, foreach (multi-tensor), and fused。 Chat-GPT对这三个implementation的解释是&#xf…

光伏设计需要设计哪些方面?

光伏设计是一项复杂而关键的工作,它涉及到多个方面的综合考虑,以确保光伏系统的效率、安全性和可持续性。下面将详细探讨光伏设计需要设计的几个方面。 一、系统规模与布局 光伏设计的首要任务是确定系统的规模和布局。这包括评估安装地点的光照资源、可…

工业智能网关如何与设备连接?天拓四方

随着工业4.0时代的来临,智能化、自动化已成为工业生产的标配。在这样的背景下,工业智能网关应运而生,成为连接工业设备、实现数据交互与管理的关键节点。本文将阐述工业智能网关如何与设备连接,旨在为读者提供一套清晰、实用的解决…

实现Hexo新建博文时自带随机默认封面

文章目录 1. Hexo模版2. 准备封面和缩略图3. 新建博文脚本windowsLinux 4. 效果展示 前提是选择的主题在Front-matter中支持cover和thumbnail,主题之间对于这两个属性的定义可能并不用,如果不适用,只需要根据逻辑修改脚本即可。 1. Hexo模版…

python爬虫之selenium自动化操作

python爬虫之selenium自动化操作 需求:操作淘宝去掉弹窗广告搜索物品后进入百度回退又前进 selenium模块的基本使用 问题:selenium模块和爬虫之间具有怎样的关联? 1、便捷的获取网站中动态加载的数据 2、便捷实现模拟登录 什么是selenium模块&#x…

视频去水印,视频去水印软件

有时候我们在网上下载了一些喜欢的视频,但是却发现上面有水印,影响观看体验。今天我就来教大家一个轻松去除视频水印的简单的方法。 一、使用专业视频编辑软件去水印 市面上有很多专业的视频编辑软件,如Adobe Premiere Pro,它们都…

通过python代码将html文件另存为xlsx文件

通过python实现办公流程自动化,经常遇到从网页上下载的excel文件为html格式的表格(或者后缀为xls/xlsx,实际依旧为html格式),无法通过python处理文件数据,比如合并excel文件,此时就需要将文件另…

Element-ui中Table表格无法显示

Element-ui中Table表格无法显示 在使用过程中发现样式正常显示但是table就是不显示,研究了一段时间后,发现问题是项目结构的问题 当你创建vue和安装el的时候,一定要注意进入到正确的项目文件夹,如果在外面也出现一个package.jso…

神经网络模型---LeNet-5

一、LeNet-5 1.定义LeNet-5模型 model models.Sequential([1.1添加一个二维卷积层,有6个过滤器,每个过滤器的尺寸是5x5。输入图像尺寸是28x28像素,具有1个颜色通道,激活函数是relu layers.Conv2D(6, (5, 5), activationrelu, input_shape…