宝玉的分享 09月23日
AI 编程加速迭代,但软件工程范式变革仍需标准化需求
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

文章探讨了人工智能(AI)在软件工程中的作用,指出AI编程目前主要体现在加速现有开发迭代过程,而非改变底层范式。软件工程的核心流程(需求、设计、开发、测试、部署)自始至终未变,敏捷开发和AI编程都只是在此基础上提升效率。AI的真正突破潜力在于可自动化验证的领域,而软件工程的根源——需求,由于其开放性和非标准化,目前难以实现自动化验证。文章认为,要颠覆软件工程范式,关键在于AI能否实现需求的标准化,进而自动化完成编码、测试和验收,但目前需求标准化仍是待解难题。

💡 **软件工程底层范式不变,迭代过程加速是关键:** 文章强调,无论瀑布模型还是敏捷开发,软件工程的核心流程(需求、设计、开发、测试、部署)并未改变。AI编程的出现,更多的是通过大幅提速原型设计、开发、测试和部署等环节,进一步加速了整个迭代周期,而非颠覆了其底层结构。

🚀 **AI的突破潜力在于可自动化验证的领域:** AI在编程、数学等领域的飞跃性进步,源于这些领域具备可自动化验证的特性。然而,软件工程中的“需求”环节,由于其模糊性、开放性和非标准化,难以实现自动化验证,这是阻碍AI颠覆软件工程范式的根本原因。

🎯 **需求标准化是颠覆软件工程范式的核心:** 要想真正颠覆现有的软件工程范式,AI需要能够实现对人类需求的标准化。一旦需求能够被标准化,AI便能独立完成编码、测试和验收,从而减少甚至消除人为参与。然而,如何将模糊的自然语言需求转化为标准化的代码语言,仍是一个待解的难题。

软件工程的底层范式是不是会变化,不是取决于 AI 写代码,而是取决于需求是否能做到标准化。

软件工程底层的范式从来就没变过,一直就是:需求 → 设计 → 开发 → 测试 → 部署;瀑布模型是如此,敏捷开发也是如此。

不同的是敏捷开发通过缩小每次迭代的范围以及配合上自动化(CI/CD+自动化测试),加速了这个迭代的过程,将迭代周期从几个月甚至几年缩短到几周。

现在的 AI 编程依然没有改变这个范式,不同是把整个迭代进一步提速了,原型设计大幅提速、开发大幅提速、测试部署也能提速,设计么,也能提速,毕竟代码不值钱了,干脆不要设计或者少设计,能跑就行,不能跑再开发一版。

AI 在软件工程上要突破,还是要从根源上下功夫,软件工程的根源是需求,现在软件工程的范式无法突破是因为需求是开放式的,非标准化的,无法自动化验证的。

AI 真正强大的地方,在于所有能被自动化验证的领域,都能通过强化学习实现飞跃,比如现在 AI 编程领域、数学领域的进步,就是因为这些领域是可以自动验证的。

软件工程的需求是无法自动化验证。

老板说要做一个淘宝网站,这是个需求,但这个需求是模糊的、无法自动化验证的,所以要做需求分析,要去实现,最终要测试验收。

开发和验收的标准就是最初的需求,但这个标准是模糊的,因为没有人在一开始说得清楚需求,需求一直在变化,需要产品经理、程序员、测试、项目经理在里面各种拉扯。

敏捷开发只是通过缩短迭代周期,解决了筛选高优先级需求,以及让需求的变化可以快一点响应的。

AI 也只是加速了整个迭代,但还是要 human in loop(人参与其中),需要人去用 AI 分析需求、去设计、去用 AI 写代码,AI 还做不到自动分析需求自动实现自动验证。

真要颠覆现在的软件工程范式,只有说 AI 能把人的需求标准化,有了一个标准化的需求,然后 AI 就可以自己去自动化的编码和测试验收,那就不需要人参与其中了。

但是怎么样才能是一个标准化的需求呢?自然语言能描述吗?恐怕不行,真要出一个标准化需求的只能是代码语言,但是代码怎么产生的呢?

产生代码不还是得回到 需求 → 设计 → 开发 → 测试 → 部署 这个范式么?

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

软件工程 AI编程 需求标准化 敏捷开发 自动化验证 Software Engineering AI Coding Requirement Standardization Agile Development Automated Verification
相关文章