×

如何通过人工智能驱动的开发成功(或失败)

hqy hqy 发表于2025-07-02 12:48:40 浏览1 评论0百度已收录

抢沙发发表评论

  开发人员和技术领导者分享了将人工智能集成到软件开发生命周期中的风险、回报和最佳实践。

来源:Ivelin Radkov / Shutterstock

  人工智能(AI)似乎继续渗透到业务的各个方面,包括软件开发。人工智能增强开发涉及使用生成人工智能来支持软件开发生命周期的各个阶段,包括设计、测试和部署。将人工智能驱动的工具引入开发过程中,旨在通过自动化某些任务来提高开发人员的生产力。它还可以提高代码质量并加快开发生命周期,因此开发团队可以更快地将产品带给用户。

  根据行业研究,人工智能增强开发正在上升。市场情报和咨询公司QKS Group的一份2025年5月报告预测,到2030年,全球人工智能增强软件开发市场将以33%的复合年增长率扩张。

  报告称:“在一个速度、创新和适应性定义竞争优势的时代,人工智能增强软件开发正在迅速成为企业的变革力量。”“通过将人工智能嵌入软件开发生命周期的每个阶段,从代码生成和测试到调试和部署,金融、医疗保健、零售、电信和制造业等行业的组织正在重新定义软件的构建、优化和扩展方式。”

  部署人工智能增强的开发工具和流程既有风险,也有回报。对于技术领导者和软件开发人员来说,了解两者至关重要。

 人工智能增强软件开发的风险

  过度依赖人工智能进行软件开发的风险包括用于训练模型的数据偏见、网络安全威胁以及人工智能生成的代码中未检查的错误。我们询问了一系列专家,在将人工智能集成到软件开发生命周期中时,他们发现最具挑战性的是什么,以及他们如何管理这些挑战。

模型中的偏见

  长期以来,用于馈送模型的数据中的偏见一直是人工智能的一个问题,人工智能增强开发也不例外。

  布朗大学工程学院创新管理和创业硕士课程的教师兼学术主任Ja-Naé Duane说:“由于人工智能是在人类编码数据上接受训练的,它可以复制和放大现有的偏见。”她说:“在设计和测试中,如果没有刻意的监督和多样化的观点,我们就有可能将排除嵌入到我们构建的系统中。”

  Most Loved Workplace是工作场所认证提供商,使用机器学习来分析员工情绪。但早期,它看到了其模型误解了某些情绪基调或文化语言差异的迹象。

  该公司创始人兼组织心理学家路易斯·卡特说:“我们必须重新训练模型,根据我们自己研究的模型进行标记,并使用循环中的人类来测试偏见。”

  Carter说:“我们的内部团队为此做了很多工作,我们创建了一个游戏平台,让每个人都可以标记和添加自己对偏见的解释。”“我们改进了[BERT语言模型],开发了我们自己的结构来识别情绪和情绪。如果我们没有抓住它,结果会误导用户,损害产品的信誉。”

 侵犯知识产权(IP)

  使用人工智能增强开发和可能的知识产权侵权可能会引发复杂的法律问题,特别是在版权领域。由于人工智能模型可以使用大量数据集进行训练,包括一些受版权保护的内容,它们可以生成与现有受版权保护的材料非常相似或侵犯的输出。这可能会导致诉讼。

  产品设计公司Priority Designs的软件工程师Joseph Mudrak说:“目前关于这些模型如何侵犯或不侵犯知识产权的不确定性绝对仍然是一个风险。”“例如,OpenAI和Meta都是关于输入这些模型的数据来源的正在进行的法庭案件的主题。”

  美国律师协会指出,随着生成人工智能的使用迅速增长,“针对生成人工智能工具侵犯版权和其他知识产权的诉讼也随之而起,这可能会在这一领域建立显著的法律先例。”

  Banner & Witcoff Ltd律师事务所的合伙人Kirk Sigmon说:“大多数普遍可用的人工智能增强开发系统都是在大量数据上进行训练的,这些数据来自哪里还不太清楚。”Sigmon专门从事人工智能,并做编码和开发工作。Sigmon说:“代码可以受版权保护,这意味着人工智能增强的开发系统很有可能输出侵犯版权的代码。”

 网络安全问题

  人工智能增强开发引入了潜在的网络安全风险,例如不安全的代码生成。如果它们在具有缺陷或不安全示例的数据集上进行训练,人工智能模型可以生成包含常见漏洞的代码,如SQL注入或跨站点脚本攻击。

  人工智能生成的代码也可能无意中包含敏感数据,如客户信息或用户密码,使其暴露给潜在的攻击者。对敏感数据进行训练模型可能会导致在生成的代码中无意中暴露这些数据。

  Pierson Ferdinand LLP律师事务所隐私和数据保护的创始合伙人兼联合主席Maryam Meseha说:“从隐私和网络安全的角度来看,未经验证的人工智能生成的代码可能会给软件供应链带来严重的漏洞。”

  Meseha说:“我们看到公司在不知不觉中推出带有嵌入式安全缺陷的功能,仅仅是因为代码看起来正确或通过了表面测试。”“追溯解决这些问题的成本,或者更糟的是,处理数据泄露的成本远远超过了初始速度的提高。”

