精品国产av一区二区三区,国产av一区二区三区,丰满少妇大乳高潮在线,9lporm自拍视频区九色

當前位置:首頁 > 最新資訊 > 行業資訊

生成式AI將在十個方面改變軟件開發

上個世紀90年代,當人們提起軟件編程時,通常意味著選擇一個編輯器,將代碼檢入CVS或SVN代碼庫,然后將代碼編譯成可執行文件。與之對應的Eclipse和Visual Studio等集成開發環境(IDE)可以將編程、開發、文檔、構建、測試、部署等步驟納入到一個完整的軟件開發生命周期(SDLC)中,從而提高了開發人員的工作效率。

生成式AI將在十個方面改變軟件開發

近年來,流行的云計算和DevSecOps自動化工具提升了開發者的綜合能力,使得更多的企業能夠更加輕松地開發、部署和維護軟件應用。

如今,生成式AI作為下一代開發范式轉變的催化劑,有望改變企業創建和維護軟件的方式,并帶來新的開發工具和范式。對此,許多開發人員開始疑惑,AI是否會讓我們所熟知的編程技能走向消亡。同時,各個企業的IT領導也在考慮:在未來十年中,AI將如何影響SDLC和DevSecOps的發展。帶著這兩個問題,我將和您在下文中一同尋找答案。

生成式AI是一種新工具,還是一種新的開發方式?

Pulumi的首席執行官Joe Duffy認為:“AI將會增強編程的自動化,大幅提升企業的生產力和產出,從而提高人類操作的抽象水平,而不會真正取代編程。”Thomvest Ventures的負責人Ashish Kakran則認為:“生成式AI正在顛覆軟件交付的生命周期。”開發和DevOps團隊將變得更具生產力。

同時,隨著生成式AI功能的不斷完善,開發人員的職責會隨之調整。Matillion公司的首席技術官Ed Thompson認為:“Copilots的當前形式,實際上是在提高開發人員的工作效率,消除他們過往的繁忙狀態。那些認為Copilots已經從根本上改變了編程江湖的人,是錯誤地假設了開發人員的工作只是編寫代碼,而不是解決現實問題。”那么,生成式AI到底在會怎樣改變軟件開發江湖呢?

1.根據自然語言提示生成標準的代碼

Astronomer的Airflow工程總監Kaxil Naik認為:“通過AI生成的代碼模板、以及AI輔助的Copilot將自然語言翻譯成功能性代碼,簡化了對復雜代碼庫的理解,并確保了遵守開發最佳實踐,從而將讓編程工作變得更加高效。”

StackOverflow的2023年開發者調查顯示,有70%的開發者正在或計劃在開發過程中使用AI工具。而在那些已經使用AI進行開發的人群中,有超過82%的使用了AI來編寫軟件代碼。這些數字足以表明,開發人員傳統的編寫代碼、重用現有代碼、以及構建組件的方式,正在發生模式上的轉變。

2.代碼驗證是開發人員的重要職責

除了讓編程變得更加簡單和高效,開發人員需要的擔負著重要責任是,花費大量的時間、以及使用高效的工具,來驗證代碼,避免生成的代碼存在安全問題、或有性能缺陷。

Sonar的開發者關系部主管Peter McKee認為:“隨著開發人員更多地采用AI來提高生產力,他們有責任對AI生成的內容進行全面檢查。”通常,邊編程邊清理,可以確保在交付過程中執行持續的檢查和監控。據此,開發人員可以將更多時間花在新的任務上,而無需修復那些人工創建的、或由AI生成的代碼里潛在的錯誤與漏洞。McKee補充說:“如果開發人員未能通過自動化來掃描和監控AI生成的代碼,那就意味著后續需要修復的代碼和技術債會成倍增加。

3.成為大企業新的開發模式

使用生成式AI工具開發代碼,可能會如何影響各個開發團隊在大型企業中,支持數千種應用工具和標準。如果開發人員只需編寫較少的代碼,并更多地與由生成式AI開發的代碼相集成,那么大型企業的開發工作會成什么樣子?

Red Hat開發工具與戰略推廣部的Markus Eisele認為:“不同團隊的不同工具組合,會導致缺乏標準化和統一的開發實踐,更不用說由此增加的開發人員的認知差異。”而由AI構建的集中式開發門戶,能夠方便開發團隊的輕松訪問,并通過消除協同過程中的摩擦,來成就跨團隊應用的最佳實踐。這就意味著集成開發環境可能會蛻變為裝配平臺,類似于制造業中的計算機輔助設計(CAD)或建筑業中的建筑信息建模(BIM)。其重點將從構建定制組件轉移為組裝已有組件,以及利用內置工具來驗證設計。

4.編程量的減少,代碼供應鏈風險的增加

使用生成式AI開發的代碼的另一個影響,是涉及到企業領導者將如何制定相關政策,以及如何監控企業應用中嵌入了哪些供應鏈的代碼。一直以來,企業需要持續跟蹤的是開源和商業軟件組件。將來,它們需要增加生成式AI的輸出這一新的層面。

