Spojte se s námi

Myšlenkové vůdce

Flexibilní automatizace vs. agentní augmentace v kódování

mm

Agentní automatizace (běžněji známá jako „vibe coding“) rozhodně zažívá boom v popularitě, a to i mimo rámec vývojářského prostředí. Collinsův slovník to označil za slovo roku. a dokonce Generální ředitel společnosti Microsoft poznamenal, že až 30 % kódu společnosti je generováno umělou inteligencí. Tento přístup ke kódování nepochybně zvyšuje produktivitu, ale stejně jako u jakékoli transformační technologie je klíčem k maximalizaci jejích výhod pochopení toho, kde a jak ji nejefektivněji aplikovat.

Vývojáři se pravidelně potýkají s problémy, jako je narůstání rozsahu, přerušování kódovacích sezení a zabírání omezeného času, takže hledání způsobů, jak zefektivnit práci pomocí umělé inteligence, je pochopitelné. Vývojáři však musí také zvážit filozofii „člověka v cyklu“, kterou nabízí flexibilní automatizace. Místo toho, aby se automatizace využívala v každém jednotlivém procesu, se zaměřuje na únavné úkoly a upevňuje tak roli vývojářů jako osob s rozhodovací pravomocí v každém bodě procesu. Tento přístup podporuje rozvoj dovedností a zároveň zajišťuje architektonickou konzistenci napříč projekty. 

Vzestup agentní automatizace

Vibe kódování je sice všude, ale stále se jedná o relativně nový přístup, který byl vytvořen teprve na začátku roku 2025. Jde o proces využití generativní umělé inteligence k vytváření softwarového kódu založeného pouze na konverzačních pokynech, obvykle s minimálním nebo žádným manuálním zásahem.

Byl široce chválen za to, že snižuje vstupní bariéru pro osoby bez technického vzdělání, které jim umožňuje testovat nápady a generovat funkční koncepty. Například generální ředitelé a vedoucí pracovníci nyní mohou demonstrovat požadované změny prostřednictvím prototypů s vibračním kódem, čímž se vyhnou zdlouhavým rozhovorům s vývojáři, kde vysvětlují abstraktní myšlenky.

Ale překročení této fáze tvorby nápadů vyžaduje pochopení současných možností umělé inteligence. Umělá inteligence pracuje s určitými omezeními při práci s velkými kontextovými okny, což ovlivňuje úroveň detailů při generování kódu pro rozsáhlé profesionální projekty. I když vývojáři mohou umělé inteligenci dále instruovat k provedení změn, pokud jsou zjištěny chyby, kód generovaný umělou inteligencí někdy duplikuje funkce, což může vést k obavám z údržby. To se stává obzvláště důležitým při práci s vestavěnými systémy, které jsou často omezeny hardwarovými limity a pro efektivní fungování vyžadují pouze nejpřesnější kód.

Široké zavádění umělé inteligence v kódování také vyvolává důležité otázky týkající se rozvoje dovedností. 42 % vývojářů používá umělou inteligenci Ve svých procesech tvrdí, že alespoň polovina jejich kódové základny je generována umělou inteligencí. Vzhledem k tomu, že se agentní automatizace stává stále rozšířenější, stojí za zvážení, jak si juniorní vývojáři budují základní dovednosti. Je to pro ně rituál iniciace, kdy si mohou osvojovat rutinní kódovací úkoly, které jim zdokonalují dovednosti a umožňují jim rychle získat zkušenosti s kódováním. Nalezení správné rovnováhy, kdy umělá inteligence zvládá vhodné úkoly a zároveň zachovává příležitosti k praktickému učení, bude klíčové pro výchovu další generace vývojářů.

Toto období přizpůsobení odráží i nálada vývojářů. V roce 2024 mělo 70 % vývojářů pozitivní vztah k umělé inteligenci, ale letos klesl na 60 %, přičemž 46 % vyjádřilo obavy ohledně přesnosti kódu umělé inteligence.Přesto většina vývojářů (70%) nepovažují to za hrozbu pro své postavení a 59 % seniorních vývojářů v jiném průzkumu uvedli, že nástroje umělé inteligence jim pomáhají rychleji dodávat kód. Tato čísla naznačují, že vývojáři aktivně zjišťují, jak efektivně integrovat umělou inteligenci, spíše než aby ji úplně odmítali. Technologie se rychle mění a s ní i osvědčené postupy pro implementaci.

Takže místo tohoto přístupu „všechno, nebo nic“ stojí za zvážení jiná filozofie, která k používání umělé inteligence přistupuje umírněněji a nechává vývojáře v šachtě řízení.

