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