當前位置: 妍妍網 > 碼農

【譯】透過出色的開發人員體驗,將樂趣最大化,將痛苦最小化

2024-06-10碼農

未來總是由開發者開始。他們決定了創新的速度,在今天這個生成式人工智慧的時代,這一點從未如此真實。我們已經看到GenAI對我們構建應用程式和與同事協作的方式產生了深遠的影響。更多的開發人員將被授權使用技術進行創作,因為他們有機會獲得教練的指導,指導他們完成學習旅程的每個階段。使用者的期望也在迅速變化,所以今天的終端使用者希望他們的應用程式已經知道他們的環境和歷史,甚至預測他們的下一步。

很多變化即將發生!但是,當我們被技術債務壓垮並陷入困境時,很難找到時間來學習。開發人員必須不斷地在工具之間切換上下文,這影響了他們的認知和註意力。我們知道,即使情況很好,開發人員每天也只花2個小時編碼,在切換上下文後,他們需要23分鐘才能重新集中註意力。這裏,再加上隨機會議來收集您需要的資源,會讓您在一天結束時感到筋疲力盡,並對效率低下感到沮喪。所有這些都讓工作失去了樂趣,也讓開發軟體變得很辛苦。

但我們知道有一條通往開發者幸福的道路——開發者可以更多地專註於編碼,而不是運維;在那裏他們可以以創造力的速度進行創新;他們可以快速發展,而不必擔心管理他們的應用程式所依賴的基礎設施。

開發者的快樂 = 置身於不被打擾的開發流程中

我們的指導原則之一是將最好的工具帶到您身邊——您的程式碼編輯工具中——這樣您就可以保持在流程中!在本周的 Build 大會上,我們宣布了一些非常驚人的開發者體驗,將為您作為開發者的生活帶來更多的快樂和更少的辛勞。

首先,我們宣布 Visual Studio 17.10 正式釋出。在這個版本中,我們把 GitHub Copilot 插在 IDE 的任何地方,所以它改變了您在應用程式中編寫、學習、測試、搜尋和修復程式碼的方式。

我們還宣布了 Azure 的 GitHub Copilot 預覽,這是一個擴充套件,與 Visual Studio Code 和 Visual Studio 中的 GitHub Copilot Chat 無縫整合,將 Azure 專業知識帶到您的指尖!使用 GitHub Copilot for Azure,您可以了解 Azure 資源和最佳實踐;探索和管理 Azure 資源;解決問題,尋找相關日誌和程式碼。GitHub Copilot for Azure 建立在我們引入 GitHub Copilot 的通用可延伸性層面上。很快您就不需要上下文切換了,因為所有您喜歡的工具都將整合到您的程式碼中!稍後會詳細介紹……

.NET Aspire 現已釋出

.NET Aspire 透過多計畫管理、內建 HTTP 彈性、健康檢查、OpenTelemetry 以及透過 Visual Studio、VS Code 和 Azure Developer CLI 進行的輕松多節點部署等工具,為雲原生開發提供了最佳實踐。.NET Aspire 使您可以輕松地開始使用樣版和一組精心設計的元件,這些元件基於我們在微軟內部的主觀的技術棧,並與 .NET 社群共同開發。

使用 .NET Aspire,可以很容易地使用服務發現和一個全新的開發人員儀表板來構建和偵錯,以檢視即時遙測和指標,並在診斷問題上站穩腳跟。您可以使用單個命令執行和部署,以啟動和執行多個服務。能夠在 C# 中表達應用程式拓撲,使得能夠輕易進行雲部署。

許多偉大的創新將您的所有工具中最好的帶到您身邊——您最喜歡的程式碼編輯器工具——因此您可以保持在流程中!

構建智慧套用

在過去的一年裏,我們見證了歷史上最關鍵的技術創新之一的誕生:生成人工智慧(GenAI)。它改變了使用者對每一種體驗的期望,並繼續塑造企業如何將技術視為快速增長的推動者。

