search
Cloud blog – Dvě hlavy jsou lepší než jedna, nebo co je GitLab Duo?
Gitlab

Dvě hlavy jsou lepší než jedna, nebo co je GitLab Duo?

Umělá inteligence velmi rozšířila své působení v různých oborech a vývoj není výjimkou. V průzkumu z května 2024 mezi 1700 členy vývojářské komunity Stack Overflow – největší Q&A portál objevil, že více než tři čtvrtiny respondenti již umělou inteligenci používají nebo to plánují.

Kromě vědeckých výzkumníků a samozřejmě samotných inženýrů AI patří mezi role vykazující nejvyšší míru přijetí front-end vývojáři (75 %), datoví vědci (67 %) a mobilní vývojáři (60 %).

Typ nástroje AI, který používají, se nazývá CodeGen a je určen speciálně pro asistenty kódování. V tomto článku se stručně podíváme na jeden z těchto nástrojů a odpovíme na následující otázky: Co je GitLab Duo a jaké jsou jeho současné funkce?

Výhody nástrojů CodeGen, jako je GitLab Duo

McKinsey, jedna z poradenských firem MBB, nedávno zkoumala dopad CodeGen na produktivitu vývojářů. Výsledky byly následující:

  • 45% až 50% snížení času stráveného úkoly zahrnujícími psaní dokumentace kódu.
  • 35% až 45% snížení času stráveného úkoly zahrnujícími generování kódu.
  • 20% až 30% úspora času u úkolů zahrnujících refaktorování kódu.
  • Přibližně 10 % u vysoce komplexních úkolů.

Je však třeba poznamenat, že hlavními faktory, které určují, kolik časových zisků může tým dosáhnout, jsou složitost úkolu a zkušenosti vývojářů. McKinsey zaznamenala některé případy, kdy junioři museli museli s nástrojům CodeGen věnovat více času.

AI v DevSecOps je více než možná. Objednejte si bezplatnou konzultaci s certifikovaným odborníkem na GitLab, abyste zjistili, jak na to. Objednejte se nyní →

Co je GitLab Duo?

GitLab Duo je nástroj pro vývoj kódu založený na umělé inteligenci od GitLab, který podle G2 je jedním z nejlepších nástrojů CI/CD na trhu. Pro každou jednotlivou funkci používá nejvhodnější LLM se dvěma z nejrozšířenějších velkých jazykových modelů Vertex AI Codey od Google Cloud a Claude od Anthropic.

Navíc GitLab ani jeho dodavatelé nepoužívají vaše soukromá (tj. neveřejná) data pro školení modelů. Nyní, když jsme to vyjasnili, pojďme se blíže podívat na to, jak může každá z těchto schopností AI ovlivnit váš vývojový proces. Pro začátek společnost rozdělila všechny funkce do tří samostatných kategorií: veřejné, beta a experimentální.

Veřejné funkce GitLab Duo

Chat

Chat je virtuální AI asistent, který je vždy připraven odpovídat na otázky a vysvětlovat složité technické pojmy přirozeným konverzačním jazykem.

Můžete namítnout, že existuje spousta běžných kódovacích asistentů, takže jaká je hlavní výhoda GitLab Duo v tomto kontextu? Chat může vývojářům pomoci snížit technický dluh, zlepšit udržovatelnost kódu a zlepšit celkovou čitelnost kódu pomocí refaktoringu.

Vysvětlení kódu

Vysvětlení kódu bere existující kód a převádí ho do jasného, přirozeného jazyka, což usnadňuje pochopení logiky a funkčnosti.

Řekněme, že pracujete na zastaralé databázi se špatně zdokumentovanými funkcemi. Vysvětlení kódu analyzuje funkci a poskytuje jasný popis jejího účelu, parametrů a návratových hodnot. Tím by vám ušetřilo čas a úsilí spojené s ručním dekodováním logiky kódu.

Návrhy kódů

Návrhy kódů (Code Suggestions) fungují jako vývojový partner AI pro kódování (něco jako Copilot pro GitLab), předvídá vaše potřeby a nabízí bezpečná řešení kódování ve 14 programovacích jazycích.

Například při psaní nové funkce by návrhy kódu GitLab mohly rozpoznat vzor a navrhnout předem vytvořený kódový úryvek, který můžete využít, což urychluje cykly a dodržuje osvědčené postupy v oboru.

Návrhy Git

Všichni jsme měli chvíle, kdy jsme zapomněli přesně ten příkaz Git, který potřebujeme. Návrhy Git jsou praktickou kontextovou připomínkou, která navrhuje vhodné příkazy v závislosti na aktuální situaci.

Představte si: uprostřed složité operace, Návrhy Git mohou prozkoumat vaši aktuální strukturu a navrhnout vhodný příkaz, který vám pomůže zůstat produktivní a vyhnout se přerušení práce.

Doporučení recenzentů

Přiřazení recenzentů k žádostem o sloučení může být časově náročný úkol. Co dělá GitLab Duo pro zmírnění tohoto problému? Platforma využívá modely strojového učení, které jsou jedinečné pro každý projekt, analyzuje změny kódu a doporučuje vývojářům s nejrelevantnějšími odbornými znalostmi, aby zkontrolovali vaši práci.

Řekněme, že jste provedli významné změny v modulu souvisejícím s interakcí s databází. GitLab Duo identifikuje inženýry, kteří mají zkušenosti s konkrétní databázovou technologií, a zajistí tak důkladnější proces.

Generování testu

Generování testů automatizuje opakované testovací úlohy a umožňuje vám soustředit se na psaní čistého kódu. Tato schopnost identifikuje nepokryté oblasti a generuje automatické testy k pokrytí těchto scénářů, přičemž odhaluje chyby dříve, než se stanou vážnými problémy.

