Fotografie 65.jpg
Umělá inteligence automatizuje všechno a může nahradit programátory? Foto: Midjourney

Tým výzkumníků právě publikoval komplexní mapu výzev, kterým čelí umělá inteligence (AI) ve vývoji softwaru, a navrhl výzkumný plán pro další rozvoj této oblasti.

Představte si budoucnost, kde umělá inteligence tiše převezme všední úkoly vývoje softwaru: refaktorování zamotaného kódu, migraci starších systémů a vyhledávání podmínek závodění, aby se lidští softwaroví inženýři mohli soustředit na architekturu systému, design a kreativní problémy, které stroje zatím nedokážou vyřešit. Zdá se, že nedávný pokrok v oblasti umělé inteligence tuto vizi přibližuje.

Nová studie vědců z Laboratoře informatiky a umělé inteligence (CSAIL) na MIT a partnerských výzkumných ústavů však ukázala, že abychom si tuto budoucnost uvědomili, musíme se nejprve přímo zaměřit na skutečné výzvy současnosti.

„Mnoho lidí říká, že programátoři už nejsou potřeba, protože umělá inteligence automatizuje všechno,“ řekl Armando Solar-Lezama, profesor elektrotechniky a informatiky na MIT, vedoucí výzkumník v CSAIL a hlavní autor studie. „Ve skutečnosti jsme dosáhli významného pokroku. Nástroje jsou mnohem výkonnější než dříve. Ale k realizaci plného potenciálu automatizace je ještě dlouhá cesta.“

Profesor Armando Solar-Lezama tvrdí, že převládající názor redukuje softwarové inženýrství na něco jako studentský programátorský úkol: vzít malou funkci a napsat kód, který ji zvládne, nebo provést cvičení ve stylu LeetCode. Realita je však mnohem složitější: od refaktoringu kódu pro optimalizaci návrhů až po rozsáhlé migrace s miliony řádků kódu přesouvajících se z COBOLu do Javy, které mění celou technologickou základnu společnosti.

Měření a komunikace zůstávají složitými problémy

Optimalizace kódu v průmyslovém měřítku – jako jsou úpravy jádra GPU nebo vícevrstvá vylepšení enginu Chrome V8 – je stále obtížné vyhodnotit. Současné benchmarky jsou většinou určeny pro malé, zabalené problémy. Nejpraktičtější metrika, SWE-Bench, jednoduše požádá model umělé inteligence, aby opravil chybu na GitHubu – nízkoúrovňové programovací cvičení, které zahrnuje několik stovek řádků kódu, potenciálně zveřejní data a ignoruje širokou škálu reálných scénářů, jako je refaktoring s pomocí umělé inteligence, programování ve dvojici člověk-stroj nebo přepisování vysoce výkonných systémů s miliony řádků kódu. Dokud se benchmarky nerozšíří tak, aby pokrývaly scénáře s vyšším rizikem, měření pokroku – a tím i jeho urychlení – zůstane otevřenou výzvou.

Velkou překážkou je navíc i komunikace člověka a stroje. Doktorand Alex Gu, hlavní autor studie, uvedl, že v současnosti je interakce s umělou inteligencí stále jako „křehká komunikační linka“. Když požádá umělou inteligenci o generování kódu, často obdrží velké, nestrukturované soubory spolu s několika jednoduchými a povrchními testovacími sadami. Tato mezera se odráží i ve skutečnosti, že umělá inteligence nemůže efektivně využívat softwarové nástroje, které jsou lidem známé, jako jsou debuggery, statické analyzátory atd.

Výzva k akci od komunity

Autoři tvrdí, že na tyto problémy neexistuje žádné kouzelné řešení, a vyzývají k úsilí na úrovni komunity: budování dat, která odrážejí skutečný proces vývoje programátorů (který kód ponechat, který kód odstranit, jak je kód v průběhu času refaktorován atd.); společné sady nástrojů pro hodnocení kvality refaktorování, odolnosti záplat a přesnosti migrace systému; a vytváření transparentních nástrojů, které umožňují umělé inteligenci vyjádřit nejistotu a přizvat lidský zásah.

Doktorand Alex Gu to vnímá jako „výzvu k akci“ pro rozsáhlé open-source komunity, kterou žádná samostatná laboratoř nedokáže nabídnout. Solar-Lezama si představuje pokrok v malých, postupných krocích – „výzkumné poznatky, které řeší části problému jednu po druhé“ – čímž se umělá inteligence promění z „nástroje pro návrhy kódu“ ve skutečného technického partnera.

„Proč na tom záleží? Software je již základem financí, dopravy, zdravotnictví a téměř každodenních činností. Lidské úsilí o jeho bezpečné vytvoření a údržbu se však stává úzkým hrdlem,“ řekl Gu. „Umělá inteligence, která by zvládla těžkou práci bez skrytých chyb, by programátorům umožnila soustředit se na kreativitu, strategii a etiku. Abychom se tam ale dostali, musíme pochopit: dokončení kódu je ta snadná část – těžká část je všechno ostatní.“

(Stručně přeloženo z MIT News)

Zdroj: https://vietnamnet.vn/hanh-trinh-dai-cua-ai-trong-ky-thuat-phan-mem-tu-dong-hoa-2426456.html