Fotografie 65.jpg
Umělá inteligence automatizuje všechno a dokáž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: refaktoring zamotaného kódu, migraci starších systémů a vyhledávání podmínek závodění, což lidským softwarovým inženýrům umožní soustředit se 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 dokáže automatizovat všechno,“ řekl Armando Solar-Lezama, profesor elektrotechniky a informatiky na MIT, vedoucí výzkumník na CSAIL a hlavní autor studie. „Ve skutečnosti jsme dosáhli významného pokroku. Nástroje, které dnes máme, jsou mnohem výkonnější než dříve. Ale stále máme před sebou dlouhou cestu, než plně využijeme potenciál automatizace.“

Profesor Armando Solar-Lezama tvrdí, že softwarové inženýrství je obecně vnímáno jako úkol podobný studentskému programátorskému úkolu: vezměte malou funkci a napište kód, který ji zvládne, nebo proveďte cvičení ve stylu LeetCode. Realita je mnohem složitější: od refaktoringu kódu pro optimalizaci návrhů až po rozsáhlé migrace s miliony řádků kódu z COBOLu do Javy, které mění celý technologický stack 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í v enginu Chrome V8 – je stále obtížné vyhodnotit. Současné benchmarky jsou většinou určeny pro malé, komplexní 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 a potenciálně zpřístupňuje 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 tyto scénáře s vyšším rizikem, měření pokroku – a tím i jeho urychlení – zůstane otevřenou výzvou.

Kromě toho je velkou překážkou také komunikace člověka a stroje. Doktorand Alex Gu – hlavní autor studie – uvedl, že v současné době 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 dostane zpět velké, nestrukturované soubory spolu s několika jednoduchými a povrchními testovacími sadami. Tato mezera se také odráží 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é nástroje pro hodnocení kvality refaktorování, odolnosti záplat a přesnosti přechodu systému; a budování 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é komunity open source, 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ší jednu část problému po druhé“ – čímž se umělá inteligence promění z „nástroje pro návrhy kódu“ ve skutečného inženýrské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, že 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