專家傳真-在軟體開發的過程 愛上生成式AI
現今有許多公司運用生成式AI來開發軟體,Google Cloud 也正將軟體和AI(人工智慧)的力量應用在軟體開發上。圖/美聯社
軟體之所以能成爲經濟成長和變革的關鍵引擎,是因爲它能夠在大規模的情況下,以經濟實惠的方式,簡化與自動化工作流程、原型和機器的功能。現今有許多公司運用生成式AI來開發軟體,Google Cloud 也正將軟體和AI(人工智慧)的力量應用在軟體開發上。
Google在軟體開發上使用多種類型的AI已有豐富經驗,我們認爲生成式AI將永久且深遠地改變軟體開發的方式,這對軟體產業和想透過新點子來加速產品上市的企業家來說也是一個深刻的改變。
與所有重大創新一樣,人們將學習以新的方式管理工作與技術、進行衡量、以及獎勵工作表現。生產力將以有效的成果、更完善的說明文件和更全面的安全性等方面來衡量,不再以寫多少行的程式碼來計算。
■重要的是你所衡量的事物
改變我們對成功的衡量標準,能化解大衆對生成式AI的擔憂。生成式AI大幅改善人機互動,瞬間就可能產生大量程式碼,但若不加以檢查,這些程式碼很可能錯誤百出,存在安全漏洞或無效率的流程,造成新的技術債務;產出結果也可能過快,而導致無法被正確記錄或理解,因而產生更多的程式碼「孤兒」。
就如同經典的程式設計諺語「垃圾進,垃圾出」,情況還可能更糟。相比之下,Alphabet(Google母公司)將生成式AI融入內部的開發過程中,大幅提高了生產力,包括減少6%程式碼反覆運算的時間,同時加快建構和測試間的進程,我們也看到包括開發者滿意度的提升;這些都是以人爲中心的衡量指標,舉例來說,我們正在使用以Transformer爲基礎的機器學習程式碼來完成產品,開發人員接受程式碼的完成建議,且程式碼會經過檢查。
基於這項認知,編寫程式碼類似於任何製造過程,及早發現並修正錯誤,修復的成本就越低。我們和許多其他公司一樣,快速開發軟體一直都是必要條件,但有了AI,我們得以聚焦在更重要的工作上。
■程式碼語言和人類語言互動
軟體開發平臺Replit去年推出Ghostwriter,這是一種採用ML(機器學習)技術的結對開發,可以即時完成程式碼編寫,並具備可以產生和解釋程式碼的工具,開發人員可以同時保有自主權和責任承擔。在此之前,他們還根據開發人員說明文件和工作區的知識,增加對話式AI介面,藉此產生程式碼並主動進行測試。採用生成式AI後,Ghostwriter會回答問題、給予程式碼建議和提供完整的程序,但最終決定權仍在開發人員手中,而在一些簡單的工作上,開發人員可能需要的技術培訓也比以前少。
這種在人類語言和軟體語言之間轉換的能力,不僅創造了機會,也革新了開發人所需的訓練。在這一領域,全球系統整合商如凱捷、勤業衆信等,發揮關鍵影響力,並在生成式AI方面教育和培訓了數千名開發人員。
這說明了人們對快速成長的生成式AI將產生大量不良程式碼和技術債務的擔憂。技術債務並非軟體產業獨有的問題,生活各面向都涉及取捨權衡,開發團隊往往必須做出某些犧牲來推出產品。現在這些錯誤和無法被解釋的選擇,可能透過生成式AI服務對企業系統進行分類,進而發現可以迅速改善現有技術債務的領域,而得以被妥善解決。
■保留核心動態
很多事情都會改變,但開發人員的價值仍然是思考、建構和開發新軟體,讓數百萬人的生活變得更美好。
創業家可以有效地建立起他們所設想的產品或服務的初始原型,而無須在獲得資金前尋找技術人才。全新的介面也將影響工作內容,例如讓後端工程師擺脫連接不同系統的繁瑣工作,讓他們可以專注於改善事物工作方式。預期衡量和管理方式也將發生變化。
人類與電腦的互動已經發展了幾十年,從組合語言和打孔卡到網路系統,再到以網路作爲開發平臺和以服務爲導向的雲端運算基礎架構。在演變過程中,開發人員社羣不斷壯大,軟體工具也不斷改進,電腦可以做的事也蓬勃發展。預測未來很難,但我們相信人類與電腦互動的現象會持續深化。