Article
AI Code & Coffee - Moje skúsenosti s Devinom
1/7/25
AI
Article
AI Code & Coffee - Moje skúsenosti s Devinom
AI
July 1, 2025
AI Code & Coffee - Moje skúsenosti s Devinom
AI
1/7/25
Article
AI Code & Coffee - Moje skúsenosti s Devinom
AI
July 1, 2025
Article
AI Code & Coffee - Moje skúsenosti s Devinom
AI
July 1, 2025
Ako si sa prvýkrát dozvedel o Devinovi a čo ťa na ňom zaujalo?
O Devinovi som sa dozvedel na Visma AI konferencii, kde CTO spoločnosti Visma prezentoval nové trendy v AI nástrojoch. Devin bol jedným z nástrojov použitých na demonštráciu rýchleho návrhu a implementácie webovej aplikácie. V priebehu niekoľkých hodín, bez potreby ľudského zásahu či asistencie, vygeneroval plne funkčný prototyp len na základe produktovej špecifikácie.Najviac ma zaujala myšlienka, že je prezentovaný ako autonómny vývojár. Je možné mu priamo priradiť úlohy, ktoré následne spracuje samostatne, takmer ako ľudský člen tímu.
Na akých konkrétnych úlohách ste Devina testovali?
Keďže Devina aktuálne vyhodnocujeme ako potenciálny nástroj pre naše projekty, skúšali sme mu zadávať úlohy rôzneho charakteru:
- Refaktoring existujúceho kódu.
- Práca na menších, špecifických úlohách v už existujúcich repozitároch.
- Implementácia kompletne novej služby od základov.
- Analýza a implementácia procesov na základe BPMN diagramov.
Jeho schopnosti však nie sú obmedzené len na vývoj kódu. Dokáže si poradiť aj s písaním skriptov, CI/CD pipelines, technickej dokumentácie vrátane diagramov a podobne.
Ako by si porovnal prácu s Devinom oproti klasickému copilotovi alebo ChatGPT?
Hlavný rozdiel medzi Devinom a nástrojmi ako GitHub Copilot spočíva v jeho autonómii. Na rozdiel od asistentov, Devin funguje ako plnohodnotný softvérový inžinier. Disponuje vlastným virtuálnym prostredím v cloude, kde má nainštalované všetky potrebné nástroje na vývoj.V tomto prostredí dokáže kód nielen písať, ale aj kompilovať a testovať. Výsledkom jeho práce je zvyčajne pull request s kompletnou implementáciou vrátane testov.Zároveň pri práci berie do úvahy kontext celého repozitára, čo mu umožňuje premýšľať v širších súvislostiach. To sa pozitívne odráža na kvalite kódu, minimalizácii duplicít a lepšej aplikácii návrhových vzorov.
Ako veľmi si musel do jeho práce zasahovať? Dokázal niečo spraviť úplne autonómne?
Devin je navrhnutý tak, aby vyžadoval minimálne zásahy a väčšinu úloh vykonal autonómne. Mieru autonómie je možné čiastočne nastaviť – napríklad si môžete vyžiadať potvrdenie plánu implementácie predtým, ako začne s úpravami kódu. Týmto spôsobom je možné overiť, či úlohu správne pochopil, a predísť tak zbytočnej práci. Osobne odporúčam plán implementácie kontrolovať vždy.
Na aký typ projektov by si Devina odporučil (malé skripty, veľké systémy, testovanie...)?
Skúšali sme ho na malých až stredne veľkých repozitároch, s ktorými pracoval veľmi efektívne. V prípade komplexných projektov alebo zložitejších vývojových procesov je možné definovať tzv. "playbooks". Sú to vopred uložené prompty s postupnosťou krokov a špecifickými inštrukciami pre danú aktivitu. To pomáha Devinovi vykonávať zmeny v očakávanom poradí a na správnych miestach v kóde.
Ako Devin zvládal debugging a prácu s chybovými hláškami?
Priame možnosti debugovania, ako je sledovanie stavu premenných, sú obmedzené. Devin si však dokáže správnosť implementácie veľmi dobre overiť prostredníctvom unit, integračných a iných typov testov. Ideálnym prístupom je využitie princípov TDD (Test-Driven Development) a BDD (Behavior-Driven Development), kde najprv vygeneruje testovacie scenáre, ktoré po overení slúžia ako základ pre samotnú implementáciu.
Skúšal si ho integrovať do nejakého reálneho vývoja (napr. cez Git, CI/CD pipeline)?
Využitie Gitu je pre jeho prácu kľúčové. Jedným z prvých krokov je integrácia s repozitármi, ktoré si lokálne klonuje, vytvára si vlastné feature branche a následne otvára pull requesty s hotovou implementáciou. Ak má repozitár nastavené CI kontroly, Devin dokáže sledovať ich priebeh a reagovať na prípadné chyby. Rovnako reaguje aj na komentáre v rámci pull request review – buď ich automaticky zapracuje, alebo vysvetlí, prečo zmenu nevykonal.Integrácia je možná aj s nástrojmi ako Jira, kde sa mu dajú priamo priraďovať úlohy. Podobne funguje aj integrácia so Slackom, kde stačí v konverzácii označiť Devina a on sa postará o implementáciu bez nutnosti otvárať jeho webové rozhranie.
Čo ťa najviac prekvapilo pri práci s Devinom – pozitívne aj negatívne?
Pozitívne: Veľkým prínosom je jeho schopnosť indexácie repozitárov. Výsledkom je rozsiahla a detailná dokumentácia projektu, ktorá popisuje jeho štruktúru, zaužívané postupy, návrhové vzory, testovacie a deployment procesy. Táto dokumentácia je ideálna na zaúčanie nových členov tímu. Zároveň slúži aj samotnému Devinovi – ukladá si ju do svojej znalostnej bázy (Knowledge Base), ktorú využíva pri ďalších úlohách. Túto bázu je možné dopĺňať o vlastné pravidlá, čím sa Devin neustále zdokonaľuje.
Negatívne: Občas sa stáva, že nedodrží pravidlá definované v Knowledge Base alebo v zadaní úlohy. Hoci sa to nedeje často, je potrebné na to myslieť pri revízii jeho práce. Toto správanie však nie je špecifické len pre Devina, ale je bežné aj u iných AI agentov. Niekedy sa tiež môže "zacykliť" a zvoliť zbytočne komplikovaný postup pre riešenie jednoduchej úlohy. Preto je dobré priebežne sledovať jeho aktivitu.
Aké najväčšie obmedzenia si pri jeho používaní zažil?
Integrácie so systémami na správu verzií sú zatiaľ limitované – oficiálne sú podporované iba GitHub a GitLab. Pre nás to znamenalo migráciu repozitárov z Azure DevOps do GitHubu. Podpora pre project management nástroje je tiež obmedzená na Jiru a Linear.Verím však, že toto sa v blízkej budúcnosti zmení. Devin je veľmi aktívne vyvíjaný, nové funkcionality pribúdajú často a spoločnosť Cognition (ktorá za ním stojí) aktívne reaguje na spätnú väzbu od používateľov.
Zmenil Devin tvoj pohľad na to, ako budeme vyvíjať softvér v budúcnosti?
Som presvedčený, že integrácia AI agentov do softvérového vývoja je začiatkom zásadnej zmeny. Aj keď sú tieto nástroje stále nedokonalé, pri správnom použití dokážu byť v generovaní kódu omnoho produktívnejšie ako ľudia. Ak k tomu prirátame ich schopnosť pracovať na viacerých úlohách súčasne, dôraz sa postupne presunie z písania kódu na kvalitnú prípravu a špecifikáciu úloh.Ako hovorí náš CTO, táto generácia AI je tou najhoršou, s akou kedy budeme pracovať. Som si istý, že vývoj pôjde rapídne dopredu a súčasné nedostatky sa podarí čoskoro minimalizovať alebo úplne odstrániť. Pre mňa sa AI stalo každodennou súčasťou práce a vývoj softvéru bez týchto nástrojov si už dokážem len ťažko predstaviť.