虚假的信心

  开发团队和领导者可能倾向于认为人工智能几乎会一直做对,因为他们相信自动化可以消除人为错误的问题。这种虚假的自信会导致问题。

  卡内基梅隆大学软件工程研究所工程智能软件系统技术总监Ipek Ozkaya说:“人工智能增强方法,特别是那些使用生成人工智能的方法,本质上容易出错。”

  Ozkaya说:“如果人工智能增强的软件开发工作流程不是为了防止、识别、纠正和解释这些错误,它们可能会成为噩梦,相当于无法管理的技术债务。”

  Most Loved Workplace在其平台上使用Claude Code、Sentry和自定义人工智能模型等工具进行情绪和情绪分析,在人工智能增强开发中经历了虚假的信心。

  Carter说:“Claude和其他工具听起来是对的,即使它们大错特错。”“一个输出在逻辑循环中错过了一个主要的边缘案例。它通过了初步测试,但一旦真实用户点击它,就坏了。现在,人工智能接触的一切都会经过多次人工检查。”

  Carter说,该公司让开发人员从Claude那里提交了代码,起初看起来很可靠,但在负载下失败了。“当我问他们为什么做出某些选择时,他们无法解释——这直接来自工具,”他说。“从那时起,我们已经明确表示:如果你无法解释,就不要发货。”

  人工智能增强软件开发的回报

  虽然提高生产力和成本效益吸引了商业领袖的最多关注,但技术领导者和开发人员发现,人工智能支持开发人员学习和技能发展,防止倦怠,并可能使软件开发作为职业更加可持续。

  没有倦怠的速度

  鉴于以快速速度交付优质软件的压力,许多开发人员会经历倦怠,这并不奇怪。Kickstand Research根据对600多名软件工程全职专业人士的调查,2024年的一项研究发现,近三分之二的受访者(65%)在过去一年中经历了倦怠。

  该报告代表工程管理平台提供商Jellyfish进行,表明,对于人员短缺的工程师和监督大型组织的领导来说,这个问题尤为严重。在工程组织中拥有500多人的公司的受访者中,85%的经理和92%的高管表示他们正在经历倦怠。

  部署人工智能增强开发工具可以通过自动化任务和提高生产力来帮助解决问题。

  Carter说:“Claude Code帮助我们更快地行动,而没有让团队不堪重负。”“我们的一位初级开发人员撞上了一堵墙,构建了一个复杂的规则引擎。他利用克劳德来绘制逻辑图,并摆脱困境。本该花半天时间的事情花了大约一个小时。这节省了时间,增强了他的信心。”

更干净的代码和更少的错误

  人工智能增强开发可以减少错误并提高代码质量。这是因为人工智能工具可以处理代码分析、错误检测和自动测试等任务。它们可以帮助识别可能的错误,并建议改进。

  Carter说:“我们使用Sentry尽早发现问题,并使用Claude在发货前清理和评论代码。”“Claude是清理杂乱代码的好方法。”

  Carter说,在代码正在做什么以及它打算完成什么背后添加注释和推理,让每个人都很容易理解。这对第二语言是英语的程序员特别有帮助,“因为可能发生很多误解。”

  Most Loved Workplace在其人力资源SaaS应用程序Workplacely中运行情绪和情绪评分,用于认证公司。Carter说:“人工智能帮助我们更快地测试边缘案例,并在模型输出上线前标记不一致之处。”

  Sigmon说:“我最喜欢的使用人工智能增强开发系统的方式是使用它们来帮助我修复错误。”“当深夜,我努力在代码中发现一些小错别字,或者努力弄清楚不同信号系统之间的一些复杂相互关系时,人工智能系统已经救了我几次。”

成本效益和生产力的提高

  人工智能增强开发系统可以具有成本效益,特别是随着时间的推移,由于效率和生产力的提高、任务的自动化、错误的减少和开发生命周期的缩短。

  Sigmon说:“使用人工智能增强开发系统可以省钱,因为你可以雇佣更少的开发人员。”“也就是说,它有一些注意事项。例如,如果世界转向只雇用高级开发人员,并依靠人工智能进行“轻松”的工作,那么我们将永远不会有机会培训初级开发人员成为那些未来的高级开发人员。”

  Duane说,人工智能“可以自动化常规编码任务和表面错误,并优化性能,大大减少开发时间和成本。”

  Duane说:“例如,像GitHub Copilot这样的工具已被证明通过为开发人员提供实时代码建议,大大缩短了部署时间。”“在与我合作的几个组织中,团队报告了发布周期的加速高达35%,使他们能够以前所未有的速度从规划到原型。”

即时提高技能

  技能短缺是组织及其发展运营的最大障碍之一。人工智能驱动的工具可以帮助开发人员在开发过程中有机地学习新技能。

  Carter说:“我看到初级团队成员开始像高级工程师一样更快地思考。”“特别是一个人经常依靠我来获取方向。现在,他和克劳德一起测试想法,审查结构,并提出更聪明的问题。它改变了我们的工作方式。”

  Duane说,人工智能通过启用无代码和低代码平台,降低了没有正式编程培训的个人的进入门槛。她说:“这种转变符合我们对包容性创新生态系统的愿景。”

  Duane说,例如,Bubble和Zapier等平台使企业家、教育工作者和其他没有技术背景的人无需编写一行代码即可构建和自动化。她说:“因此,数百万个新声音现在可以参与塑造数字解决方案,这些声音以前被遗漏了。”