成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用這些AI工作流來減少您的技術(shù)債務(wù),你學(xué)會(huì)了嗎?

人工智能
將AI集成到軟件開發(fā)中,有可能顯著減少編寫單元測試和執(zhí)行代碼審查等手動(dòng)任務(wù)所需的時(shí)間和精力。我的早期探索已經(jīng)證明了如何利用現(xiàn)成的AI工具以及新興的Dagger開源框架來創(chuàng)建可擴(kuò)展的分布式工作流,這些工作流使用AI來自動(dòng)化和改進(jìn)這些流程。

利用AI和Dagger,自愈工作流有望通過自動(dòng)化錯(cuò)誤檢測、生成測試覆蓋率和迭代優(yōu)化代碼來提高代碼質(zhì)量。

譯自Use These AI Workflows To Reduce Your Technical Debt,作者 Kambui Nurse。

技術(shù)債務(wù)通常是許多軟件開發(fā)組織中,尤其是在構(gòu)建和測試過程中創(chuàng)新的主要阻礙。隨著代碼庫的增長和復(fù)雜性的提高,快速的修復(fù)和遺留系統(tǒng)不斷累積,從而導(dǎo)致效率低下,減慢構(gòu)建速度,增加測試時(shí)間,并引入脆弱的依賴關(guān)系。

最初為了滿足眼前的目標(biāo)而做出的微小權(quán)衡可能會(huì)演變成嚴(yán)重的瓶頸,從而使擴(kuò)展和迭代變得更加困難。對(duì)于旨在保持敏捷性的軟件組織而言,解決這一債務(wù)至關(guān)重要,以確保其CI/CD管道保持快速、可靠并能夠支持快速的功能交付。

然而,與此同時(shí),它往往似乎是一個(gè)棘手的問題。我們知道我們應(yīng)該投資,我們也試圖取得進(jìn)展,但感覺就像逆流而上。盡管我們進(jìn)行了投資,但技術(shù)債務(wù)仍在不斷累積。

一些人提出將AI作為一種解決方法。將AI指向你的基礎(chǔ)設(shè)施,它就能神奇地開始變得更好,這難道不是很好嗎?作為一個(gè)擁有超過20年經(jīng)驗(yàn)的冷靜工程師,我已經(jīng)學(xué)會(huì)忽略供應(yīng)商的炒作和靈丹妙藥的白日夢。但事實(shí)證明,在這種情況下,可能確實(shí)有一些東西。

你聽說過自主式工作流嗎?這種新的AI方法具有令人難以置信的潛力,也是我在過去幾個(gè)月里大力投資的一個(gè)領(lǐng)域,因?yàn)樗赡苁俏覀兘鉀Q我們所有人積累的大量技術(shù)債務(wù)的最佳機(jī)會(huì)。

對(duì)于不熟悉自主式工作流的人,這里有一個(gè)快速入門:

自主式工作流是指自主軟件代理承擔(dān)傳統(tǒng)上需要人工決策或干預(yù)的任務(wù)。

關(guān)鍵期望特性:

  1. 自主性: 代理應(yīng)該獨(dú)立于人工指導(dǎo)運(yùn)行,根據(jù)預(yù)定義規(guī)則或AI驅(qū)動(dòng)的算法執(zhí)行任務(wù),無需來自人類的提示或指示
  2. 主動(dòng)性: 代理需要能夠根據(jù)不斷變化的條件或模式來預(yù)測需求、啟動(dòng)行動(dòng)或提出建議
  3. 適應(yīng)性: 與僵化的腳本或手動(dòng)流程不同,我們希望代理能夠適應(yīng)實(shí)時(shí)數(shù)據(jù)、意外變化或新需求,根據(jù)需要重新配置工作流
  4. 決策能力: 代理應(yīng)該能夠通過分析數(shù)據(jù)、權(quán)衡選擇和確定工作流環(huán)境中最佳行動(dòng)方案來做出復(fù)雜的決策
  5. 目標(biāo)導(dǎo)向: 自主式工作流應(yīng)該專注于實(shí)現(xiàn)特定結(jié)果,而不僅僅是完成預(yù)定義的步驟。

自主式工作流有望改變我們測試和構(gòu)建軟件的方式,但我們必須從某個(gè)地方開始。我決定選擇一個(gè)困擾我組織的簡單問題,以展示AI在軟件開發(fā)管道中的潛在能力。

選擇一個(gè)易于處理的問題:代碼覆蓋率

在許多組織中,確保完整的代碼覆蓋率可能是一項(xiàng)艱巨的任務(wù)。我們的代碼庫有多少應(yīng)該由自動(dòng)單元測試進(jìn)行測試?開發(fā)人員經(jīng)常必須在截止日期和質(zhì)量之間取得平衡,導(dǎo)致代碼倉促完成且測試不足。這種缺乏測試覆蓋率會(huì)帶來風(fēng)險(xiǎn),因?yàn)槲唇?jīng)測試的代碼部分可能包含錯(cuò)誤或不兼容性。

