写点什么

DevSecOps 中的 AI:从“智能副驾”到“自动驾驶”

  • 2024-01-12
    北京
  • 本文字数:2541 字

    阅读完需:约 8 分钟

大小:1.27M时长:07:23
DevSecOps 中的AI:从“智能副驾”到“自动驾驶”

作者|JFrog 大中华区总经理 董任远


自动驾驶和软件(SW)开发之间有何共同点?乍一看,并没有什么共同点。但仔细观察一下,就能发现两者之间存在一些相似之处,尤其是在实现基本目标的演进路径上。


开发团队本身不会成为 “乘客”,但设计、创建、保护、分发和维护等方面相关人员的传统角色和职责会发生转变。为了更好地理解这一点,可以先深入了解一下自动驾驶的概念,然后再将其与软件开发联系起来。

 

自动驾驶的概念出现已有多年,曾经看似未来派的概念如今已成为现实。从本质上来说,自动驾驶汽车(AV)旨在最大限度地减少交通出行中的人为失误(目前约 90% 的交通事故都是由人为失误造成的)。自动驾驶汽车的基本前提是其性能应优于普通人类驾驶员。自动驾驶技术可以节约时间,这至关重要。这样,人们就可以把精力投入到更令人愉悦的娱乐活动中,而不是耗费在交通路途中。

 

边缘计算和 AI 是实现自动驾驶的两大关键要素:它们使车辆能够在车内处理物联网传感器的数据,从而实现实时操作。这种能力对于任何任务关键型应用都至关重要。试图对机器进行手动编程,以处理各种可能的驾驶场景的做法已不切实际。相反,车辆必须从环境中动态学习。自动驾驶汽车的智能程度取决于各种物联网传感器数据的可用性,基于数据就能创建物理世界的数字孪生表示。数据越多样化,就能部署越复杂的 AI 系统。

 

观察自动驾驶的发展路径,我们可以发现,在每个阶段,人类的参与都在逐渐减少。自动驾驶汽车框架包括 6 个自动化级别,从 0(完全手动)到 5(完全自主)不等。


  • 无自动化:驾驶员完全控制所有驾驶任务。

  • 驾驶员辅助:车辆采用单一自动化系统,允许驾驶员将脚从踏板上移开。

  • 部分自动化:车辆具备转向和加速能力,驾驶员可以将手从方向盘上移开。

  • 有条件的自动化:车辆能够控制大部分驾驶任务,使驾驶员能够将视线从道路上移开,同时仍能保持监控。

  • 高度自动化:车辆在特定条件下能够执行所有驾驶任务,让驾驶员有机会在保持警惕的同时,将注意力从路面上移开。

  • 完全自动化:车辆可在任何条件下独立完成所有驾驶任务。这样,驾驶员就变成了乘客,完全不用担心任何驾驶责任。

 

AI 在软件开发中的优势与其在自动驾驶领域中的优势如出一辙,即最大限度地减少人为失误,使人能够腾出时间,从事创造性更强的工作。由于人力资源往往是软件开发中成本最高的环节,因此企业就有动力去采用 AI 系统,事半功倍。

 

仔细研究软件开发的演进路径,会发现其与自动驾驶技术的进步有着惊人的相似之处:在每个演进阶段,人类的参与都在逐渐减少:

 

本世纪初,软件开发几乎不涉及自动化。在软件开发生命周期(SDLC)的每个阶段都需要人工控制,因此整个过程基本上都需要手动操作。问题往往是由客户而非内部团队发现的。


到了 2010 年代中期,容器化、云计算和 DevOps 的兴起提高了软件开发生命周期的整体自动化程度和效率。在测试、代码审查和 CI/CD 等领域,基于预定义(硬编码)策略和“if-then”规则的常规任务和程序性决策实现了自动化。这样,研发团队就能专注于创造性工作,提高生产力,进而实现“引导和加速”。根据敏捷原则缩短开发周期,在开发和运维之间架起桥梁。问题的管理和解决开始从被动反应转变为自适应,各团队之间的协调更加顺畅。大多数问题甚至可以在客户意识到之前就被发现并解决。


时至今日,生成式 AI 正在推动软件开发的效率和创新水平至新高。基于生成式 AI 的解决方案可通过无缝的人机对话来创建新内容,自动化的应用远不止常规任务。AI 在整个软件开发生命周期过程中,是不折不扣的助手(智能副驾),它能够提供建议、解释问题、生成代码、监控流程、扫描资源库、提供预测并辅助快速决策,效率也开始得以提升。这将进一步加快和提高整体代码生成速度,意味着能够实现更多的软件构建、更多需要保护的软件以及更频繁的运行时更新。


当我们将嵌入式 AI 模型(MLOps)添加到现代软件开发的等式中时,上述领域将进一步扩大。“流式软件”的概念正逐渐成为现实,小规模的增量改进(基于二进制文件的更新)会自动从开发阶段流向运行阶段,而服务停机时间则会降至最低。


在应用安全方面,AI 能够通过预测,大幅缩短发现和修复问题的时间,从源头防止恶意软件包进入企业。首先是利用基于 AI 的严重性和上下文分析来进行自动化漏洞扫描和检测,然后是自动修复。尽管取得了上述进步,但在基于 AI 的解决方案展现出更高的可信度和可靠性之前,人工干预和审批仍然是必要的。


