技術(shù)雷達(dá)使用圖形,以條目展示不同的技術(shù)內(nèi)容,每個(gè)條目對(duì)應(yīng)一項(xiàng)技術(shù)。我們把條目歸類于技術(shù)、工具、平臺(tái)、語(yǔ)言和框架四個(gè)象限,而采納、評(píng)估、試驗(yàn)和暫緩環(huán)則代表我們對(duì)其作出的成熟度的評(píng)估。軟件領(lǐng)域瞬息萬(wàn)變,我們追蹤的技術(shù)條目也如此,它們?cè)诶走_(dá)中的位置會(huì)隨技術(shù)趨勢(shì)而改變。
第28期技術(shù)雷達(dá)涵蓋107個(gè)條目和五大主題,主題包括《實(shí)用人工智能的飛速崛起》、《易用的無(wú)障礙設(shè)計(jì)》、《Lambda 陷阱》、《數(shù)據(jù)分析和人工智能中的工程嚴(yán)謹(jǐn)性》以及《聲明,還是編程?》。本次技術(shù)雷達(dá)媒體發(fā)布會(huì)對(duì)以下三個(gè)主題進(jìn)行了深入解析:
實(shí)用人工智能的飛速崛起
在過(guò)去幾個(gè)月里,類似 ChatGPT 這樣的工具已經(jīng)徹底改變了人們對(duì)人工智能的認(rèn)識(shí),并使得這類工具開(kāi)始被廣泛使用。作為一個(gè)已經(jīng)”閱讀”了數(shù)十億個(gè)網(wǎng)頁(yè)的大型語(yǔ)言模型(LLM),ChatGPT 可以提供額外的視角,協(xié)助完成不同的任務(wù),包括生成創(chuàng)意和需求、創(chuàng)建代碼和測(cè)試等。
對(duì)于人工智能的應(yīng)用,技術(shù)雷達(dá)建議不要過(guò)度或不當(dāng)使用。使用這些人工智能工具可能會(huì)存在知識(shí)產(chǎn)權(quán)和數(shù)據(jù)隱私方面的擔(dān)憂,包括一些尚未解決的法律問(wèn)題,因此我們建議企業(yè)在使用前征求其法律團(tuán)隊(duì)的意見(jiàn)。現(xiàn)今,AI 模型能夠生成一個(gè)良好的初稿。但生成的內(nèi)容始終需要由人類監(jiān)測(cè)、驗(yàn)證、審查和負(fù)責(zé)任地使用。如果忽視這些預(yù)警,機(jī)構(gòu)和用戶可能面臨名譽(yù)和安全風(fēng)險(xiǎn)。甚至有些產(chǎn)品用例也提醒用戶,“AI 生成的內(nèi)容可能存在錯(cuò)誤。在使用前請(qǐng)確保它的正確性和合理性”。
“ChatGPT足夠驚艷,但如果不能安全的為我所用,或是能找到類似的解決方案,那只會(huì)帶來(lái)恐慌。” Thoughtworks中國(guó)區(qū)CTO徐昊在對(duì)《大語(yǔ)言模型的兩條道路》這一話題解讀時(shí)表示。
在大語(yǔ)言模型的使用上,Thoughtworks中國(guó)區(qū)CTO徐昊認(rèn)為當(dāng)下可以分為兩種方式?!耙环N方式基于傳統(tǒng)的機(jī)器學(xué)習(xí),源自遷移學(xué)習(xí)(Transfer Learning)邏輯。既然存在一個(gè)預(yù)先訓(xùn)練的模型(pre-trained model),那么采用更接近某個(gè)特定領(lǐng)域的數(shù)據(jù),進(jìn)行遷移學(xué)習(xí),就可以將預(yù)先訓(xùn)練的能力遷移到不同的領(lǐng)域。”徐昊解釋道。在本期《技術(shù)雷達(dá)》中,我們提及了領(lǐng)域特定的大語(yǔ)言模型(Domain Specific LLM),使用領(lǐng)域特定數(shù)據(jù)對(duì)通用大型語(yǔ)言模型進(jìn)行微調(diào)能將它們用于各種各樣的任務(wù),包括信息查詢,增強(qiáng)用戶支持和內(nèi)容創(chuàng)作。這種實(shí)踐已經(jīng)在法律和金融領(lǐng)域展現(xiàn)出現(xiàn)它的潛力。另外, 自托管式大型語(yǔ)言模型(Self-host LLM)也已經(jīng)成為現(xiàn)實(shí),自托管有許多好處,比如可以更好地控制模型在一些特定使用場(chǎng)景的微調(diào)、提高安全性和隱私性,以及支持離線訪問(wèn)。然而不可避免的是,這種方式可能保留或二次分享您的數(shù)據(jù),這會(huì)對(duì)保密信息和數(shù)據(jù)的所有權(quán)帶來(lái)風(fēng)險(xiǎn),同時(shí)消耗的成本也應(yīng)該納入考量因素。
另一種方式基于大語(yǔ)言模型本身的閱讀理解和推理能力。徐昊認(rèn)為:“在這種方式下,不需要復(fù)雜的數(shù)據(jù)收集,昂貴的GPU,長(zhǎng)時(shí)間的訓(xùn)練。通過(guò)幾次對(duì)話修正,就可以將大語(yǔ)言模型遷移到您所希望的領(lǐng)域?!北热缭诒酒凇都夹g(shù)雷達(dá)》中提到的提示工程和LangChain。前者指的是為生成式 AI 模型設(shè)計(jì)和優(yōu)化提示的過(guò)程,以獲得高質(zhì)量的模型響應(yīng)。這個(gè)過(guò)程包括精心設(shè)計(jì)特定、清晰易懂和與所需任務(wù)或應(yīng)用相關(guān)的提示,以引導(dǎo)模型輸出有用的結(jié)果。而后者是一個(gè)用于構(gòu)建基于大型語(yǔ)言模型(LLMs)應(yīng)用的框架。這些模型已經(jīng)引起了一場(chǎng)生成式人工智能在各種場(chǎng)景下的競(jìng)賽。
在上下文構(gòu)建方面,徐昊認(rèn)為,LLM的未來(lái)之路仍然存在爭(zhēng)議,如何進(jìn)行選擇,將來(lái)的主流模式是什么,仍然需要業(yè)界探索。
易用的無(wú)障礙設(shè)計(jì)
多年來(lái),無(wú)障礙設(shè)計(jì)一直是備受組織重視的因素。在本期技術(shù)雷達(dá)中,Thoughtworks著重展示了團(tuán)隊(duì)在工具和技術(shù)方面經(jīng)驗(yàn)的增長(zhǎng),這些經(jīng)驗(yàn)使開(kāi)發(fā)具備了更好的無(wú)障礙設(shè)計(jì)。在條目設(shè)計(jì)中的無(wú)障礙注解中,我們推薦了Figma的無(wú)障礙性注釋插件,包括The A11y Annotation Kit, Twitter 的 Accessibility Annotation Library 和 Axe 的工具集 Axe for Designers。這些工具能促進(jìn)團(tuán)隊(duì)內(nèi)的溝通,幫助團(tuán)隊(duì)從工作的開(kāi)始就考慮到文檔結(jié)構(gòu)、語(yǔ)義化的 HTML 和替代文本等重要的元素。而像是 axe DevTools、Accessibility Insights for Web 或 ARC Toolkit 等工具,可以幫助從業(yè)者實(shí)現(xiàn)智能輔助無(wú)障礙測(cè)試。我們很樂(lè)于看到人們對(duì)無(wú)障礙設(shè)計(jì)的重視,為更多的人提供改進(jìn)后的功能訪問(wèn)方式。
“為了避免進(jìn)一步惡化的社會(huì)排斥,拆掉無(wú)形的數(shù)字圍墻是每一個(gè)技術(shù)工作者和企業(yè)的重要責(zé)任?!?針對(duì)如何實(shí)現(xiàn)無(wú)障礙設(shè)計(jì),Thoughtworks中國(guó)區(qū)社會(huì)影響力與可持續(xù)發(fā)展負(fù)責(zé)人周妮娜帶來(lái)了題為《拆掉數(shù)據(jù)圍墻——實(shí)現(xiàn)信息的可訪問(wèn)性和易用性》的解讀。她指出:“在數(shù)字化時(shí)代,許多群體不得不面對(duì)由于年齡、教育水平、殘障程度、收入、地理位置等因素導(dǎo)致的數(shù)字筑墻。” 這些困境使堵在數(shù)字筑墻之外的數(shù)字棄民逐漸被物理世界排斥,舉步維艱。為了消除社會(huì)排斥,每個(gè)技術(shù)工作者和企業(yè)都有責(zé)任將數(shù)字包容和信息無(wú)障礙技術(shù)融入產(chǎn)品和組織中。
負(fù)責(zé)任的企業(yè)和產(chǎn)品團(tuán)隊(duì)?wèi)?yīng)該關(guān)注什么,又如何堅(jiān)持長(zhǎng)期主義將可及和易用的無(wú)障礙技術(shù)融入到產(chǎn)品開(kāi)發(fā)的端到端流程呢?根據(jù)Thoughworks自身系統(tǒng)改造和服務(wù)客戶的經(jīng)驗(yàn),周妮娜總結(jié)了以下四個(gè)維度的方法:
1.從人的深層需求出發(fā)找到通用性設(shè)計(jì)的方向
2.早期采納無(wú)障礙技術(shù)以降低獲客成本
3.在敏捷交付全生命周期中融入無(wú)障礙實(shí)踐和工具
4.提升企業(yè)文化作為推動(dòng)數(shù)字包容的基石
技術(shù)與人和社會(huì)的關(guān)系是相互交織的。未來(lái)對(duì)無(wú)障礙產(chǎn)品和服務(wù)的需求必將增加,如果不提前做好準(zhǔn)備,企業(yè)的改造成本將大幅增加。無(wú)法提供無(wú)障礙服務(wù)的企業(yè)也將逐漸失去龐大的少數(shù)群體用戶,處于商業(yè)競(jìng)爭(zhēng)中的劣勢(shì)地位。
Lambda陷阱
無(wú)服務(wù)器函數(shù) AWS Lambdas 越來(lái)越頻繁地出現(xiàn)在架構(gòu)師和開(kāi)發(fā)者的工具箱中,并被用于實(shí)現(xiàn)各種基于于云基礎(chǔ)架構(gòu)的任務(wù)。然而,就像許多有用的東西一樣,有時(shí)候解決方案開(kāi)始時(shí)簡(jiǎn)潔實(shí)用,但隨著不斷成功、持續(xù)演進(jìn),最終違反范式中規(guī)定的約束、變得沉重不堪,終遭棄用。在本期技術(shù)雷達(dá)中,我們將 Lambda 陷阱作為主題之一,這是因?yàn)樵诳吹皆S多無(wú)服務(wù)器風(fēng)格解決方案成功應(yīng)用的同時(shí),我們也從項(xiàng)目中聽(tīng)到了許多警示性的故事,比如當(dāng)涉及到復(fù)雜執(zhí)行和跨多個(gè)相互依賴的 Lambdas 的數(shù)據(jù)流時(shí),有可能會(huì)導(dǎo)致 Lambda 彈球反模式。在代碼層面上,根本不可能將領(lǐng)域概念和所涉及的多個(gè) Lambdas 之間做簡(jiǎn)單映射,這使得任何改變和添加都具有挑戰(zhàn)。
Thoughtworks 中國(guó)區(qū)港澳總經(jīng)理、全球技術(shù)顧問(wèn)委員會(huì)成員劉尚奇在技術(shù)雷達(dá)新聞發(fā)布會(huì)上以《Lambda陷阱:通過(guò)從微服務(wù)遷移到整體架構(gòu)來(lái)降低 90% 的成本?》為題,發(fā)表了自己的看法。
劉尚奇認(rèn)為:“無(wú)服務(wù)器函數(shù)并不是解決所有問(wèn)題的靈丹妙藥。 在采用它們之前需要考慮其局限性并進(jìn)行權(quán)衡取舍。 無(wú)服務(wù)器函數(shù)的挑戰(zhàn)之一是管理它們的復(fù)雜性和依賴性。 隨著應(yīng)用程序的增長(zhǎng)和發(fā)展,它們可能需要越來(lái)越多的無(wú)服務(wù)器功能來(lái)處理不同的任務(wù)和事件。 這可能會(huì)導(dǎo)致無(wú)服務(wù)器功能變得過(guò)多、相互依賴且難以維護(hù)的情況。 這就是我們所說(shuō)的 Lambda 流沙?!?/p>
像所有的技術(shù)解決方案一樣,無(wú)服務(wù)器有其適宜的應(yīng)用場(chǎng)景,但它的許多功能在使用時(shí)都需要權(quán)衡利弊。劉尚奇建議,無(wú)服務(wù)器功能最適合簡(jiǎn)單、無(wú)狀態(tài)和短期任務(wù),這些任務(wù)可以從云的可擴(kuò)展性和成本效益中受益。 對(duì)于需要狀態(tài)管理、數(shù)據(jù)一致性或事務(wù)完整性的更復(fù)雜或長(zhǎng)時(shí)間運(yùn)行的任務(wù),建議使用其他架構(gòu)或技術(shù)。
可以嘗試的替代方案之一是基于函數(shù)的無(wú)服務(wù)器架構(gòu)轉(zhuǎn)向更粗顆粒度的微服務(wù)架構(gòu)甚至模塊化單體。 單體是包含系統(tǒng)所有功能和邏輯的單個(gè)應(yīng)用程序,與微服務(wù)相反,微服務(wù)是相互通信的小型獨(dú)立服務(wù)。 單體應(yīng)用傳統(tǒng)上被認(rèn)為是過(guò)時(shí)和不靈活的,但一些公司聲稱他們可以通過(guò)從微服務(wù)切換回 Monoliths 來(lái)降低成本和復(fù)雜性。這也反應(yīng)了當(dāng)下行業(yè)應(yīng)對(duì)架構(gòu)復(fù)雜化的反思。
架構(gòu)風(fēng)格的選擇需要考慮諸多因素,例如應(yīng)用程序和組織的大小、復(fù)雜性、領(lǐng)域、要求和目標(biāo)等。無(wú)服務(wù)器功能是構(gòu)建基于云的應(yīng)用程序的強(qiáng)大工具,但它們并非沒(méi)有挑戰(zhàn)或限制。 開(kāi)發(fā)者需要小心Lambda陷阱。
以上是Thoughtworks對(duì)于第28期《技術(shù)雷達(dá)》中三個(gè)主題的解讀,更多主題和條目請(qǐng)?jiān)L問(wèn)我們的網(wǎng)站查看完整版。《技術(shù)雷達(dá)》嘗試盡可能多地捕獲軟件行業(yè)的演進(jìn)趨勢(shì),為了給新的內(nèi)容騰出空間,我們會(huì)調(diào)整每期出現(xiàn)在雷達(dá)中的條目,有些近期沒(méi)有更新的內(nèi)容可能會(huì)被挪出,但略去某項(xiàng)技術(shù)并不表示我們不再關(guān)心它。任何宏觀的變革,都會(huì)有一些微小的信號(hào),我們會(huì)持續(xù)關(guān)注這些微小的改變,支持卓越軟件事業(yè)的發(fā)展,直至掀起 IT 革命。
關(guān)于技術(shù)雷達(dá)
作為技術(shù)領(lǐng)域的先驅(qū)者,思特沃克一直致力于推動(dòng)創(chuàng)新和引領(lǐng)行業(yè)發(fā)展。我們的使命是支持卓越軟件并推動(dòng) IT 行業(yè)革命,由此,技術(shù)雷達(dá)應(yīng)運(yùn)而生。至今,技術(shù)雷達(dá)發(fā)布已經(jīng)歷經(jīng)十四載。
技術(shù)雷達(dá)是Thoughtworks每半年發(fā)布一期的技術(shù)趨勢(shì)報(bào)告,由Thoughtworks全球各地的20多位資深技術(shù)領(lǐng)袖組成的技術(shù)雷達(dá)技術(shù)顧問(wèn)委員會(huì)(TAB),依托我們?cè)诮鉀Q客戶面臨的嚴(yán)峻業(yè)務(wù)挑戰(zhàn)時(shí)獲得的觀察結(jié)果、對(duì)話內(nèi)容和一線經(jīng)驗(yàn),反復(fù)總結(jié)討論提煉而來(lái),旨在以清晰脈絡(luò)向從CTO到開(kāi)發(fā)人員在內(nèi)的各類利益相關(guān)方提供高信息量的行業(yè)洞察。
【轉(zhuǎn)載自Thoughtworks《技術(shù)雷達(dá)》 第28期 】