我們將所有或部份使用人工智慧功能的套用稱為「intelligent app,智慧套用」。智慧套用改變體驗和操作的方式可以成為有利競爭。它首先考慮用例,在這些用例中,您的數據可以提供可操作的見解,從而改進您的流程或使用者體驗。這是一個巨大的範式轉變——它正在改變我們如何與技術互動的使用者期望。自然語言是新的使用者介面;我們只是和它說話。我可以問它問題,它已經有了我的上下文或我的歷史背景,它甚至可以預測我的需求。這些應用程式透過在生產過程中不斷學習而不斷改進。這意味著傳統的開發人員內部和外部迴圈也在發展,以便在部署到生產環境後推動評估周期和持續學習。

無論您是使用 GPT3、Phi-3 這樣的基礎模型,還是構建自己的自訂機器學習,或者是透過微調來增強現有的模型,這些應用程式都超越了基於您點選、輕擊、收聽或觀看事件的內容推薦演算法。智慧應用程式從使用者的輸入和數據中學習,隨著時間的推移不斷改進,同時關註重要的人工智慧最佳實踐。

對於我們的開發人員工具和應用程式構建塊,我們的目標是......

- 使構建 GenAI 應用程式更加容易

- 減少構建、管理和發展 GenAI 應用程式所需的工作量

- 支持端到端的應用程式開發生命周期,包括構建智慧應用程式所需的新任務——如評估模型、提示和準備數據

- 同時根據我們的 DevOps 和平台工程最佳實踐維護企業級安全性、可伸縮性、合規性和治理

今天,我們宣布了 AI Toolkit for Visual Studio Code 工具包。這個工具包幫助 AI 工程師開發和部署智慧應用程式,使他們能夠在 VS Code 中探索、獲取、評估和整合小型和大型語言模型。您可以使用本地硬體來嘗試、執行和評估最先進的小型語言模型(SLMs),比如 Phi-3。它利用了我們在 Windows 上的機器學習堆疊上的深度投資,提供了在膝上型電腦、Dev Box 或 Azure AI 計算上無縫執行任何模型的總包體驗。雖然它目前在 Windows 上執行得最好,但很快就會支持 MacOS !

智慧套用:在 Azure 上更好

除了提供一個平台來托管您的應用程式, Azure App Platform 還提供了您通常做構建和操作 GenAI 應用程式需要完成的不同的任務所需的基本的構建塊,包括利用 Azure OpenAI 和托管模型在您的應用程式;構建增強的 Copilot;試驗和最佳化;托管自訂模型並用您的數據對其進行微調。

所有的功能都是相互整合的,您可以無縫地一起使用它們。例如,您可以合並實驗和使用 Vector DB 外掛程式為您的 GenAI 應用程式執行在任何我們的 App Platform 服務。

以下是 Azure 在人工智慧時代發展的一些方式:

- 當您開始擴充套件應用程式集時,您可能希望跟蹤多個應用程式的令牌使用情況,或者確保單個應用程式不會消耗整個TPM配額。Azure API Management引入了新的功能,以增強生成式AI部署的可延伸性和安全性。其中包括用於公平使用和最佳化資源分配的Azure OpenAI令牌限制策略,作為API的Azure OpenAI終結點的一鍵匯入,用於高效流量分配的負載均衡器,以及用於保護後端服務的斷路器。

- API 擴張在 API 治理、安全性、可塑性和重用方面提出了重大挑戰。如果沒有集中的清單,API 可能會變得孤立,導致 API 重用不良,缺乏與組織 API 設計和組織流程的一致性,以及增加對安全漏洞的脆弱性。大多數 GenAI 應用程式透過 API 使用 LLMs,所以 GenAI 的時代是 API-first 的時代。Azure API Center 提供集中的 API 清單,以實作無縫發現、重用和治理,而無需考慮 API 型別、生命周期階段或部署位置。

- Azure Container Apps 現在在擴充套件上包含安全沙箱:當您構建執行來自不受信任來源的程式碼或命令的應用程式時,您必須確保程式碼在其自己的隔離環境中執行。如果 LLM 生成您需要評估的程式碼,那麽執行該程式碼的最佳方法是什麽?動態會話提供了安全的、短暫的沙箱,稱為「sessions,會話」,用於執行潛在的惡意程式碼。每個會話執行在自己的 Hyper-V 虛擬化邊界中——確保與其他會話和資源完全隔離。