Například pracujete na funkci, která manipuluje se vstupem uživatele. Generování testů může analyzovat kód a automaticky generovat testy, které testují různé scénáře uživatelských vstupů a zajišťují, že funkce zpracuje hraniční případy a neočekávaná data. Jaká je konkurenční výhoda GitLab Duo? Je kompatibilní s mnoha typy testování QA najednou.

Funkce GitLab Duo v beta verzi

Shrnutí žádosti o sloučení

Souhrn žádosti o sloučení analyzuje vaši žádost o sloučení a vrátí jasný a stručný přehled změn, které jste provedli. Toto shrnutí pak lze snadno sdílet s manažery projekty, testery a další zájemce.

Například po dokončení složité opravy chyby můžete využít Souhrn žádosti o sloučení k automatickému generování popisu, který podrobně popisuje chybu, na kterou se zaměřujete, konkrétní změny kódu, které byly provedeny, a očekávaný výsledek. Taková transparentnost v komunikaci by zajistila, že všichni rozumí dopadu vaší opravy a nedojde k žádným nedorozuměním.

Experimentální funkce GitLab AI

Souhrn recenze kódu

Proces recenze kódu někdy působí jako předání mezi autory a recenzenty. Souhrn recenze kódu překlenuje tuto mezeru analýzou změn a zvýrazněním klíčových oblastí ke kontrole.

Řekněme, že vývojář odešle velkou žádost o sloučení s mnoha změnami. Souhrn recenze kódu pomůže identifikovat kritické změny, potenciální regrese a oblasti, které vyžadují další diskusi, a poskytne recenzentům cílený výchozí bod, který vede k efektivnějšímu a produktivnějšímu procesu.

Souhrn diskuse

Udržet všechny na stejné vlně během dlouhé konverzace může být obtížné. Souhrn diskuse se ponoří do obsáhlých diskusí a nabízí stručné shrnutí klíčových bodů a přijatých rozhodnutí.

Představte si dlouhou řadu komentářů v GitLabu, které diskutují o technickém přístupu k nové funkci. Souhrn diskuse může naskenovat téma a poskytnout seznam s odrážkami, který popisuje konečné rozhodnutí, zdůvodnění a jakékoli další kroky, podporuje transparentnost pro zúčastněné strany a odstraňuje zmatky pro členy týmu, kteří se možná do diskuse od začátku nezapojili.

Generování popisu problému

Generování popisu problému používá Claude 2.1 k automatickému vygenerování podrobného popisu problému, na který jste narazili, na základě krátkého shrnutí.

Poté, co se objeví neočekávaná chybová zpráva, vám tato funkce pomůže rychle vyřešit problém a připraví cestu pro další diagnostiku a řešení.

Vysvětlení zranitelnosti

Vysvětlení zranitelnosti ponoří se do všech potenciálních bezpečnostních slabin nalezených ve vašem kódu. Vysvětluje povahu zranitelnosti, její potenciální dopad a osvědčené postupy pro její nápravu.

Dokáže například identifikovat potenciální chybu zabezpečení vkládání SQL v části kódu, která zpracovává vstup uživatele, a sdělit, jak by ji mohl útočník zneužít.

Odstranění zranitelnosti

Co nabízí GitLab Duo po objevení? Posouvá koncept bezpečnosti o krok dále tím, že nejen vysvětluje zranitelnost, ale také automatizuje proces jejího odstranění.

GitLab Duo dokáže automaticky vygenerovat požadavek na sloučení, který zahrnuje změny kódu, aby se vyčistil uživatelský vstup a zabránil vkládání SQL, čímž se zajišťuje, že bezpečnostní chyba bude opravena včas.

Analýza hlubokých důvodů

Často odstranění nedostatků a neúspěšného sestavení CI/CD pipeline může být frustrující. S analýzou hlubokých důvodů získáte dostatečný přehled o protokolech a datech souvisejících s chybou.

Představte si, že vaš CI/CD pipeline nečekaně vypadne. GitLab Duo dokáže identifikovat konkrétní změnu kódu nebo problém s konfigurací, který chybu způsobil. Tyto cílené informace vám umožní určit problém a rychle se vrátit do provozu.

Prognóza toku hodnot

GitLab Duo také používá statistiky k analýze historických dat vašeho týmu a předpovídá potenciální úzká místa nebo oblasti pro zlepšení. Vyzbrojeni těmito znalostmi můžete proaktivně řešit problémy a optimalizovat svůj vývojový proces pro maximální efektivitu.

Jak GitLab Duo pomáhá? Může například identifikovat trend klesajícího počtu sloučených požadavků. Což zase může naznačovat potřebu dalších kontrolorů nebo školení pro práci s novou kódovou základnou. Předvídáním této potenciální překážky může tým zmírnit její dopad a zajistit hladký vývoj.

Odstraněním jazykových bariér, automatizací opakujících se úloh a předvídáním překážek umožňuje GitLab Duo vývojářům soustředit se na to, co umí nejlépe – na psaní inovativního a bezpečného kódu. Zároveň se nejedná o jediný výkonný systém SDLC založený na AI. Sledujte naše srovnání GitLab Duo vs GitHub Copilot! A pro podrobnější přehled si přečtěte náš článek o GitHub vs GitLab vs Bitbucket.

O nás

Cloudfresh poskytuje Profesionální služby GitLab a je partnerem společnosti Professional Services a GitLab Select Partner s 1 414 zákazníky. Vyplňte níže uvedený formulář a získejte bezplatné hodnocení optimalizace pracovního postupu od našich odborníků. Pokud jste ve světě CI/CD stále nováčkem, možná byste měli zvážit zakoupení Licence GitLab.

Spojte se se společností Сloudfresh