AI可以在哪里提供幫助?

  • 生成單元測試: 使用AI自動(dòng)為代碼的未測試部分生成單元測試
  • 覆蓋率報(bào)告: 使用覆蓋率報(bào)告來識(shí)別測試不足的區(qū)域,然后提示AI為這些區(qū)域生成測試

利用新型容器引擎——Dagger

傳統(tǒng)的構(gòu)建工具、CI平臺(tái)和像Docker這樣的容器引擎有其作用,但它們無法提供我們自己實(shí)現(xiàn)所需目標(biāo)的必要功能。幾年前,我開始使用Dagger,這是Solomon Hykes和Docker早期技術(shù)團(tuán)隊(duì)正在開發(fā)的新的面向管道的容器引擎。我花在Dagger上的時(shí)間越多,就越能看到它改變我們從根本上管理軟件管道的潛力。

為什么我喜歡 Dagger?因?yàn)樗ㄟ^提供一個(gè)對(duì)復(fù)雜管道系統(tǒng)的抽象層,簡化了工作流的創(chuàng)建和部署。Dagger 允許開發(fā)人員自動(dòng)化并在使用容器的環(huán)境中分配任務(wù)。它在管理依賴項(xiàng)、容器化和 CI/CD 管道方面發(fā)揮著重要作用,同時(shí)也允許開發(fā)人員通過模塊化設(shè)計(jì)定制其工作流。在這種情況下,Dagger 在管理代理工作流背后的基礎(chǔ)設(shè)施方面至關(guān)重要。該系統(tǒng)使用 Dagger 創(chuàng)建、運(yùn)行和管理封裝 AI 生成的代碼的 Docker 容器。這確保了代碼在一致的環(huán)境中執(zhí)行。

但是 Docker 呢?我們?nèi)匀皇褂盟糜谄湓O(shè)計(jì)目的。生成的代碼在 Docker 容器中運(yùn)行,允許一致且隔離的測試環(huán)境。Dagger 與 Docker 無縫集成,使管理容器化工作流更容易,無需人工監(jiān)督。

如果沒有 Dagger,我能做到嗎?當(dāng)然可以,但是 Dagger 大大簡化了處理依賴項(xiàng)的過程。在我的初始設(shè)計(jì)中,管理 AI 代碼生成工具的各種依賴項(xiàng)非常繁瑣。Dagger 通過在運(yùn)行時(shí)自動(dòng)處理依賴項(xiàng)來幫助降低復(fù)雜性。

AI 生成的單元測試

我首先構(gòu)建了一個(gè)試點(diǎn)項(xiàng)目,該項(xiàng)目使用 AI 創(chuàng)建工作流來生成單元測試。AI 分析覆蓋率報(bào)告并根據(jù)未覆蓋的代碼生成測試用例。以下是流程的工作方式:

  1. AI 生成: AI 根據(jù)覆蓋率報(bào)告中確定的差距生成代碼。
  2. 執(zhí)行和錯(cuò)誤處理: 生成的代碼在容器中執(zhí)行,并在其中檢測錯(cuò)誤。
  3. 反饋循環(huán): 如果發(fā)現(xiàn)錯(cuò)誤,AI 會(huì)接收該反饋并改進(jìn)其生成的代碼,從而創(chuàng)建一個(gè)持續(xù)改進(jìn)循環(huán)。

持續(xù)集成平臺(tái)的作用

將工作流集成到 CI 管道中,允許在每次將新代碼推送到存儲(chǔ)庫時(shí)自動(dòng)測試生成的單元測試。這確保了每個(gè)代碼提交都經(jīng)過質(zhì)量和正確性驗(yàn)證,從而降低了將錯(cuò)誤引入生產(chǎn)環(huán)境的風(fēng)險(xiǎn)。

自糾正循環(huán)

這里的關(guān)鍵創(chuàng)新是創(chuàng)建一個(gè)自糾正循環(huán),其中 AI 生成的代碼在每次迭代中都會(huì)得到改進(jìn)。循環(huán)的工作方式如下:

  • AI 根據(jù)輸入數(shù)據(jù)生成初始解決方案。
  • 執(zhí)行代碼,并返回錯(cuò)誤(如有)。
  • 將這些錯(cuò)誤反饋到 AI 模型中,使其能夠改進(jìn)下一次迭代。
  • 重復(fù)此過程,直到代碼成功運(yùn)行或達(dá)到預(yù)定義的迭代次數(shù)。

此循環(huán)使系統(tǒng)隨著時(shí)間的推移越來越準(zhǔn)確,解決了代碼生成不完整或不正確的常見問題。該試點(diǎn)的循環(huán)用于改進(jìn) AI 生成功能單元測試的能力。

開發(fā)者界面:VS Code 擴(kuò)展和分布式 CLI

最初,我將其構(gòu)建為一個(gè)可以生成單元測試的 VS Code 擴(kuò)展。但是,我很快發(fā)現(xiàn)這會(huì)使擴(kuò)展難以跨不同的開發(fā)環(huán)境進(jìn)行擴(kuò)展。由于大型組織中的開發(fā)人員使用許多編輯器,我需要?jiǎng)?chuàng)建多個(gè)版本的擴(kuò)展才能支持我的所有開發(fā)人員。