您可以在 Build Book of News 中閱讀所有這些 Azure 公告和更多資訊。

開發人員的生產力來自於團隊的敏捷性

因此,我們已經介紹了一些新的工具和經驗,它們可以幫助您保持在流程中,並開始構建智慧應用程式。現在讓我們討論一下平台工程的實踐如何幫助組織保持安全性和相容性,以及開發人員如何專註於他們的程式碼。

開發人員希望能夠自服務環境、工作流和基礎設施,他們有信心遵守組織的最佳實踐和需求。這只是停留在流程中的一個方面。

去年11月,我們釋出了平台工程指南。在非常基本的層面上,平台工程是一組模式和實踐,幫助實作企業軟體交付的現代化。如果執行得當,這些模式和實踐可以成為開發團隊和營運團隊之間的粘合劑——在整個產品制造生命周期中,在團隊之間建立更多的凝聚力和流程。

在最好的情況下,平台工程使團隊能夠實作擴充套件並減少交付商業價值所需的時間,同時消除辛勞,促進自給自足,並減少滿足更廣泛的操作和組織標準所需的認知負荷。

透過實施策略、安全監控和可觀察性,組織可以管理他們的套用資產,以獲得更好的成本控制和降低風險,同時提供出色的開發人員體驗。

GitHub Copilot 現在是為平台工程提供無與倫比的開發人員體驗的完美平台。透過新的可延伸性功能,GitHub Copilot 可以與您在 GitHub repos 中定義的產品目錄進行增強和落地,其中包含樣版,工作流,API 和範例,這些範例為開發人員提供了正確開始的自動化和策略實施,開發人員可以在 Copilot Chat 中使用自然語言使用者介面發現和部署它們。

Microsoft Dev Box 和 Azure Deployment Environments 的新特性

Microsoft Dev Box 是一項 Azure 服務,可以讓開發人員自助存取預配置的、特定於計畫的開發人員工作站,它一直是我們平台工程方法的關鍵部份。通用汽車和西門子醫療(中國)等公司(以及超過2.5萬名微軟開發人員)使用 Dev Boxes,將環境設定從幾天減少到幾分鐘,鼓勵合作和實驗。有了預安裝的工具和原始碼,開發人員就可以快速地開始編寫程式碼。

對於開發團隊,我們最近添加了帶有特定於每個計畫的計畫級目錄的標準化樣版。我們還有一個新的 Dev Box 映像服務,團隊可以使用 config-as-code 建立和維護自訂映像,以確保整個團隊擁有一致的環境。

Azure Deployment Environments 現在為客戶提供更加無縫的體驗,使他們能夠利用其新的可延伸性模型快速輕松地利用流行的基礎設施即程式碼(IaC, Infrastructure-as-Code)框架,並根據其組織需求執行或自訂部署。

這些功能為開發團隊提供了更多的控制來客製環境樣版,以滿足他們團隊特定的需求,並為平台工程師提供了額外的方法來構建他們喜歡的IaC格式的樣版。

但是跨團隊的一致環境並不意味著開發人員的體驗不能個人化。

Windows 中新的 Dev Home 功能可以輕松建立個人化的、一致的環境,並與 Microsoft Dev Box 完美配合。建立、連線和自訂 Dev Bbox 很簡單,可以將經常使用的 Dev Box 固定到工作列或開始功能表中,並將工具添加到您的配置或您正在為團隊構建的配置中。

小結

我們的使命是幫助開發者取得更多成就。我們的願景是使他們能夠在幾秒鐘內建立一個完整的工程系統,從任何裝置貢獻,為任何平台構建,與任何人合作,並充滿信心地擴充套件。在人工智慧時代,開發人員和他們的團隊可以進入該領域,比以往更快地學習新技術,以他們的創造力的速度探索可能的事情,並分享他們的專業知識,以加速整個團隊的影響。

原文連結:https://devblogs.microsoft.com/visualstudio/maximizing-joy-and-minimizing-toil-with-great-developer-experiences/