Menu

AI-first pod kontrolou aneb jak v BlueGhostu řídíme práci AI agentů

AI agenti se postupně stávají běžnou součástí vývoje softwaru. Abychom ale v BlueGhostu jejich schopnosti mohli využít naplno, je nezbytné, aby dobře znali naše pracovní postupy, pravidla i požadavky na kvalitu. Dali jsme proto dohromady vlastní systém instrukcí, který sjednocuje jejich práci napříč projekty a pomáhá nám udržet výstupy pod kontrolou. A jak to funguje v praxi?

AI-first pod kontrolou aneb jak v BlueGhostu řídíme práci AI agentů

AI-first: Nový způsob, jak vyvíjíme software

O tom, jak nám AI mění práci v BlueGhostu, jsme už v předchozích článcích něco málo napsali. A protože se její možnosti rychle posouvají, mění se i způsob, jakým vyvíjíme software. Nejde přitom jen o rychlejší psaní kódu. AI postupně ovlivňuje celý vývojový proces, od návrhu řešení až po testování. Proto zavádíme přístup AI-first, ve kterém se AI stává přirozenou součástí naší práce.

Velkou roli v tom hrají AI agenti. Zatímco běžný AI asistent pomůže s konkrétním problémem nebo navrhne část kódu, agent dokáže samostatně zvládnout celou posloupnost úkolů. Může prozkoumat strukturu aplikace, analyzovat existující kód, navrhnout řešení, upravit soubory nebo spustit testy. Vývojář se tak může více soustředit na návrh řešení, jeho správnost a kontrolu výsledku.

S tím ale přicházejí i nové výzvy. Když na jednom projektu spolupracuje několik vývojářů a každý z nich má své AI agenty, jak zajistit, aby všichni pracovali podle stejných pravidel? Právě na to jsme se v BlueGhostu zaměřili.

Když má každý vývojář svého AI agenta

Zpočátku jsme k používání AI agentů přistupovali poměrně punkově. Každý vývojář si hledal vlastní cestu. Někdo používal své osvědčené prompty, jiný si připravoval vlastní příkazy a další experimentoval s různými AI nástroji a pracovními postupy.

Jenže na jednom projektu běžně spolupracuje několik vývojářů. A dnes už také několik jejich AI agentů. Co když ale každý z nich dostává jiné instrukce? Jeden agent může psát kód podle jiných konvencí než druhý. Další nemusí dostatečně rozumět architektuře aplikace a navrhne řešení, které do ní nezapadá. Výsledkem je kód, který sice funguje, ale přidělává práci ostatním. V horším případě mohou vznikat i bezpečnostní problémy.

Potřebovali jsme společná pravidla, která zajistí konzistentní výsledky, ale zároveň nebudou bránit experimentování. Proto jsme sestavili interní AI pracovní skupinu, která se věnuje sjednocování postupů a zavádění AI do vývoje. Jedním z jejích prvních úkolů bylo vytvořit jednotný systém instrukcí pro AI agenty. Jeho přípravu vede náš kolega Jarda, který má tvorbu společných AI standardů na starosti.

Jedna ústava, tři úrovně pravidel

Největší výzvou nebylo samotné sepsání instrukcí. Museli jsme především rozhodnout, která pravidla mají platit pro celou firmu, která se týkají konkrétní aplikace a kde ponechat prostor jednotlivým vývojářům. Nakonec jsme vytvořili systém tří vrstev.

Company: Naše firemní ústava

Základem jsou pravidla společná pro všechny projekty a AI agenty. Interně jim říkáme ústava. Obsahují standardy pro práci s kódem, bezpečnostní zásady a obecné pracovní postupy. Díky nim mají všichni agenti stejný základ bez ohledu na to, který vývojář nebo tým je používá.

A stejně jako skutečná ústava mají i tato pravidla nejvyšší prioritu. Na úrovni jednotlivých projektů je nelze přepisovat. Spravujeme je centrálně, takže je můžeme průběžně vylepšovat a aktualizace přenášet do jednotlivých projektů.

Project: Každá aplikace má svoje specifika

