AI 對工程師的工作內容,真的有帶來改變嗎?
人工智慧已經開始進入到我們的生活和工作中,但是對於工程師和軟體開發人員影響有多深,目前沒有一個具體的數字可以作為參考,單純的說人工智慧好或不好,已經無法解釋人工智慧影響到我們的程度,今年Stack Overflow 將AI 的議題放入到一年一度的問卷調查報告當中,這篇文章我們可以透過這份問卷結果,窺探AI 人工智慧影響開發人員工作的程度,我也會藉著討論這份問卷的過程,和你分享一些目前已經被開發出來,可以實際幫助我們提高開發效率的AI 工具和服務。
這張圖表是詢問開發人員,一年之後,你的工作流程是否會因為使用人工智慧而有所不同?這張圖有五種顏色,左邊的淡藍色是非常不同,也就是預期接下來的一年,受訪者認為他的工作流程,會因為人工智慧有大幅度的改變,右邊的紫色則是稍有不同,越右邊則是越傾向改變的強度較低,最右邊的黃色則是預期一年後與目前狀態非常相似,人工智慧沒有帶給他太多的改變,透過顏色的區分,我們可以發現選擇預期工作流程,會有大幅度改變的淡藍色和稍微不同的紫色,佔了圖表的絕大多數,這顯示有在工作流程中使用過人工智慧的人,大部分預期自己的工作將會有不同層度的改變和影響,接下來我們就要來看看哪些工作流程影響最深,哪些開發人員和工程師比較不依賴人工智慧處理工作。
當人工智慧興起的同時,常會拿出來討論的議題是AI 是否會取代工程師,但是這樣的問題常常僅限於寫程式這件事,也就是在第一個工作流程,在這份圖表展示的結果中,寫程式這項工作的確佔有很高的比例,但是對於工程師來說,他們每天所面對的工作流程不只是在寫程式,對於這些填寫問卷的開發人員來說,debug 和獲得幫助是佔比最高的,淡藍色和紫色的加總高達77%,這表示人工智慧在協助開發人員debug 的流程是改變最多的,其他還有比寫程式佔比更高的工作流程,像是撰寫程式碼的文件,學習codebase 和測試程式碼,這裡想談一下學習codebase 這個工作項目,codebase 是指一個系統或是專案的程式碼,他還包含了設定檔和說明文件,開發人員進入一個新的專案,在開始正式動手寫程式之前,需要花時間去理解它的架構和商業邏輯,即便我們已經有了程式語言的基礎,但我們仍然需要花費很多的時間與精力去理解,如果有人工智慧的幫忙,可以加速我們理解和學習的過程。
目前已經有這樣的AI 工具出來了,我將他收錄在我Code Gym 的官網中,這個工具的名稱是ExplainDev,我們可以直接在既有的專案中,選取我們想要理解的程式碼,然後右鍵執行分析程式碼的動作,它就會用我們容易理解的自然語言說明這段程式碼是做什麼用的,它還可以安裝在Chrome 瀏覽器上,方便我們理解在網頁上出現的程式碼片段,是一個很實用的AI 工具,你可以點擊網址連結,安裝在你的visual studio 或是Chrome上面 ,嘗試讓這類的AI 工具進入到你的開發流程和生活當中。
對於未來一年工作流程是否會改變的預期,寫程式碼這項工作的佔比只排到了第六名的位置,我想這和人工智慧生成出來的程式碼準確度有關,還有開發人員對於人工智慧的信任度有關,這份圖表是開發人員對於AI 工具的output,信任程度的結果,最上面的Hightly Trust ,是對於AI 工具的產出有高度信任,只佔了2.85%,和下方的稍微信任加總起來佔了42% 左右,另外有將近31% 的人選擇觀望,剩下的27% 則是傾向於不信任,所以有四成以上的開發人員是信任AI 工具所產生出來的資料,但信任會有層度上的不同,我自己也處在稍微信任的層級,因為我在之前的一段影片,有使用ChatGPT 撰寫操作Excel 的Python 程式,在這個實際示範的過程中的確有發生一些問題,你可以在這篇文章過後瀏覽這個示範過程的影片,我作為一個幫公司開發系統的工程師,我會盡可能的避免發生錯誤,因為系統發生的錯誤會造成公司名譽受損和金錢上的損失,所以我會用更謹慎的態度,來看待AI 幫我撰寫程式碼這件事,我選擇用謹慎這個詞,是因為我並不排斥AI 或討厭AI,我仍然對於AI 抱持樂觀態度,它只需要再多一點時間,我相信它能發展的更好,或許就在你閱覽文章的同時,它又演化到了另一個層級。
我想很多開發人員和我抱持著相似的觀點,在這張圖表展示了開發人員對於AI 工具的喜好程度,其中有27.72% 的受訪者表示非常喜歡,相較於剛才的信任度調查表,高度信任只佔了個位數,兩者有大幅度的差異,這也表示了開發人員現階段對於AI 工具的信任程度 ,不影響到對它的喜歡,因為和下方強度稍弱的喜歡,48.56% 加總起來,高達76.28% 的人喜歡將AI 工具加入到他們的工作流程當中,為他們的工作流程帶來的改變。
開發人員對於一年之後工作流程改變,佔比超過寫程式的工作流程中,除了剛才提到的學習codebase 以外,還有debug 和測試,這兩個工作流程我們可以使用Github 的Copilot,這是由OpenAI 和Github 合作開發的AI 工具,相較於從無到有撰寫一段實現想法的程式,基於已經寫好的程式碼來建立測試腳本,AI 工具的準確度會更高一些,在微軟開發者大會上,微軟公開展示Github Copilot 快速建立測試腳本的能力,除了Github Copilot 以外,我們也可以使用Amazon CodeWhisperer,Replit 的Ghostwriter,這些AI 工具都可以幫助我們撰寫程式碼和測試腳本,還有debug,提高我們開發系統的速度和效率
如果你時常需要用SQL 和資料庫打交道,可以試試看用這個工具AI Query,它能讓你用簡單的英語,建立SQL 查詢,也能夠反過來,使用非技術人員容易理解的方式,對SQL 中的含義和目的進行描述或解釋,如果你是使用React 開發App,可以試試看使用Quest AI,它透過聊天的方式來修改設計風格,撰寫商務邏輯和連接到後台,結構化的設計模板,可以快速啟動你的專案。
當我們撰寫好的程式碼,經過測試沒有問題後,我們會寫說明文件,提供給廠商和團隊內部閱覽,這項編輯文件的工作流程,我們可以使用DocuWriter.ai 來做,這個AI 工具使用起來很簡單,我們只需要將程式檔案上傳到工具平台上,它就會自動幫我們產生出相對應的文件,說明程式碼的邏輯和用法,另外這個AI 工具也支援測試和程式碼最佳化的功能,最後當我們將程式碼寫好、測試好之後,我們會將最新的版本提交到Github 或其他版本控制軟體,讓團隊可以合併和review,這項工作流程可以使用一個AI 工具what the diff,它可以幫助你和你的團隊更快的合併和review 程式碼,甚至讓你的非技術團隊成員也能參與其中,我將這些工具收錄在我Code Gym 的網頁上,你可以點擊網址連結,這個網頁除了程式編輯和系統開發,還包含了文案生成、圖片生成和音樂生成等不同領域的AI 工具與服務,我也會持續搜集最新的AI 工具放在網頁上。
當市面上陸續開始推出許多新的AI 工具後,我們會想知道究竟有多少人,會在工作的時候使用這些AI 工具,這張圖表的問題就是詢問受訪者,你目前是否有在開發流程中使用AI 工具?有43% 以上的人正在使用這類的工具做開發,另外有25% 左右的人,目前沒有使用但有計畫要使用,最後有29% 接近3成的人,目前沒有使用,也沒有計畫要使用,所以我們可以看到大部分的開發人員已經有在使用AI 工具,而且這個佔比會越來越高,但我們也發現仍然有很大一部分的人,連未來要使用的計畫都沒有,會有這樣的結果是因為,專業的開發人員並不是一個同質化的群體,有前端、後端工程師,也有硬體和雲端工程師,大家的工作領域和專業需求都不同,所以在了解這個問題本質的背後,我們必須從不同的開發人員類別來看這個問題。
這份表格是依據剛才的圖表做展開,最左邊的欄位是開發人員的角色和類別,像是雲端架構師、設計師,從這樣的角色分類,我們可以看到每一類的開發人員,使用AI 意願程度的不同,還有在其他層面的差異,像是我在之前有做過一段影片,也是使用Stack Overflow 的調查報告,介紹哪一類的工程師薪水最高,我們可以透過工程師的角色分類,觀察這個產業中每一個板塊的發展趨勢,在角色分類的欄位隔壁,是目前有在使用AI 工具的佔比數據,從這些數據結果來看,目前最多人使用AI 的工程師是區塊鏈相關的開發人員,佔了這個類別62%以上,其次是資料科學家和機器學習專家,也佔了六成左右的比例,資料分析和機器學習是AI 人工智慧所擅長的領域,所以相較於其他類別佔比會更高一些,旁邊的欄位是目前沒有使用AI,但有計畫要使用的佔比,比較有趣的會是在下一個欄位,目前沒有使用AI ,之後也不打算使用AI 的人,選擇這個選項的人可能是真的在工作上不需要人工智慧,或是幫助有限,我們來看看哪一類的工程師最不需要使用AI ,佔比最高的第一名是嵌入式系統和設備相關的工程師,有超過一半的人不打算使用AI,其次是硬體工程師,佔了這個分類的45.8%,這兩類的工程師的工作比較偏向於系統底層,硬體方面的工作,其實如果你細看這份報表,你會發現工程師類別是在開發AP 層,也就是比較靠近使用者的這類系統,使用AI 工具的佔比會比較高一點,像是前端工程師在最後一欄,目前有在使用,或是有計畫使用的總和,佔了78%,將近八成的前端工程師會將AI 納入到工作流程當中,下方的全端工程師也有73% 左右的佔比
會有這樣的現象,除了和工作屬性有關,也可能和我們如何看待AI 的面向有關,因為當我們在討論AI 工具,對我們工作影響的程度同時,有人提出另一種觀點讓我們作為參考,文章的標題是「AI 不是app,它是UI 」,作者想表達說AI 是一個新型態的UI 介面,文章中他提到,在未來的歲月裡,我們會發現AI 在我們人類,和僵化的計算機系統之間,扮演中間人的角色,這意味著我們可以進一步的歡迎計算機,進入到我們的生活中,我們不可能完全信任AI 人工智慧,但我們肯定可以把它用好,同時,如果我們可以不用放棄,使我們成為人類的東西,那就更好了,不知道你是不是同意他的看法,希望這篇文章帶給你一些幫助和啟發,我是Code Gym 的Ryan
🔥 結合AI 人工智慧的Python 自動化課程「Python 自動化工作術」
Code Gym 致力於創造實用的高品質線上課程,幫助想要學習程式語言和IT技術的朋友,能透過我的課程,學習知識,發揮熱情,創造出屬於你自己的作品