
AI assisted code review přímo ve vývojovém studiu
Praktická showcase o tom, jak využít AI v code review procesu s minimem externích závislostí.
Přejít na obsah|Přejít k hlavnímu menu|Přejít k vyhledávání
Umělá inteligence dnes není „jedna technologie“, ale spíš sada nástrojů, které umožňují software naučit se dělat věci, které byly dlouho vyhrazené člověku: rozpoznat objekt na obrázku, pochopit text, najít anomálii v datech, odhadnout budoucí hodnotu nebo vyhodnotit riziko. V praxi to znamená, že aplikace už nemusí být jen souborem pravidel typu „když A, tak B“, ale mohou se opírat o modely, které se naučily vzory ze skutečných dat.
Jednou z nejčastějších oblastí použití je počítačové vidění (computer vision), typicky rozpoznávání objektů a klasifikace obrázků: systém dostane fotku a má určit, co na ní je (pes, auto, letadlo...), případně kde se objekt nachází (bounding boxy), nebo zda je na snímku něco podezřelého (defekt výrobku, nádor na MRI, podvod na dokladu).
A právě tady se velmi často potkáš se dvěma jmény: PyTorch a TensorFlow.
Oba frameworky umí trénovat neuronové sítě, běžet na GPU a pracovat s moderními architekturami. Rozdíl proto není v tom, že by jeden z nich úlohu zvládl a druhý ne. Rozdíl je hlavně v tom, jak pohodlně se s nimi pracuje, jak rychle se s nimi experimentuje a jaké náklady s sebou přinášejí při instalaci, ladění a běžném provozu.
Právě proto vznikl i tento experiment. Nešlo jen o teoretické srovnání frameworků, ale o praktickou otázku: co se stane, když oba nasadíme na stejný typ úlohy, na stejný dataset a budeme sledovat nejen výsledky modelu, ale i chování během tréninku.
Srovnání bylo postavené na klasifikaci obrázků nad datasety a modely, které jsou v oblasti computer vision běžně používané. V experimentu se pracovalo s datasetem CIFAR-10 a s architekturami ResNet50, VGG19 a MobileNet. Součástí vyhodnocení nebyla jen přesnost po tréninku, ale také vytížení GPU, práce s pamětí a praktická zkušenost s implementací.
Nejdůležitější závěr je jednoduchý: ani jeden framework není „špatný“, ale pro odlišné cíle se hodí jinak. V experimentu se ukázalo, že oba frameworky dokážou s GPU pracovat efektivně, ale liší se ve způsobu, jakým se chovají kolem epoch, jak nakládají s pamětí a jak příjemné je s nimi vůbec začít.
PyTorch působil v experimentu praktičtěji. Byl přívětivější při instalaci, zejména ve Windows prostředí, styl psaní kódu byl přímočařejší a ladění jednodušší. Z pohledu začátečníka nebo někoho, kdo si chce rychle ověřit nápad, jde o velmi silný argument.
TensorFlow naopak ukázal svou typickou stránku: nabízí silné API a širší ekosystém, ale za cenu vyšší režie a složitějšího vstupu. To znamená, že se jeho výhody projeví hlavně tam, kde člověk nechce jen „natrénovat model“, ale staví širší řešení okolo něj.
Ano, ale hlavně tehdy, když potřebujete širší ekosystém a robustnější produkční zázemí. Pro samotný rychlý start to není nutnost.
Ano. Pro image recognition, fine-tuning a běžné experimenty je PyTorch zcela dostačující a často pohodlnější.
PyTorch je jednodušší na začátek, flexibilní a dobře se ladí. TensorFlow nabízí více nástrojů kolem, ale bývá složitější na instalaci i práci.
Poměrně výrazně. Rozdíl se neprojeví jen ve výkonu, ale i v tom, kolik času zabere instalace, úprava kódu, ladění a opakování experimentů.
Pokud jste student, začátečník nebo někdo, kdo chce rychle ověřit nápad, dává tento experiment jasné doporučení: začněte s PyTorchem. Dostanete rychlejší cestu k prvnímu funkčnímu výsledku, čitelnější kód a menší bariéru při ladění.
Pokud ale dopředu víte, že budete stavět širší pipeline, řešit napojení na další produkční nástroje nebo chcete framework s velmi širokým „průmyslovým“ zázemím, TensorFlow smysl dává. Jen je potřeba počítat s tím, že jeho výhody se projeví spíš ve větším projektu než v krátkém experimentu.

Praktická showcase o tom, jak využít AI v code review procesu s minimem externích závislostí.

Na konkrétním příkladu ze zákaznického projektu si ukážeme, jak obrovský je dopad, zapojíme-li agenty na všech úrovních procesu vývoje softwaru nejen jako asistenty při psaní kódu. Pokusím se dát návod, jak budovat vývojový proces budoucnosti (spíše již současnosti).

S oživováním hardware máme v Edhouse dlouhodobé zkušenosti. Ve skutečnosti ale takový hardware není živý, jen mu dodáme softwarové rozhraní, pomocí kterého s ním uživatel dokáže komunikovat a ovládat ho. Vdechnout ale hardwaru život, i když jen ten umělý, nemusí být v dnešní době vůbec problém.
Děkujeme za váš zájem o odběr našeho newsletteru! Pro dokončení registrace je potřeba potvrdit vaše přihlášení. Na zadaný e-mail jsme vám právě zaslali potvrzovací odkaz. Klikněte prosím na tento odkaz, aby bylo vaše přihlášení dokončeno. Pokud e-mail nenajdete, zkontrolujte prosím složku nevyžádané pošty (spam) nebo složku hromadné pošty.
