人工智能不辜負(fù)炒作?這是一個通信問題
毫無疑問,人工智能(AI)是數(shù)字經(jīng)濟(jì)的下一個前沿領(lǐng)域。雖然它可能還沒有完全滲透到公眾意識中,但人工智能已經(jīng)在幕后工作,以增強各種各樣的系統(tǒng)和服務(wù),推動從聊天機器人到全棧IT自動化的一切。
然而,這種進(jìn)步的大部分是由計算能力的快速擴張推動的,而不是人工智能所固有的技術(shù)。在功能上,人工智能包括使用1990年代和2000年代初期開發(fā)的相同基本數(shù)學(xué)模型的統(tǒng)計數(shù)據(jù)分析。即使是像人工神經(jīng)網(wǎng)絡(luò)這樣聽起來很未來的發(fā)展,它暗示了一個模仿大腦中神經(jīng)元的過程,也只不過是順序矩陣乘法——換句話說,是相當(dāng)基本的數(shù)學(xué),但可以高度縮放。
這也是最近人工智能的潛力被夸大的部分原因。在經(jīng)濟(jì)崩潰之前,計算能力只能讓人工智能走這么遠(yuǎn),而這個水平將遠(yuǎn)遠(yuǎn)低于許多承諾,比如完全自主的軟件測試和直觀學(xué)習(xí)。只有在人工智能模型和算法本身取得一些突破,這些事情才有可能實現(xiàn)。而且因為這需要更長的時間才能完成,所以可以公平地說,人工智能在短期內(nèi)沒有達(dá)到他們的期望,不會給世界留下深刻的印象,但隨著技術(shù)的進(jìn)步,他們會徹底驚訝。
目前,人工智能的關(guān)鍵限制因素是人類和人工智能難以溝通。理想情況下,我們應(yīng)該能夠告訴AI模型我們希望它做什么,而無需深入研究技術(shù)細(xì)節(jié)。我們應(yīng)該能夠定義一個問題,讓AI不僅能提出正確的解決方案,而且還能收集必要的資源并編寫適當(dāng)?shù)拇a來自行實現(xiàn)目標(biāo)。
聲明式與命令式
軟件開發(fā)領(lǐng)域,尤其是質(zhì)量保證(QA)領(lǐng)域,提供了一個清晰的例子,說明這在企業(yè)中是如何發(fā)揮作用的。盡管自動化在開發(fā)過程的大部分時間里都變得普遍存在,但測試在手動時代仍然根深蒂固。
最近GitLab對4,000多名開發(fā)人員的調(diào)查證實了這一點,其中大多數(shù)被質(zhì)疑的人認(rèn)為測試是發(fā)布計劃中最重要的延遲因素。一位受訪者甚至說:“測試會延遲一切。”盡管已經(jīng)對使用AI自動化整個QA流程進(jìn)行了充分的討論——理論上這應(yīng)該可以讓測試團(tuán)隊從許多死記硬背的重復(fù)性任務(wù)中解脫出來,以使代碼準(zhǔn)備好運行——但沒有理由期望這會在不久的將來發(fā)生。
在絕大多數(shù)情況下,測試人員無法有效地將其需求傳達(dá)給AI模型,而無需在代碼中指定精確的元素或描述高技術(shù)配置。只有在低代碼環(huán)境中,才能使用可視化流程圖方法遠(yuǎn)程設(shè)計測試。在幾乎所有其他情況下,在不打破人類和算法之間存在的語言障礙的情況下,理解給定軟件產(chǎn)品的需求完全超出了當(dāng)前AI模型的手段。
這一障礙的核心在于雙方對各自所處世界形成理解的方式不同。AI以嚴(yán)格的命令方式運行,例如,“我希望你執(zhí)行這個非常具體的操作”,然后它就會這樣做。人類思維使用更具陳述性的方法,將“如何”和“為什么”需要執(zhí)行某個動作結(jié)合起來,這需要技術(shù)專業(yè)知識和對指導(dǎo)該動作執(zhí)行的更廣泛背景的深刻理解。因此,人類必須首先確定該行動的最終目標(biāo)及其與其他行動的關(guān)系,而不是僅僅按照指示做一件事,找到合適的工具并以精確的方式應(yīng)用它們以達(dá)到預(yù)期的結(jié)果。
在現(xiàn)實世界的應(yīng)用程序中,例如自動駕駛汽車,我們可以看到命令式風(fēng)格與聲明式風(fēng)格的對比。為了到達(dá)目的地,人類駕駛員必須啟動汽車、啟動汽車、轉(zhuǎn)動車輪、踩剎車并執(zhí)行一系列精確動作以實現(xiàn)目標(biāo)。我們可以稱之為“勢在必行”的駕駛。使用聲明式方法的自動駕駛汽車只需要被告知要去哪里,算法會填寫到達(dá)那里所需步驟的所有細(xì)節(jié)。
為什么不應(yīng)該期望測試人員編寫代碼
我對這個特殊問題的興趣可以追溯到我在一家投資銀行的時候,在那里我專門研究公司社交交易平臺的系統(tǒng)架構(gòu)、持續(xù)交付、實時故障排除和性能優(yōu)化。正如可以預(yù)料的那樣,測試是這種環(huán)境中的一個重要組成部分,它是圍繞高速、高質(zhì)量的交易工具構(gòu)建的,如果軟件包含缺陷,可能會導(dǎo)致嚴(yán)重的財務(wù)中斷,甚至破產(chǎn)。
我最初的想法是創(chuàng)建一種簡單的編程語言,可以用來創(chuàng)建測試,而不必將過程循環(huán)回程序員。但是,盡管我們的測試人員是訓(xùn)練有素的專家,他們對我們軟件的復(fù)雜性有深刻的理解,但他們并不是編碼員,因此要求他們進(jìn)行即使是基本的編程也不是正確的答案。
顯然,需要一種更直觀的構(gòu)建測試的方法。一天,在白板演示流程圖時,燈泡熄滅了。它立即讓我們所有人震驚,因為它是一種清晰、簡潔的方式來傳達(dá)具有多個復(fù)雜依賴項的流程。
盡管如此,與普通計算平臺相比,用人工智能彌合這一差距要困難得多。盡管如此,通過利用基于模型的測試和其他新興技術(shù),我相信這將成為可能。通過將給定系統(tǒng)的需求呈現(xiàn)為被測軟件的數(shù)字孿生體,基于模型的測試顯示出極大的希望,可以實現(xiàn)人工智能的命令式理解。在這一點上,關(guān)鍵的絆腳石是所有模型都必須建立在一組明確定義的要求上,這些要求很難用AI平臺描述,尤其是當(dāng)工作涉及抽象概念時。
當(dāng)然,這將涉及大量研究和創(chuàng)新的人工智能建模新方法,但這顯然是軟件測試的發(fā)展方向。最后,它將使人工智能能夠兌現(xiàn)推動其迅速采用的承諾。
- 上一篇
為什么便利是您安全的最大威脅
網(wǎng)絡(luò)安全是一場持續(xù)的戰(zhàn)斗,所有IT決策者都非常熟悉。在這場安全軍備競賽中,不斷需要更先進(jìn)和更復(fù)雜的工具來應(yīng)對日益陰險的攻擊。但是,無論您采用多么聰明的技術(shù)來保護(hù)您的端點
- 下一篇
網(wǎng)絡(luò)安全何去何從?
我有機會聽到Krebs Stamos Group的創(chuàng)始合伙人、網(wǎng)絡(luò)安全和基礎(chǔ)設(shè)施安全局(CISA)前任主任Chris Krebs在第25屆黑帽安全會議上發(fā)表開幕主題演講。25年來,InfoSec社區(qū)和行業(yè)通過研究和對手洞察力消除了技術(shù)中的安全漏洞。