Sonatype的現場首席技術官Ilkka Turunen認為:“開發人員需要在維護和管理AI供應鏈方面發揮重要作用。他們將會在企業的日常運營中,對AI模型的安全性、真實性和來源予以更嚴格的審查。通過實施AI風險評估,并妥善管理AI模型物料清單,企業應確保開發基礎架構擁有適當的AI安全和管理。”

在實踐中,SAST、DAST、以及其他安全與代碼管理工具,能夠提高代碼掃描的自動化能力,并且可以在開發人員將代碼集成到企業資源庫之前,協助驗證生成式AI的產出代碼是否符合安全策略。

5.新模式加速整合

在過去十年中,通過應用程序接口(API)、IFTTT的SaaS集成平臺、集成平臺即服務(iPaaS)、以及其他生態系統技術,開發人員的代碼集成能力有了數量級的提升。盡管如此,開發人員仍然需要做大量的基礎性工作,來映射數據字段、編程邏輯轉換、以確保可靠性與性能。而利用生成式AI,開發人員可以構建出具備自然語言需求、可視化流程的無代碼集成。

供職于SAP AI與創新團隊的Emmanuel Cassimatis認為:“過去,從設計、構建、測試、集成、部署、交付到審查,整個開發生命周期中的不同步驟向來是分散的。而AI則可以從不同應用的數據中挖掘并實現一個統一的集成層面,從而加強開發人員之間的協作。”

6.開發人員將成為AI代理的管理者

Honeycomb的首席產品經理Phillip Carter認為,生成式AI將改變開發人員和質量保證(QA)工程師未來的工作任務。“將來,自然語言很可能會指導更多的代碼生成和驗證生成代碼的測試。其中,AI代理將完成大部分工作,而開發人員則需要為這些代理設定需要遵循的編程目標和約束條件。”

Carter繼續大膽地預測:“AI代理能夠通過分析程序運行時的行為,檢查未知的因素,以執行過去開發人員難以企及的QA、可觀察性和安全任務。”據此,開發人員可以高屋建瓴地從上層定義系統架構、非功能性、以及操作要求,從而指導生成式AI進行代碼開發和自動測試,而非親歷親為。

7.AI被引入SDLC的多個階段

雖然目前Copilots和許多生成式AI工具主要側重于編程,但是其新的功能也會改變SDLC中的其他階段。Gigster的首席解決方案工程師Humberto Moreira認為:“隨著生成式AI被納入SDLC,不同的模型會有其最為適合的特定周期階段。例如,A模型可能會針對需求進行優化;B模型則是針對代碼開發,而C模型卻針對的是QA。”

實際上,由于各類工具提供了更為強大的測試用例,并且能夠對代碼的更改提供更快的反饋,因此生成式AI模式的轉變已經對QA產生了一定的影響。Descope的聯合創始人Gilad Shriki說:“隨著AI的崛起,從SDK到測試、再到文檔,所有圍繞著軟件工程的方方面面都會得到生成式AI的輔助。開發人員甚至需要以特定的AI使用格式,來記錄他們的工作。”

8.生成式AI細分開發角色

生成式AI在軟件開發中的角色可能會從目前傳統的人類開發職能中分離出來。也就是說,由機器扮演的不同代碼生成器、編譯器、以及其他開發細分角色會逐漸出現。

Chainguard的工程副總裁Dustin Kirkland認為:“除了人類開發者熟悉的傳統代碼開發視角,另一種隱蔽的視角將會出現。這種視角雖然對于人類的可讀性較低,但是可以被由AI扮演的編譯器和解釋器完全領會。它將作為另一種代碼的中間層,提供所謂AI安全優化的防御視圖。”不過,也有人質疑:AI本身的安全識別能力是否準確、高效。

9.AI提高開發過程的運營能力

LaunchDarkly的開發者體驗總監Cody De Arkland提出了使用生成式AI、以及交互式學習,來協助提高軟件應用的可靠性和操作性的用例。其中包括:

開發并生成符合已學到的、滿足設計標準的Web應用組件

在檢測到開發人員創建了新的功能時,創建相應的功能標記

啟動新的軟件部署(CI/CD),并能在發現問題時將其回滾

通過定制運行而非部署后運行,為QA提供實時的反饋回路

當然,這些用例也伴隨著一個問題:生成式AI將啟用或增強哪些下一代開發和SRE能力。

10.企業必須防范的AI風險

隨著生成式AI更多地參與到整個SDLC中,一個新的問題可能會出現,即:生成式AI可能引發的知識產權(包括代碼和數據)等風險。為此,企業需要權衡其收益是否大于風險。

Tabnine生態系統和業務開發副總裁Brandon Jung認為:我們需要密切關注進入模型的數據,特別是訓練集中的數據,花費時間和精力去評估和選擇AI模型,以保護企業最寶貴的資產--代碼和數據。

雖然我們還處于用生成式AI開發軟件的初期,但是生成式AI算法、以及支持這些算法的工具,是否能夠建立起保護企業資產的保障措施,則在很大程度上需要依賴于生成式AI本身對于軟件開發、測試、部署、以及維護的掌控能力上。

猜你喜歡