自從2022年底ChatGPT發(fā)布以來,互聯(lián)網(wǎng)上一直充斥著各種或悲觀、或樂觀的情緒。不管你是喜歡還是討厭,人工智能都會進(jìn)入你的開發(fā)團隊。即使你不打算開發(fā)人工智能產(chǎn)品或采用人工智能開發(fā)機器人為寫代碼,它仍然可能被整合到用于構(gòu)建、測試和運行你的手動編寫源代碼的工具和平臺中。
人工智能工具會帶來與眾不同的風(fēng)險。而且,這些風(fēng)險可能會抵消自動化曾經(jīng)需要人類大腦執(zhí)行的任務(wù)所帶來的巨大的生產(chǎn)力效益。這些風(fēng)險來自于人工智能的訓(xùn)練、構(gòu)建、托管和使用方式,所有這些都與開發(fā)者目前使用的其他軟件工具不同。了解風(fēng)險是管理風(fēng)險的第一步,為了幫助你了解與即將到來的人工智能工具相關(guān)的潛在風(fēng)險,我們編寫了一些面試問題,可以算作人工智能入職考察過程的一部分。
無論人工智能的類型或希望利用其達(dá)成的目的如何,都應(yīng)該問這些問題。
1. 你將選用的人工智能的服務(wù)器在哪里托管?
現(xiàn)代人工智能目前需要專用、昂貴的硬件來完成我們今天看到的頭條新聞中的驚人任務(wù)。除非你打算收購一個全新的數(shù)據(jù)中心,否則你的人工智能機器人將遠(yuǎn)程工作,并需要與使用遠(yuǎn)程訪問和異地數(shù)據(jù)存儲的遠(yuǎn)程人類工作者一樣的安全考慮。
在代碼離開邊界時,有什么樣的保護(hù)措施來防止IP丟失?從智能電視到汽車的一切都在向制造商報告使用數(shù)據(jù)。一些人正在使用這些數(shù)據(jù)來改進(jìn)他們的軟件,但另一些人正在將其出售給廣告商。準(zhǔn)確了解你的人工智能工具將如何使用或處理源代碼或其他用于其主要任務(wù)的私人數(shù)據(jù)。
2. 你的輸入是否會被用于人工智能的未來訓(xùn)練?
人工智能模型的持續(xù)訓(xùn)練將是所有者和那些數(shù)據(jù)被用于訓(xùn)練模型的人越來越關(guān)注的領(lǐng)域。例如,所有者可能希望防止廣告商將人工智能機器人偏向于有利于其客戶的方向。在網(wǎng)上分享作品的藝術(shù)家已經(jīng)讓人工智能圖像生成機器人復(fù)制了他們的風(fēng)格,他們非常擔(dān)心其原創(chuàng)作者的身份喪失或被盜。
3. 結(jié)果的準(zhǔn)確性怎么樣?
ChatGPT最著名的缺點是其結(jié)果的不準(zhǔn)確性。它會自信地把虛假的東西斷言為真理。這被稱為人工智能的“幻覺”。了解人工智能可能產(chǎn)生幻覺的方式和地點,可以在它產(chǎn)生幻覺時幫助管理它。
除此之外,人工智能所有者和開發(fā)者將有自己的一系列安全問題。這些新的擔(dān)憂包括對人工智能訓(xùn)練模型的威脅。這些威脅可能會破壞其結(jié)果或披露有關(guān)模型如何運作的專有信息。此外,人工智能模型將不得不與API、網(wǎng)絡(luò)、移動和其他需要安全構(gòu)建的應(yīng)用程序?qū)印?/p>
開發(fā)人員在使用人工智能工具(如人工智能安全掃描儀)管理軟件開發(fā)過程中引入的風(fēng)險時,將不得不提出具體問題。
4. 人工智能工具是否最適合這個用例?
了解人工智能擅長什么和不擅長什么是關(guān)鍵。一項任務(wù)可以進(jìn)一步分解為“根據(jù)學(xué)習(xí)到的規(guī)則做出決定”或“編寫通過學(xué)習(xí)到的規(guī)則的內(nèi)容”,人工智能在這方面會做得越好。問題偏離越遠(yuǎn),人工智能的表現(xiàn)就越差。
如果工具沒有捕捉到內(nèi)容或者產(chǎn)生了不存在的幻覺,有什么保障措施?
永遠(yuǎn)不要在你的流程中引入單點故障,特別是一個可以產(chǎn)生幻覺的故障。依靠傳統(tǒng)的縱深防御做法或管理風(fēng)險的“瑞士奶酪”方法,在這種方法中,即使一層錯過了問題,下一層也會抓住它。
審查工具結(jié)果需要什么來監(jiān)督?這個問題其實不過是新瓶裝舊酒:傳統(tǒng)的日志指引分成兩部分。第一部分是捕獲重要事件的數(shù)據(jù),第二部分是審核日志。在人工智能進(jìn)一步成熟,并且其缺點被理解或緩解之前,人類在工作流程中仍然是不可或缺的。
越來越多的開發(fā)者正在“雇傭”ChatGPT來編寫源代碼。初步報告顯示,ChatGPT能夠用許多編程語言編寫源代碼,并能流利地使用所有常見的和公開討論的語言。但由于這個測試版的訓(xùn)練和模型的限制,它產(chǎn)生的代碼并不總是完美的。通常,它包含可能改變軟件操作方式的業(yè)務(wù)邏輯缺陷,可能融合不同版本軟件的語法錯誤,以及其他看似人為的問題。換句話說,ChatGPT是一個初級開發(fā)人員。當(dāng)使用這個初級開發(fā)人員編寫的代碼時,必須考慮如何管理它。
誰將成為它的管理者,并確保代碼具備功能性、可優(yōu)化、高質(zhì)量,而且還能達(dá)到安全標(biāo)準(zhǔn)?初級開發(fā)人員需要高級開發(fā)人員指導(dǎo)。每一行代碼都要進(jìn)行測試,有些還得進(jìn)行修正。然而,初步報告顯示,這種校對過程比從頭開始寫代碼更快、更容易。
5. 它是在你的代碼庫中注入或重新混合培訓(xùn)代碼嗎?
一個更隱蔽的威脅是,有時像GitHub Copilot這樣的人工智能機器人產(chǎn)生的源代碼會完全復(fù)制其訓(xùn)練數(shù)據(jù)中的代碼塊。這需要反剽竊工具來確保版權(quán)風(fēng)險得到管理。
6. 機器人從哪里獲得其訓(xùn)練數(shù)據(jù)?
人工智能模型的優(yōu)劣取決于其訓(xùn)練數(shù)據(jù)。如果機器人是通過陳舊或不正確的代碼進(jìn)行訓(xùn)練,它也將生產(chǎn)出陳舊的和不正確的結(jié)果。
7. 引擎托管在哪里?
同樣,分析源代碼的人工智能機器人將需要把源代碼帶到其處理設(shè)施。要格外考慮數(shù)據(jù)在離開你折公司后,是如何被保護(hù)、使用和處理的。
12月發(fā)布的ChatGPT預(yù)示著軟件開發(fā)的一個新時代。重要的是要適應(yīng)這些變化,而不是被它們打倒在地。在采用這些新工具時,要明白事物變化越大,有一條原則就越是保持不變:防止安全事件發(fā)生總比被安全事件打翻在地要好。