Co je flexibilní automatizace?

Zatímco agentická automatizace integruje umělou inteligenci do celého vývojového procesu, flexibilní automatizace zaujímá strategický přístup. Doporučuje cílenou integraci umělé inteligence do procesu kódování a navrhuje nahrazování administrativních úkolů vždy po jednom. Tímto způsobem si vývojář vždy udrží kontrolu a dohled nad produktem bez nadměrného narušení. Selektivně se zaměřuje na opakující se administrativní úkoly, jako je dokumentace kódu, tvorba jednotkových testů a jakékoli opakující se kódování.

Klíčové je, že uznává současné možnosti umělé inteligence v kódování – i když zatím nedokáže vytvořit kompletní softwarový stack, může přinést okamžité výhody v některých specifických oblastech. Takže místo toho, aby byli vývojáři frustrovaní z používání umělé inteligence na nesprávné úkoly, její využití se zaměřuje na oblasti, kde vyniká. Postupem času se s ní vývojáři mohou seznámit a osvojit si ji pomalejším tempem, což umožňuje, aby se jasně ukázala její hodnota při řešení administrativních úkolů. Vývojáři se pak mohou vrátit ke složitějším, základním důvodům, proč do tohoto odvětví vůbec vstoupili, jako je prosté psaní dobrého, komplexního softwaru a řešení náročných problémů – to vše s důvěrou v to, že umělá inteligence s nimi bude spolupracovat.

Důležité je, že to také ponechává prostor pro rozumné množství rutinních úkolů, které se juniorní vývojáři mohou učit z praktických zkušeností, což jim umožňuje budovat základní znalosti pomocí hlubokého učení, které vychází z tradiční metody pokus-omyl. Spíše než aby byla vnímána jako něco, co by mohlo omezovat příležitosti k učení, je umělá inteligence začleněna jako nástroj – takový, který mají vývojáři pevně pod kontrolou.

Výhody sahají nejen pro jednotlivé vývojáře, ale i pro celé vývojové týmy. Automatizací opakujících se prvků kódování si týmy mohou udržet konzistenci ve své dokumentaci a testovacích postupech a zároveň uvolnit zkušené vývojáře, aby mentorovali juniorní členy týmu a soustředili se na architektonická rozhodnutí. To vytváří zdravější vývojářskou kulturu, kde umělá inteligence spíše rozšiřuje lidské znalosti, než aby se je snažila nahradit.

Vyvažování automatizace v kódování

Stojí za to zopakovat, že umělá inteligence je největší změnou v kódování za poslední desetiletí a nepochybně má potenciál transformovat způsob, jakým kódujeme, k lepšímu, ale musíme najít správnou rovnováhu. Je to proces, který je třeba provádět strategicky, aby si jak průmysl, tak vývojáři zvykli na tento nový způsob práce, a zajistit, abychom stavěli na pevných základech a zároveň přijímali inovace. Klíčem je najít ideální prostředí, kde automatizace zvyšuje produktivitu, aniž by ohrozila hloubku porozumění, které dělá z vývojářů skvělé programátory.

Nicméně to neznamená, že musíme vnímat flexibilní automatizaci a vibrační kódování jako konkurenční filozofie, ale jako nástroje vhodné pro dvě zcela odlišné fáze životního cyklu softwaru. V budoucnu bude vibrační kódování nezbytné pro prvotní tvorbu nápadů i pro netechnickou komunikaci mezi vývojáři a jejich širšími organizacemi. A pak, jak se přesuneme do produkčního procesu, se do popředí musí dostat flexibilní automatizace, která zajistí, že umělá inteligence zůstane spíše pomocí než překážkou. Nejde tedy jen o jedno versus druhé – k úspěchu potřebujeme obojí.

Peter Schneider je hlavním produktovým manažerem ve společnosti Qt s rozsáhlými zkušenostmi v mezinárodním produktovém managementu, počítačovém inženýrství a produktovém marketingu v digitálním průmyslu. Před svou současnou pozicí byl Peter produktovým ředitelem ve společnosti Efecte, veřejně obchodované společnosti, která vyvíjí cloudovou platformu pro správu služeb a služby založené na umělé inteligenci. V dřívějších fázích své kariéry zastával různé globální role v oblasti produktového managementu ve společnostech Nokia a Siemens. Má titul MBA v oboru všeobecného managementu z Helsinské ekonomické fakulty a bakalářský titul v oboru počítačového inženýrství z Univerzity aplikovaných věd ve Frankfurtu.