拒絕「NoOps」:為何我們無法任由人工智慧肆虐
我們已經走過了人工智慧(AI)最初的熱潮。現在,各行各業的角色都認識到將這項技術整合到工作流程中的必要性,導致採用率大幅增加。去年,全球人工智慧市場的價值接近2000億美元,預計到本十年末將以40%的年增長率持續成長。
這種成長在軟體開發團隊中特別顯著。研究顯示,70%的軟體團隊已採用人工智慧,30%已針對人工智慧制定了策略。這些團隊在程式碼撰寫速度上獲得了大幅提升。數據就是證明。採用有效人工智慧策略的軟體開發團隊報告,開發速度增加了250%。
人工智慧技術並非完美無缺,它有其局限和缺陷。例如,雖然人工智慧可能加快編碼速度,但也可能增加程式碼的流動性——程式碼數量增加一倍,錯誤的可能性也會增加一倍。知名開發者平台GitHub建議在使用非人工撰寫的程式碼時要採取預防措施。無論程式碼是由人工還是人工智慧生成,檢查程式碼質量至關重要(即乾淨的程式碼方法)。
儘管如此,有些人預見到不久的將來會出現「NoOps」,屆時開發社群可以完全依賴人工智慧,透過先進的自動化、自我修復系統和智慧監控。隨著技術不斷進步和發展,這種情況有朝一日或許在某種程度上成為可能,但我們目前的環境尚未做好準備。
目前,人工智慧還不夠可靠和精確,無法取代人類開發人員和DevOps團隊。風險實在太高,關鍵思考和監督是必要的,讓企業開始為人工智慧接管所有IT運作做好準備。相信其他觀點,將使您的組織面臨錯誤、低品質程式碼和軟體,以及最終的業務損失風險。
人工智慧將來會完全取代開發人員嗎?我傾向於「不會」。但在思考「NoOps」和人工智慧採用時,以下是一些需要考慮的事項。
DevOps社群不能錯失人工智慧機會
人工智慧是現在和未來。開發團隊無法錯失人工智慧帶來的價值,或在學習其不同使用案例、怪癖和缺陷方面落後。所有角色和技能水平的開發人員和工程師都必須精通使用這些人工智慧工具。如果不這樣做,他們可能會被拋在後頭。
隨著軟體日益成為關鍵的商業資產,我們更加依賴科技在生活的各個層面。無論是我們使用的手機、開的汽車,或是在家中安裝的智慧裝置,全都由軟體驅動。因此,提供這些軟體的公司必須確保其基礎程式碼的清晰度,亦即確保其安全性、可靠性、可維護性及高品質。
人工智慧工具不僅對開發人員有所裨益。運用得當時,人工智慧編碼助理可大幅影響軟體及軟體基礎設施的創建、管理和測試,使DevOps團隊受惠。例如,人工智慧在持續整合/持續交付過程中可發揮關鍵作用,透過更大的自動化能力,簡化構建、測試和部署的流程。人工智慧還可將新程式碼整合至現有環境中,加快部署速度,並降低出錯風險。
人工智慧自動化也提高了敏捷性和效率。它可以處理瑣碎的工作,讓團隊無需浪費時間在雜務上,而能專注於優先項目。由於人工智慧能夠處理繁瑣且重複的任務,因此能減少人為錯誤,讓團隊專注於需要人類創意、創新和批判性思維的工作。
有了人工智慧,開發人員可以改良其程式碼,確保項目中較複雜部分的品質,同時減少次要程式碼的錯誤。我們對軟體的依賴意味著程式碼必須具備高品質,也就是具備安全性。防止網路攻擊可避免造成昂貴且危及聲譽的事件,而人工智慧在這方面可提供重大協助。
但請記住,人工智慧並非完美無缺。它可以簡化DevOps和開發流程,並隨著技術不斷進步而持續發揮作用。然而,人工智慧無可否認需要人工監督。企業無法在沒有適當防護措施的情況下實施人工智慧。重點不僅在於擁有正確的工具,更在於確保以正確方式使用這些工具,並像檢查人類同事的工作一樣,檢查人工智慧的工作成果。
負責任的人工智慧使用需要人工監督
就像任何新興科技一樣,人工智慧需要設置防護措施。團隊和企業必須確保員工以不會危及產出、品質或公司營運的方式使用人工智慧。
事實上,你無法用機器學習來完全取代人類的批判性思考——無論是現在或將來。在開發及開發作業流程中,人類仍然必須扮演重要決策的核心角色。舉例來說,人工智慧無法理解程式碼的脈絡;它可能不瞭解你想透過專案達成什麼目標。其輸出結果不能直接部署而不經檢視。你需要人類作為安全防護。
事實上,由前谷歌員工創立的GenAI平臺Vectara的研究人員量化了人工智慧的「幻覺」(hallucinations),以瞭解這項技術的限制和缺失。他們發現聊天機器人有3%到27%的時間會編造事物。為了追蹤這類問題,他們甚至在GitHub上保持一份「幻覺排行榜」。想想看你有多少次看到人工智慧聊天機器人和生成器製造出無稽之談或對問題的荒謬回應——軟體開發和開發作業也存在相同的疑慮。
使用人工智慧也需要透明度和責任制。你不能相信人工智慧是從無可質疑的來源獲取資料;你必須能夠驗證人工智慧貢獻的來源,以確保其準確性。人類團隊也需要知道這些工具的功能:其限制、規則和特定使用案例。這歸根結底是確保團隊獲得適當的教育和培訓。
然而,僅僅學習目前的使用案例是不夠的。隨著這些工具的變化和進步,我們使用它們的方式也應該經常進行評估。我們在哪些地方看到缺點?改進?失敗?目前我們如何以最佳方式使用這項技術?開發人員和開發作業團隊應該不斷進行這種開放且誠實的討論,以從彼此身上學習。
我們無法預測未來或知道五年、十年或十五年後人工智慧將會是什麼樣子——這意味著我們將永遠必須保持靈活和與時俱進。開發作業團隊將需要繼續完善和調整最佳實踐。
由人工智慧驅動的不可預測未來
人工智慧現在在軟體領域扮演著無法忽視的重要角色。當我們邁向由人工智慧驅動的未來時,我們需要持續瞭解其影響,並努力追求最佳結果。
當我們預期人工智慧在未來十年的成長和進步時,重要的是要認知我們目前在技術上無法完全將所有流程的控制權交給這些工具。所謂「無作業」(NoOps)的未來是個有趣的概念——但目前而言,它根本行不通。就像我們尚未處於無人駕駛汽車無疑比我們的車輛更安全的階段,或是我們無法完全相信聊天機器人能正確回答線上客服問題一樣,人工智慧編碼助理無法獨自運作。
開發人員和開發作業團隊不能忽視人類在軟體中的參與需求。就像人類一樣,人工智慧並非完美無缺。不過,眼前確實存在無可否認的機會。我們正處於創新和驚人轉變的令人振奮時刻。但只有在我們謹慎前進時,才能確保當我們抵達那個臨界點時,能夠獲得裨益。