近年来,我们开始向全自动范式过渡,即从“智能副驾”(AI 助手)转变为“自动驾驶”(人工智能决策者)。机器可以通过自然语言用户界面(如英语)来解决高度复杂的问题,而这需要程序员掌握新型技能,引导对话达到预期状态。从根本上说,AI 系统的性能应优于普通人类开发者或参与上述流程的其他人员。AI 将进一步增强决策流程并使之自动化,使企业能够选择最佳的(数据驱动型)方法和工具来解决任何问题。对 AI 系统的信任将是最重要的,而这就要求做到对广范围语境的理解和合乎道德的决策制定,类似于当今自动驾驶所面临的挑战。自学习和自修复能力将成为检测、分析、隔离和修补问题并保持服务正常运行的关键。这意味着:软件将能够自我重写和更新,并增加新的功能以处理新的输入。同样,对于自动驾驶汽车,AI 系统也必须从自身运行环境中学习并做出相应调整。

 

总之,虽然自动驾驶与软件开发之间的相似之处可能不会立即显现出来,但这两个领域都有一个共同的目标,即利用 AI 来强化自身的运作,并让个体能够腾出时间来专注于更想追求的目标。在软件开发方面,AI 将持续加速并改进新功能和数据的创建,提升各研发职能的用户体验,逐步从可信赖的顾问发展到更高的决策自主权。从智能编码和安全,到覆盖整体 DevOps 堆栈,基于 AI 的“智能副驾”将慢慢成为整个软件开发生命周期的主流。企业对于 AI 必须坚持负责任且安全的原则和实践,以确保业务成果的可持续性。这涵盖 AI 生成软件的多方面,包括保护知识产权,避免潜在的安全和许可证合规问题等。AI 系统的逐步自主化将允许并确保与现有基础设施和监管环境的兼容性。

 

随着 AI 技术的不断进步,我们可以预见软件开发将迎来更深入的整合和创新。随着 AI 不断改变各行各业,我们也步入了一个激动人心的时代。软件开发的未来大有可为,想象力有多大,我们对机器能够赋予的开发责任就可以有多大。

 

2024-01-12 11:068096
用户头像
李冬梅 加V:busulishang4668

发布了 1041 篇内容, 共 655.9 次阅读, 收获喜欢 1205 次。

关注

评论

发布
暂无评论
发现更多内容

车联网平台搭建从入门到精通 01|车联网场景中的 MQTT 协议

EMQ映云科技

车联网 物联网 通信 mqtt 平台搭建

云效Flow如何实现阿里云ECS多环境发布

阿里云云效

阿里云 运维 云原生 软件开发 研发

K8s Ingress Provider 为什么选择 MSE 云原生网关?

阿里巴巴云原生

阿里云 Kubernetes 容器 微服务网关 云原生网关

网络安全kali渗透学习 web渗透入门 DDOS的原理和防护

学神来啦

使用Perf和FlameGraph进行系统性能分析

wong

flamegraph perf

Go 语言入门很简单:基准测试

宇宙之一粟

Go 语言 2月月更

SchedulerX 如何帮助用户解决分布式任务调度难题?

阿里巴巴云原生

阿里云 云原生 公有云 SchedulerX

[建造者模式实战]如何用JAVA实现一个基于POI的复杂表格导出工具类?

山河已无恙

Java 2月月更

Spring Boot Serverless 实战系列 | 性能调优

阿里巴巴云原生

spring 阿里云 Serverless 云原生 框架

网络安全之小程序抓包渗透测试流程

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

11种绕过CDN查找真实IP方法

喀拉峻

网络安全

【架构师训练营】模块七作业

樰巳-堕~Horry

架构实战营 「架构实战营」

Web Components 系列(八)—— 自定义组件的样式设置

编程三昧

前端 组件化 2月月更 WebComponent

数据分析实际案例之:pandas在泰坦尼特号乘客数据中的使用

程序那些事

Python 数据分析 pandas 程序那些事 2月月更

FinClip 的 2021 与 2022

FinClip

产品设计与思考

跨平台应用开发进阶(一) :走近 uni-app

No Silver Bullet

uni-app 跨平台 实战 2月月更

《新程序员》杂志|李鹏辉谈开源云原生消息流系统

Apache Pulsar

开源 架构 云原生 中间件 Apache Pulsar

性能分析之用户登录TPS低以及CPU被打满问题分析

zuozewei

性能分析 2月月更

JAVA 那些事 - 聊聊那些易混淆的概念:JVM/JRE/JDK,openJDK/oracleJDK,JAVA SE/JAVA EE/Jakarta EE

明哥的IT随笔

jdk Openjdk Java EE

GPU在Kubernetes中的使用与管理 | 社区征文

大菠萝

新春征文

技术人聊开源:这并不只是用爱发电

SOFAStack

开源

独家交付秘籍之招式拆解(第一回)

阿里巴巴云原生

阿里云 云原生 应用交付

MySQL RC事务隔离级别的实现

JavaEdge

2月月更

AI生明月,万里共文心

脑极体

一个cpp协程库的前世今生(二十六)共享栈

SkyFire

c++ cocpp

如何实现一个人管理1000个主播?

优秀

低代码 直播带货, 主播

《MySQL入门很轻松》第4章:数据表的创建修改删除

乌龟哥哥

数据库 2月月更

恒源云(GpuShare)_AIphaCode是否能取代程序员?

恒源云

深度学习 AI transformers

解构流存储 — Pravega,与 Flink 构建端到端的大数据流水处理线

Apache Flink

大数据 flink 开源 编程 实时计算

火山引擎 MARS-APMPlus X 美篇 | 形成应用性能全面监控,大幅提升APP稳定性

字节跳动终端技术

字节跳动 APM 性能监控 应用性能监控产品 火山引擎MARS

DevSecOps 中的AI:从“智能副驾”到“自动驾驶”_自动驾驶_董任远_InfoQ精选文章