DevSecOps 中的AI:從“智能副駕”到“自動駕駛”

2024-01-09 18:40:09    編輯: robot
導讀 自動駕駛和軟件(SW)开發之間有何共同點?乍一看,並沒有什么共同點。但仔細觀察一下,就能發現兩者之間存在一些相似之處,尤其是在實現基本目標的演進路徑上。开發團隊本身不會成爲 “乘客”,但設計、創建、...

自動駕駛和軟件(SW)开發之間有何共同點?乍一看,並沒有什么共同點。但仔細觀察一下,就能發現兩者之間存在一些相似之處,尤其是在實現基本目標的演進路徑上。开發團隊本身不會成爲 “乘客”,但設計、創建、保護、分發和維護等方面相關人員的傳統角色和職責會發生轉變。爲了更好地理解這一點,可以先深入了解一下自動駕駛的概念,然後再將其與軟件开發聯系起來。

自動駕駛的概念出現已有多年,曾經看似未來派的概念如今已成爲現實。從本質上來說,自動駕駛汽車(AV)旨在最大限度地減少交通出行中的人爲失誤(目前約 90% 的交通事故都是由人爲失誤造成的)。自動駕駛汽車的基本前提是其性能應優於普通人類駕駛員。自動駕駛技術可以節約時間,這至關重要。這樣,人們就可以把精力投入到更令人愉悅的娛樂活動中,而不是耗費在交通路途中。

邊緣計算和AI是實現自動駕駛的兩大關鍵要素:它們使車輛能夠在車內處理物聯網傳感器的數據,從而實現實時操作。這種能力對於任何任務關鍵型應用都至關重要。試圖對機器進行手動編程,以處理各種可能的駕駛場景的做法已不切實際。相反,車輛必須從環境中動態學習。自動駕駛汽車的智能程度取決於各種物聯網傳感器數據的可用性,基於數據就能創建物理世界的數字孿生表示。數據越多樣化,就能部署越復雜的AI系統。

觀察自動駕駛的發展路徑,我們可以發現,在每個階段,人類的參與都在逐漸減少。自動駕駛汽車框架包括 6 個自動化級別,從 0(完全手動)到 5(完全自主)不等。

- 無自動化:駕駛員完全控制所有駕駛任務。

- 駕駛員輔助:車輛採用單一自動化系統,允許駕駛員將腳從踏板上移开。

- 部分自動化:車輛具備轉向和加速能力,駕駛員可以將手從方向盤上移开。

- 有條件的自動化:車輛能夠控制大部分駕駛任務,使駕駛員能夠將視线從道路上移开,同時仍能保持監控。

- 高度自動化:車輛在特定條件下能夠執行所有駕駛任務,讓駕駛員有機會在保持警惕的同時,將注意力從路面上移开。

- 完全自動化:車輛可在任何條件下獨立完成所有駕駛任務。這樣,駕駛員就變成了乘客,完全不用擔心任何駕駛責任。

AI 在軟件开發中的優勢與其在自動駕駛領域中的優勢如出一轍,即最大限度地減少人爲失誤,使人能夠騰出時間,從事創造性更強的工作。由於人力資源往往是軟件开發中成本最高的環節,因此企業就有動力去採用AI系統,事半功倍。

仔細研究軟件开發的演進路徑,會發現其與自動駕駛技術的進步有着驚人的相似之處:在每個演進階段,人類的參與都在逐漸減少:

- 本世紀初,軟件开發幾乎不涉及自動化。在軟件开發生命周期(SDLC)的每個階段都需要人工控制,因此整個過程基本上都需要手動操作。問題往往是由客戶而非內部團隊發現的。

- 2010 年代中期,容器化、雲計算和 DevOps 的興起提高了軟件开發生命周期的整體自動化程度和效率。在測試、代碼審查和 CI/CD 等領域,基於預定義(硬編碼)策略和“if-then”規則的常規任務和程序性決策實現了自動化。這樣,研發團隊就能專注於創造性工作,提高生產力,進而實現“引導和加速”。根據敏捷原則縮短开發周期,在开發和運維之間架起橋梁。問題的管理和解決开始從被動反應轉變爲自適應,各團隊之間的協調更加順暢。大多數問題甚至可以在客戶意識到之前就被發現並解決。