Jinak funguje e-shop, jinak rozsáhlý informační systém. Každá aplikace má vlastní architekturu, technologie a pracovní postupy. Proto má každý projekt vlastní sadu instrukcí, které popisují jeho strukturu, fungování a pravidla vývoje. Jsou společné pro celý tým a odpovídá za ně hlavní programátor.

Projektová pravidla nejsou místem pro osobní preference. Jsou společnou dohodou, která zajišťuje, že všichni vývojáři a jejich agenti postupují podle stejných zásad.

User: Prostor pro vlastní experimenty

Standardizace ale neznamená, že chceme všem vývojářům přikázat jediný správný způsob práce. Každý má proto prostor pro vlastní instrukce, příkazy a pracovní postupy. Může zkoušet nové nástroje a hledat způsoby, jak práci s AI zefektivnit.

Jeho osobní nastavení ale zůstává oddělené od společných projektových pravidel, takže neovlivňuje práci ostatních. A když se některý experiment osvědčí, může se po schválení stát součástí projektových nebo firemních standardů. Máme tak společný základ, ale zároveň prostor pro inovace.

AI pomáhá organizovat práci dalších AI agentů

Samotná pravidla by nám ale příliš nepomohla, kdyby jejich používání znamenalo další hodiny práce pro vývojáře. Proto jsme se snažili celý systém navrhnout tak, aby byl co nejjednodušší na správu a zavádění do projektů.

Jedním z jeho základních prvků je soubor AGENTS.md. Funguje jako společný rozcestník, který AI agentům říká, kde najdou potřebné instrukce a jakou mají jednotlivá pravidla prioritu. Nemusíme tak pro každý AI nástroj vytvářet jinou sadu pravidel. Zároveň AI nezatěžujeme zbytečnými informacemi, které by mohly zhoršovat přesnost výsledků, zpomalovat práci a zvyšovat náklady.

A ještě zajímavější je, že AI nám pomáhá připravovat prostředí, ve kterém budou pracovat další AI agenti. Používáme k tomu takzvané skills. Jsou to předem připravené postupy, podle kterých AI vykonává konkrétní úkoly.

Jeden z nich například umožňuje agentovi prozkoumat strukturu aplikace a připravit projektovou dokumentaci. Tu pak při své práci využívají další agenti, aby se v aplikaci rychleji zorientovali. Výsledek samozřejmě kontroluje hlavní programátor. Teprve potom se dokumentace stává součástí společných projektových podkladů.

Chytřejší vývoj není jen o chytřejších nástrojích

Vygenerovat stovky řádků kódu během několika minut dnes není nic výjimečného. Mnohem důležitější ale je, jestli výsledný kód odpovídá potřebám projektu a kolik práce bude stát jeho kontrola, opravy a další údržba. Právě proto nechceme efektivitu AI posuzovat jen podle toho, jak rychle dokáže vytvořit první verzi řešení.

Od společného systému instrukcí očekáváme konzistentnější kód, méně zbytečných oprav a jednodušší spolupráci mezi vývojáři. Zároveň chceme mít lepší kontrolu nad bezpečností a náklady na používání AI.

Důležitým přínosem je také sdílení znalostí. Informace o architektuře a fungování aplikací nezůstávají jen v hlavách jednotlivých programátorů. Jsou součástí dokumentace, kterou může využívat celý tým i jeho AI agenti.

AI-first pro nás neznamená nechat umělou inteligenci dělat všechno. Chceme využívat její možnosti naplno, ale zároveň mít jistotu, že výsledný software bude kvalitní, bezpečný a dlouhodobě udržitelný. A za to pořád nesou odpovědnost naši vývojáři.

Stejně jako se vyvíjí samotná AI, budou se vyvíjet i naše pravidla. Co funguje dnes, nemusí být nejlepší za půl roku. Proto nechceme sázet na jeden konkrétní nástroj, ale budovat způsob práce, který dokáže držet krok s technologiemi a zároveň nám pomůže udržet kvalitu napříč projekty.

A protože v BlueGhostu teď vedle vývojářů pracuje čím dál víc digitálních duchů (doslova), je potřeba, abychom všichni táhli za jeden provaz.

Pojďme vytvořit skvělý produkt

Domluvme si schůzku. Chcete si nejprve utřídit myšlenky? Navrhněte si zadání nanečisto s AI asistentem.