亞馬遜(Amazon)旗下Amazon Web Services(AWS)在2024年re:Invent全球大會上,宣布推出Amazon Q Developer一系列創新升級功能,包括能夠自動執行單元測試、文檔生成和程式碼檢查的智慧代理,大幅提升開發人員在整個軟體開發流程中的效率,以及能夠在極短時間內幫助用戶解決營運問題的能力。Amazon Q Developer是一款針對軟體開發的強大生成式人工智慧(AI)助理,開發人員可以在所有需要的地方使用它,包括AWS Management Console、與GitLab的新整合產品以及各類整合開發環境(IDE)等等。
AWS下世代開發人員體驗副總裁Deepak Singh表示:「Amazon Q Developer正在從根本上改變開發人員的工作方式,它將各類軟體開發任務的速度提升高達80%。Amazon Q Developer的程式碼接受率在所有多行程式碼編寫助理中位居首位,其程式碼安全掃描的功能也超越了領先的公開基準工具。Amazon Q Developer的自主智慧代理功能更是憑藉卓越的準確性,在SWE-bench Verified排行榜上居於首位。正是基於這些優勢,我們的客戶正廣泛透過Amazon Q Developer在軟體開發生命週期的各階段提升開發人員的生產力。透過本次的新發布,我們將應用程式建構與運作時最為繁瑣耗時的任務自動化,減少了軟體開發中的瑣碎工作,進而最大限度地發揮每位開發人員的影響力。」
短時間獲得更好的測試覆蓋率
編寫單元測試對於確保程式碼按預期運作並及早發現潛在問題至關重要。然而,開發人員在實施全面的程式碼測試時,往往面臨繁瑣且耗時的挑戰。這種狀況常常導致開發人員為追求速度而犧牲了測試覆蓋率,這不僅增加了程式碼部署後昂貴的退回舊版(rollback)的風險,還可能影響客戶體驗。儘管生成式AI助理能夠輔助這個過程,但依舊需要開發人員投入時間進行逐步引導。為了進一步減輕開發人員的負擔,Amazon Q Developer現已推出自動辨識並生成單元測試程式碼的功能,幫助開發人員在大幅減少工作量的同時,實現全面的測試覆蓋率,這不僅能確保程式碼的可靠性,也助力開發人員加速交付成果。
生成測試程式碼如今變得更為簡便。在整合開發環境中,開發人員僅需在Amazon Q Developer的聊天視窗輸入「/test」指令,或是選取相關程式碼區塊後右鍵選擇「test」選項。Amazon Q Developer將基於對整個專案的深入理解,自動辨識並生成相對應的測試,並將這些測試無縫整合到專案中,進而幫助開發人員快速驗證程式碼是否達到預期效果。在GitLab環境下,開發人員可以透過「/q test」快捷操作使用Amazon Q Developer,透過這個合併請求自動化生成程式碼測試,這不僅能大幅節省時間,還提升了整個團隊的測試覆蓋率。透過省去編寫單元測試程式碼的大部分工作,Amazon Q讓開發人員能夠將時間投入到編寫其他程式碼,同時提供開發人員需要的覆蓋率,以確保程式碼的高品質。
各種規模的企業開發人員正使用Amazon Q Developer快速獲得更好的測試覆蓋率。Boomi是一家基於雲端的整合和自動化平台,他們的開發人員透過使用Amazon Q Developer,預計減少25%的手動測試時間,專案實現全面的測試覆蓋率的速度可提升20%,並在開發週期中更早發現和修復漏洞,這將加速人工的最終檢查流程。運用Amazon Q Developer,Boomi提升了開發效率和程式碼品質,並透過優化流程成功節約了15%的開發成本。Tata Consultancy Services正使用Amazon Q Developer全面加速軟體開發生命週期,生成全面、精準的上下文感知單元測試的速度提升高達30%,並確保了程式碼的穩健性、韌性和可靠性。勤業眾信透過採用Amazon Q Developer自動辨識和生成單元測試,顯著縮短了測試時間,使開發團隊能夠更快達成全面的測試覆蓋率,交付更高品質的程式碼,進而更快地為客戶推出新的解決方案。整體而言,勤業眾信的開發人員在堅守嚴格安全標準的前提下,開發速度提升了30%。
生成和更新文檔,確保文檔的準確性和時效性
開發人員在編寫和測試程式碼之後,通常需要編寫文檔來說明程式碼的功能與運作機制。然而,隨著專案規模擴大,即時更新文檔往往成為一大難題且容易被忽略,這導致新的開發人員不得不花費大量時間自行理解程式碼的運作機制。為減輕這樣的負擔,Amazon Q Developer現已推出自動生成和即時更新文檔的功能,讓開發人員能夠輕鬆更新準確、詳盡的專案文檔資訊。如今,開發人員不必再為了撰寫說明文檔中斷編寫程式碼的過程,而是能將更多時間投入到專案工作。同時,整個開發團隊的效率也提升,因為團隊成員無需再花費大量時間研究一段程式碼的功能。現在,開發人員可以更加專注地投入到專案中,帶來更有意義的創新。
開發人員如今能夠在整合開發環境中,或是透過GitLab的整合產品輕鬆生成文檔。開發人員要使用此功能非常簡單,只需在整合開發環境的聊天視窗輸入「/doc」,即可自動開始生成和更新版本庫中的README檔。為了加快對程式碼的理解,開發人員可以直接向Amazon Q提問,了解程式碼的具體運作方式,或利用它來優化現有文檔的可讀性,進而幫助團隊成員更輕鬆地掌握程式碼邏輯。Amazon Q Developer還會提供文檔修改建議,確保開發人員能夠準確無誤地更新文檔,並與他們的想法保持一致。
Genesys是一家全球化AI驅動的體驗編排服務供應商,將使用Amazon Q Developer來提升現有文檔的精確度和可讀性。他們希望讓新加入公司的開發人員掌握陌生程式碼的速度提升四倍,促進公司內部更高效的合作。同時,透過與Amazon Q Developer其他智慧代理功能結合,如自動單元測試、功能開發和程式碼檢查,Genesys有望將開發人員的生產力提升超過30%。電子健康記錄和解決方案供應商Netsmart透過使用Amazon Q Developer自動文檔功能,使工程師能夠以更少的工作量維持專案資訊的準確性,並將專案的上手時間縮短最多一周。在採用Amazon Q Developer優化開發流程的多個環節後,Netsmart實現了35%的程式碼建議接受率,並預期效率將持續提升。
透過自動化程式碼檢查部署更高品質的程式碼
程式碼部署前的一個關鍵環節是由另一位開發人員對程式碼進行細緻的檢查,確保其符合企業要求的品質、風格與安全標準。這個過程可能需要開發人員花費數天時間等待回饋並反覆修改,且由於通常只有一位檢查人員,有時難免會遺漏潛在的重大問題。為提升效率並及早辨識更多潛在漏洞,Amazon Q Developer推出自動程式碼檢查功能,幫助開發人員能夠即時獲得回饋,並基於工程最佳實踐維護程式碼品質。
透過作為第一位檢查者,Amazon Q能幫助開發人員及早發現並解決程式碼品質問題,進而大幅減少後續檢查所需的時間。開發人員要啟動檢查流程,僅需在整合開發環境的聊天視窗輸入「/review」,Amazon Q便能迅速標記有疑慮的程式碼,辨別開源套裝軟體的風險,並評估更改後可能帶來的影響。此外,Amazon Q能夠智慧地運用合併請求中的上下文資訊調整建議,確保建議與開發人員的程式碼風格和偏好相符。在開發人員檢查合併請求時,可以透過GitLab Duo配合Amazon Q呼叫「/q review」,輕鬆獲取回饋並進一步簡化程式碼檢查流程。
亞馬遜Prime Video的開發團隊遵循嚴格的程式碼檢查流程,以確保每一行程式碼都符合客戶期望的高品質和可用性標準。Amazon Q Developer的自動程式碼檢查功能能夠幫助開發人員審核每一行程式碼並合併請求,這讓開發人員能夠在同事檢查之前就產出更高品質的程式碼,顯著降低了程式碼退版與修改的需求,進而加速工作週期。作為Amazon Q Developer的早期使用者,Prime Video的開發團隊每週已經節省了數個小時,其中部分開發人員採納了超過50%的程式碼建議。通訊服務商BT Group的開發人員現在能夠全天使用Amazon Q Developer獲取即時的程式碼回饋,使他們能以更快的速度反覆運算並交付更加穩定和安全的程式碼。在早期使用階段,BT Group的開發人員就發現程式碼檢查代理功能極具價值,它不僅能辨別潛在的品質與安全風險,還能提供問題解析與修復建議,以確保程式碼按預期運作。整體而言,自從使用Amazon Q Developer以來,BT Group的程式碼接受率達到37%,並在使用Amazon Q Developer的前四個月內自動化了12%繁瑣、耗時的工作。
迅速應對營運挑戰
當應用程式編寫完畢並部署到生產環境後,營運團隊需負起責任監控運作狀況、進行優化以及修復問題,確保程式表現達到預期標準。一旦遇到問題,營運團隊需迅速採取行動,以恢復應用程式的運作,減少對客戶的影響。然而,修復過程需要反覆測試,可能需要數小時來手動篩選大量資料,以辨識並修復問題。憑藉AWS超過17年營運全球廣泛且可靠的雲端運算基礎設施的豐富經驗,Amazon Q Developer能夠協助不同程度的營運和開發人員,在極短時間內深入調查並解決在AWS環境中的營運問題。
當Amazon CloudWatch發出警報時,Amazon Q Developer便會自動啟動調查流程。憑藉Amazon Q Developer對企業AWS資源的深入了解,包括Amazon CloudWatch、AWS CloudTrail、AWS Health和AWS X-Ray等,它能快速篩選數十萬個資料點,檢測服務之間的關係,並透過了解他們如何合作來辨別相關訊號中的異常。經過分析後,Amazon Q會向用戶提供問題根本原因的潛在假設,並引導用戶解決,這些功能是其他雲端服務供應商無法比擬的。Amazon Q Developer還能展示操作手冊,並在獲得用戶批准後自動執行。由於Amazon Q Developer負責了繁重的調查工作,用戶可以更快地解決問題,進而節省大量時間,專注於更具策略意義的工作上。
使用者在檢測到系統訊號異常時,例如遇到延遲激增或日誌顯示使用者運作錯誤,便可以立即啟動調查。使用者可以透過在AWS Management Console選擇「調查」選項,或使用Amazon Q聊天視窗詢問使用的AWS資源,例如「My AWS Lambda function is running slow. What is wrong with it?(我的AWS Lambda函數似乎運作緩慢,哪裡出了問題?)」。在整個調查過程中,Amazon Q將在Amazon CloudWatch中彙整所有發現、執行操作以及後續建議,供團隊共用,進而有效預防未來的潛在問題。
憑藉AWS豐富的營運經驗和龐大的規模,Amazon Q Developer為客戶提供基於這些專業知識的調查洞察和解方引導,幫助客戶實現更高效的營運。照片管理平台SmugMug運用Amazon Q Developer自動分析系統指標、日誌和營運事件,使他們能夠在20分鐘內診斷出大部分問題,診斷速度提升了50%。SmugMug透過減少手動搜尋日誌來提升營運效率,讓團隊成員能夠將更多的時間和資源投入到平台建構,幫助攝影師發展他們的數位商店。在亞馬遜,Kindle的技術支援工程師採用Amazon Q Developer的營運調查功能後,問題解決速度提升了65%至80%,這使他們能夠更快地回應客戶需求,確保提供卓越的用戶體驗。Amazon Music的開發人員將Amazon Q視為全天待命的得力助理,它能夠自動調查並辨識各種潛在問題,顯著提升了他們的回應速度。初步的使用資料顯示,Amazon Music的問題解決速度提升了一倍,確保聽眾能不間斷地享受喜愛的音樂。醫療保健技術供應商Cedar Gate Technologies透過使用Amazon Q Developer將營運問題的根本原因分析時間從原先的兩小時大幅縮短至約30分鐘,加快了調查和解決問題的速度,確保醫療保健客戶能夠不中斷地為患者提供高品質的護理服務。
目前,這些全新的代理功能都可以在整合開發環境中使用,也能透過與GitLab整合的新產品進行預覽。同時,新的營運功能目前可供預覽。