2019-AI技术带给软件开发的6种转变

Author Tanmer Tanmer
Tanmer · 2024-10-18发布 · 542 次浏览

随着人工智能技术的不断发展将会颠覆我们传统的软件制作,软件开发智能化不在是个趋势而是必然性的体现

AI正在逐渐的改变所有业务功能,软件开发也不例外。机器学习技术不仅可以用于加速传统的软件开发生命周期(SDLC),也为技术创新提供了一种全新的范例。
传统上,开发计算机程序要求我们事先准确指定系统要做的事情,然后手工设计技术的所有功能。以明确的方式编码许多任务。然而随着时代的发展需求的不断提高,有许多任务和决定太复杂,无法以严格的,基于规则的方式教给计算机。即使是像识别互联网上的照片或视频是否属于猫这样看似简单的活动,也是传统软件开发无法实现的。鉴于猫照片可以采取的巨大排列,没有任何工程师团队可以列举所有能够可靠地识别猫的规则以及可能出现在媒体中的所有其他可能的对象。

机器学习从根本上改变了软件开发模式
进入人工智能技术,如机器学习和深度学习。在这些方法中,软件开发人员不会为如何制定决策和采取行动提供计算机规则。相反,他们会策划并准备特定领域的数据,这些数据被输入到学习算法中,这些算法经过迭代训练并不断改进。机器学习模型可以从数据中推断出哪些特征和模式是重要的,而无需人类明确地编码这些知识。ML模型的输出甚至可以给人类带来惊喜,并突出我们自己没有想到的观点或细节。
因此,人工智能对计算机编程的最深刻影响是揭示人类如何感知,定义和执行软件开发。
现任特斯拉人工智能总监的OpenAI研究科学家安德烈·卡尔帕西(Andrej Karpathy)表示,“未来很大一部分程序员不会维护复杂的软件存储库,编写错综复杂的程序或分析他们的运行时间。他们将会收集,清理,操作,标记,分析和可视化为神经网络提供数据的数据。“Karpathy用一种高度可引用的见解来描述海洋变化:”神经网络不仅仅是另一种分类器,它们代表了我们如何从根本上转变的开始编写软件。它们是软件2.0 。 “
他将Software 1.0的“经典堆栈”描述为计算机的明确指令,由程序员使用Python或C ++等语言编写。传统的软件开发生命周期通常从需求定义(即技术规范)开始,然后转向设计和开发。一旦构建了可行的原型,就会进行QA测试。最后,一旦产品通过集合,它将被部署到生产中并且必须持续维护。敏捷流程可以使这个周期变得更快,因为工程师将选择较小的功能集来专注于2-4周的冲刺,而不是试图一次性构建整个软件。无论是敏捷还是瀑布,这个过程基本上是相同的。
随着时间的推移,这些系统变得异常复杂,需要多个依赖关系和集成以及层功能和接口层。所有这些组件必须由人工手动管理和更新,从而导致不一致和无法解决的错误。
相比之下,机器学习模型推断出数据中的重要特征和模式。用Karpathy的话来说,软件2.0是以“神经网络权重”的形式编写的代码,不是由人类编写的,而是通过机器学习方法,如反向传播和随机梯度下降。更新模型需要使用新数据重新训练算法,这将改变模型的行为和执行方式。
虽然机器学习开发有其自身的调试和维护挑战,但Karpathy强调了这样一个事实,即软件2.0已经变得非常可行和有价值,因为“很大一部分现实问题具有收集数据更容易的特性”(或者更一般地说,确定一个理想的行为,而不是明确地编写程序。“从软件2.0中受益最多的领域包括计算机视觉,语音识别,机器翻译,游戏,机器人和数据库。

Karpathy还引用了新范式的好处:
  • 更加同质化,更易于管理
  • 可以轻松烘焙成硬件
  • 持续运行时间和内存使用
  • 高度的便携性
  • 高度的敏捷性和可集成性
  • 更容易为未来的开发人员学习
  • 比某些功能/垂直(即图像/视频,声音/语音和文本)中最好的人类编码器更好
  • 然而,专业人士并非没有缺点。许多机器学习方法的关键局限性是我们人类无法完全理解这些复杂系统的工作原理,导致它们在我们看来是“黑匣子”。由于缺乏理解和控制而产生的另一个挑战是由于算法偏差和偏执机器人等有缺陷的模型而产生的意外和令人尴尬的后果。

传统软件从ML技术中获得提升

然而,传统的软件开发并没有消失。培养高性能机器学习模型只是产品化AI技术的一个步骤。正如一篇受欢迎的谷歌论文所断言的那样,只有一小部分真实世界的机器学习系统由机器学习代码组成。
数据管理,前端产品接口和安全性等关键组件仍需要由常规软件处理。但是,使用传统SDLC开发的技术仍然可以通过以下方式受益于机器学习方法:
  • 快速原型制作:将业务需求转变为技术产品通常需要数月甚至数年的计划,但机器学习通过使技术领域较少的专家能够使用自然语言或可视化界面开发技术来缩短此过程。
  • 智能编程助手:开发人员将大部分时间用于阅读文档和调试代码。智能编程助手可以通过提供即时支持和建议(例如相关文档,最佳实践和代码示例)来缩短这一时间。此类助手的示例包括Kite for Python和Codota for Java。
  • 自动分析和错误处理:编程助手还可以从过去的经验中学习,以识别常见错误并在开发阶段自动标记它们。一旦部署了技术,机器学习也可用于分析系统日志,以快速甚至主动地标记错误。将来,还可以使软件在没有人为干预的情况下动态地改变以响应错误。
  • 自动代码重构:清洁代码对团队协作和长期维护至关重要。随着企业升级技术,大规模的重构是不可避免的,往往这个过程是痛苦的。机器学习可用于分析代码并自动优化代码以实现可解释性和性能。
  • 精确估计:众所周知,软件开发的过程中对于时间的把握相当的重要。然而可靠的估算需要深入的专业知识,对环境的理解以及对实施团队的熟悉程度。机器学习可以训练过去项目的数据 - 例如用户故事,特征定义,估计和实际情况 - 以更准确地预测工作量和预算。
  • 战略决策:花费大量时间来讨论哪些产品和功能要优先考虑哪些以及哪些要削减。针对过去的开发项目和业务因素培训的AI解决方案可以评估现有应用程序的性能,并帮助业务负责人和工程团队确定最大化影响并最大限度降低风险的工作。
根据Forrester Research关于AI对软件开发影响的报告,将AI应用于软件开发中的主要作用总结为在于自动化测试和错误检测工具。
实际上,我们已经看到AutoML解决方案的巨大增长,这些解决方案旨在实现机器学习模型培训流程的自动化,减少数据科学家和工程师的工作量,并使领域专家能够培训生产质量模型。
诸如H2O.ai的无人驾驶AIGoogle Cloud的AutoMLAmazon Sagemaker等解决方案可自动化或简化关键组件,例如数据准备,模型搜索和调整以及模型部署和扩展。

总结:随着人工智能技术的不断发展将会颠覆我们传统的软件制作,软件开发智能化不在是个趋势而是必然性的体现,探码科技作为新时代的软件技术商将利用更多新技术赋予软件制造更多智能化的可能!
 
提交反馈

博客 博客

专注数字内容治理,助力数字体验升级

DXP与最佳组合:赋能IT团队

DXP与最佳组合:赋能IT团队

数字体验平台(DXP)和“最佳组合”方法可帮助IT团队高效构建解决方案。DXP集成多种技术,支持多通道交付、分析和个性化,提升灵活性和效率。采用DXP并搭配最佳组合策略,企业无需替换现有系统即可实现未来创新。

Author dxp-best-of-breed-it-teams
By Lisa
发布:2026-04-18
Baklib|DXP对数字化转型至关重要的9个理由

Baklib|DXP对数字化转型至关重要的9个理由

本文从全渠道管理、消除信息孤岛、统一品牌形象、提升用户体验、个性化服务、自动化流程、易于采用、灵活扩展、远程办公安全等9个方面,阐述Baklib这类DXP如何助力企业成功实现数字化转型。

Author 9-reasons-why-dxps-are-essential-for-digital-transformation
By Lisa
发布:2026-04-09
自助服务门户:4大策略提升客户体验

自助服务门户:4大策略提升客户体验

81%的客户在联系人工客服前会先尝试自助解决问题。有效的自助服务门户不仅能降低成本,还可创造收入、统一支持中心、构建用户社区并推动主动响应。企业应基于组织目标与客户需求,制定清晰的自助服务策略。

Author 4-ways-you-can-improve-cx-with-digital-self-service
By Lisa
发布:2026-04-01
词元经济到来,AI 主导世界

词元经济到来,AI 主导世界

在数字化的浩瀚星空中,我们正见证着一场前所未有的范式转移。如果说互联网时代的核心是“连接”,那么人工智能(AI)时代的核心则是“理解”与“重构”。

Author ciyuan
By 巴克励步
发布:2026-03-27
数字体验平台解决的五大IT管理难题

数字体验平台解决的五大IT管理难题

本文探讨了企业如何利用数字体验平台(DXP)解决五大核心IT管理难题:精准客户定位、高效内容管理、降低运营成本、支持远程工作与优化流程、以及打造全渠道体验,助力企业数字化转型。

Author dxp-solves-it-management-problems
By Lisa
发布:2026-03-23
如何计算网页内容管理系统的投资回报率

如何计算网页内容管理系统的投资回报率

本文通俗讲解如何计算网页内容管理系统(WCM)的投资回报率。通过分类任务与资源、对比新旧系统耗时与成本,并结合“软性回报”(如员工满意度),帮您做出客观评估。核心是用实际数据,关注团队增效而非单纯减员,为采购或升级系统提供可靠依据。

Author calculate-wcm-roi-guide
By Lisa
发布:2026-03-20
数字化转型的三大障碍及解决方案

数字化转型的三大障碍及解决方案

本文探讨了企业在数字化转型过程中面临的三大核心挑战:紧迫感缺失、客户价值忽视以及文化变革困难。通过Baklib的实践经验,为企业提供从技术到组织的全方位转型指导,助力实现真正的业务变革。

Author three-hurdles-to-digital-transformation
By Lisa
发布:2026-03-20
客户体验保持一致性的三大关键策略

客户体验保持一致性的三大关键策略

企业面临用户期望高、渠道多的挑战。本文提出移动优先设计、单一平台方法及单一客户视图三大策略,帮助企业整合触点、统一体验,构建连贯的客户旅程,在竞争中脱颖而出。

Author 7b6b
By Lisa
发布:2026-03-10
如何让网站具备数字敏捷性?AI+低代码+多站点管理实战

如何让网站具备数字敏捷性?AI+低代码+多站点管理实战

数字化转型时代,网站僵化将成为业务增长的最大阻碍。本文详解如何通过AI智能、低代码开发、多站点统一管理和头分离架构,让企业网站获得真正的数字敏捷性,快速响应市场变化,提升用户体验与运营效率。

Author digital-agility-website-guide
By Lisa
发布:2026-03-05
Baklib DXP七大优势:简化技术栈,赋能企业数字化转型

Baklib DXP七大优势:简化技术栈,赋能企业数字化转型

本文深入剖析了超过1200家企业选择Baklib DXP的七大核心原因。从简化技术栈、随需应变的演进能力,到多场景解决方案、减轻IT负担,再到高度安全性及灵活的部署方式,全面展示Baklib如何帮助企业构建AI-Ready的数字体验平...

Author 7-reasons-why-our-customers-choose-baklib-dxp
By Lisa
发布:2026-03-04