- 如今,生成式AI正在推動軟件开發的效率和創新水平至新高。基於生成式AI的解決方案可通過無縫的人機對話來創建新內容,自動化的應用遠不止常規任務。AI在整個軟件开發生命周期過程中,是不折不扣的助手(智能副駕),它能夠提供建議、解釋問題、生成代碼、監控流程、掃描資源庫、提供預測並輔助快速決策,效率也开始得以提升。這將進一步加快和提高整體代碼生成速度,意味着能夠實現更多的軟件構建、更多需要保護的軟件以及更頻繁的運行時更新。當我們將嵌入式AI模型(MLOps)添加到現代軟件开發的等式中時,上述領域將進一步擴大。“流式軟件”的概念正逐漸成爲現實,小規模的增量改進(基於二進制文件的更新)會自動從开發階段流向運行階段,而服務停機時間則會降至最低。

- 在應用安全方面,AI能夠通過預測,大幅縮短發現和修復問題的時間,從源頭防止惡意軟件包進入企業。首先是利用基於AI的嚴重性和上下文分析來進行自動化漏洞掃描和檢測,然後是自動修復。盡管取得了上述進步,但在基於AI的解決方案展現出更高的可信度和可靠性之前,人工幹預和審批仍然是必要的。

- 近年來,我們开始向全自動範式過渡,即從“智能副駕”(AI助手)轉變爲“自動駕駛”(人工智能決策者)。機器可以通過自然語言用戶界面(如英語)來解決高度復雜的問題,而這需要程序員掌握新型技能,引導對話達到預期狀態。從根本上說,AI系統的性能應優於普通人類开發者或參與上述流程的其他人員。AI將進一步增強決策流程並使之自動化,使企業能夠選擇最佳的(數據驅動型)方法和工具來解決任何問題。對AI系統的信任將是最重要的,而這就要求做到對廣範圍語境的理解和合乎道德的決策制定,類似於當今自動駕駛所面臨的挑战。自學習和自修復能力將成爲檢測、分析、隔離和修補問題並保持服務正常運行的關鍵。這意味着:軟件將能夠自我重寫和更新,並增加新的功能以處理新的輸入。同樣,對於自動駕駛汽車,AI系統也必須從自身運行環境中學習並做出相應調整。

總之,雖然自動駕駛與軟件开發之間的相似之處可能不會立即顯現出來,但這兩個領域都有一個共同的目標,即利用AI來強化自身的運作,並讓個體能夠騰出時間來專注於更想追求的目標。在軟件开發方面,AI將持續加速並改進新功能和數據的創建,提升各研發職能的用戶體驗,逐步從可信賴的顧問發展到更高的決策自主權。從智能編碼和安全,到覆蓋整體 DevOps 堆棧,基於AI的“智能副駕”將慢慢成爲整個軟件开發生命周期的主流。企業對於AI必須堅持負責任且安全的原則和實踐,以確保業務成果的可持續性。這涵蓋AI生成軟件的多方面,包括保護知識產權,避免潛在的安全和許可證合規問題等。AI系統的逐步自主化將允許並確保與現有基礎設施和監管環境的兼容性。

隨着AI技術的不斷進步,我們可以預見軟件开發將迎來更深入的整合和創新。隨着AI不斷改變各行各業,我們也步入了一個激動人心的時代。軟件开發的未來大有可爲,想象力有多大,我們對機器能夠賦予的开發責任就可以有多大。

關於JFrog

JFrog Ltd.(納斯達克股票代碼:FROG)的使命是創造一個從开發人員到設備之間暢通無阻的軟件交付世界。秉承“流式軟件”的理念,JFrog軟件供應鏈平台是統一的記錄系統,幫助企業快速安全地構建、管理和分發軟件,確保軟件可用、可追溯和防篡改。集成的安全功能還有助於發現和抵御威脅和漏洞並加以補救。JFrog 的混合、通用、多雲平台可以作爲跨多個主流雲服務提供商的自托管和SaaS服務。全球數百萬用戶和7000多名客戶,包括大多數財富100強企業,依靠JFrog解決方案安全地开展數字化轉型。



標題:DevSecOps 中的AI:從“智能副駕”到“自動駕駛”

地址:https://www.utechfun.com/post/315938.html

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。

猜你喜歡