更優(yōu)雅的版本是利用 Dagger 創(chuàng)建一個(gè)分布式 CLI,它可以在不依賴特定編輯器的情況下運(yùn)行 AI 模型并生成測試。這允許更靈活的解決方案,可以在不同的工具中使用,無需構(gòu)建特定于編輯器的擴(kuò)展。

擴(kuò)展 AI 在管道中的使用

這種代理工作流的潛在應(yīng)用非常廣泛。除了生成單元測試之外,我還看到了將系統(tǒng)擴(kuò)展到執(zhí)行其他與代碼相關(guān)的任務(wù)的潛力,例如:

  • 重構(gòu)代碼: AI 可以建議重構(gòu)以使代碼更高效或更容易測試。
  • 持續(xù)代碼審查: AI 可以通過自動(dòng)生成評(píng)論或改進(jìn)建議來參與拉取請(qǐng)求。
  • 自愈工作流: 系統(tǒng)可以自動(dòng)生成針對(duì)測試期間檢測到的問題的修復(fù)程序,允許 AI 建議更改并實(shí)施更改。

計(jì)劃開發(fā) Python 和其他編程語言的插件,以支持多種編程語言,從而在不同項(xiàng)目中更廣泛地使用工作流。

結(jié)論

將AI集成到軟件開發(fā)中,有可能顯著減少編寫單元測試和執(zhí)行代碼審查等手動(dòng)任務(wù)所需的時(shí)間和精力。我的早期探索已經(jīng)證明了如何利用現(xiàn)成的AI工具以及新興的Dagger開源框架來創(chuàng)建可擴(kuò)展的分布式工作流,這些工作流使用AI來自動(dòng)化和改進(jìn)這些流程。實(shí)現(xiàn)具有自我糾正循環(huán)的系統(tǒng)應(yīng)該能夠提高代碼質(zhì)量,同時(shí)減輕開發(fā)人員的測試負(fù)擔(dān)。

這種自主工作流是當(dāng)今開發(fā)團(tuán)隊(duì)的強(qiáng)大工具,也是AI增強(qiáng)型開發(fā)未來的縮影。我們正處于一個(gè)令人興奮的時(shí)代。我預(yù)計(jì)AI將改變我們工作場所中的許多常見任務(wù)。看到AI可能如何顯著改進(jìn)對(duì)我們公司和生活至關(guān)重要的軟件的構(gòu)建和測試,這令人興奮。

責(zé)任編輯:武曉燕 來源: 云云眾生s
相關(guān)推薦

2023-05-05 08:29:15

Spring后臺(tái)服務(wù)器

2023-08-14 08:42:41

2024-02-02 11:03:11

React數(shù)據(jù)Ref

2023-03-17 16:44:44

Channel進(jìn)程模型

2024-08-09 08:17:07

SSH服務(wù)器架構(gòu)

2022-11-08 08:45:30

Prettier代碼格式化工具

2024-08-19 10:24:14

2023-10-30 07:05:31

2023-12-27 07:31:45

json產(chǎn)品場景

2022-07-08 09:27:48

CSSIFC模型

2024-01-19 08:25:38

死鎖Java通信

2024-02-04 00:00:00

Effect數(shù)據(jù)組件

2023-07-26 13:11:21

ChatGPT平臺(tái)工具

2023-01-10 08:43:15

定義DDD架構(gòu)

2023-12-26 10:12:19

虛擬DOM數(shù)據(jù)

2023-01-26 00:28:45

前端測試技術(shù)

2023-04-06 12:04:26

2023-08-01 12:51:18

WebGPT機(jī)器學(xué)習(xí)模型

2024-01-02 12:05:26

Java并發(fā)編程

2024-09-06 07:29:05

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 欧美一区二区三区四区五区无卡码 | 一区免费观看 | 久久aⅴ乱码一区二区三区 亚洲欧美综合精品另类天天更新 | 中文字幕 在线观看 | 国产一区二区三区四 | 中文天堂网 | 91xxx在线观看 | 欧美日韩国产一区二区三区 | 欧美日韩国产一区二区三区 | 日韩欧美国产一区二区 | 亚洲一区二区av | 国产精品日日做人人爱 | 国产国产精品久久久久 | 最新超碰 | 久久久妇女国产精品影视 | 亚洲综合久久精品 | 亚洲午夜在线 | av天天干| 精品亚洲一区二区 | 亚洲电影一区二区三区 | 91豆花视频 | 国产精品日韩一区二区 | 亚洲 欧美 在线 一区 | av看看| 亚洲午夜精品视频 | 国产在线精品免费 | 国产精品一区在线观看你懂的 | 国产精品综合色区在线观看 | 亚洲精品久久久久中文字幕欢迎你 | 国产一区二区在线视频 | 国产综合视频 | 午夜理伦三级理论三级在线观看 | 天天干免费视频 | 日韩中文不卡 | 91精品国产综合久久精品图片 | 夜夜爽99久久国产综合精品女不卡 | 国产精品99久久久久久久久久久久 | 日本免费一区二区三区四区 | 国产熟熟 | 久久成人免费视频 | 91在线观看|