Obrázek pro příspěvek 65.jpg
Umělá inteligence automatizuje všechno a mohla by nahradit programátory? Foto: Midjourney

Skupina výzkumníků právě zveřejnila komplexní mapu výzev, kterým umělá inteligence (AI) čelí v oblasti vývoje softwaru, a navrhla výzkumný plán pro další rozvoj této oblasti.

Představte si budoucnost, kde umělá inteligence tiše převezme únavné úkoly vývoje softwaru: refaktoring složitého kódu, migraci starších systémů a sledování chyb založených na rase, aby se lidští softwaroví inženýři mohli plně 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 velmi přiblížil.

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 tuto budoucnost uskutečnili, musíme se nejprve postavit skutečným výzvám současnosti.

„Mnoho lidí říká, že programátoři už nejsou nutní, protože umělá inteligence automatizovala všechno,“ sdílel profesor Armando Solar-Lezama, přednášející elektrotechniky a informatiky na MIT, vedoucí výzkumník na CSAIL a hlavní autor studie. „Ve skutečnosti jsme dosáhli velmi významného pokroku. Nástroje, které nyní máme, jsou mnohem výkonnější než dříve. Ale k dosažení plného potenciálu automatizace je před námi ještě dlouhá cesta.“

Profesor Armando Solar-Lezama tvrdí, že současná převládající představa zjednodušuje softwarové inženýrství na úkol podobný studentskému programátorskému úkolu: dostat malou funkci a napsat kód, který ji zvládne, nebo vypracovat úkol ve stylu LeetCode. Realita je přitom mnohem složitější: od refaktoringu kódu pro optimalizaci návrhu až po rozsáhlé migrace milionů řádků kódu z COBOLu do Javy, které zásadně mění technologickou platformu společnosti.

Měření a komunikace zůstávají náročnými problémy.

Optimalizace kódu v průmyslovém měřítku – jako je ladění jádra GPU nebo vícevrstvá vylepšení v Chrome V8 – je i nadále obtížné posoudit. Současné benchmarky se primárně zaměřují na malé, komplexní problémy. Nejpraktičtější metrika, která je v současnosti k dispozici, SWE-Bench, jednoduše vyžaduje model umělé inteligence k opravě chyby na GitHubu – což odpovídá nízkoúrovňovému programovacímu cvičení zahrnujícímu několik stovek řádků kódu s potenciálem úniku dat a ignorujícímu řadu dalších reálných scénářů, jako je refaktoring s pomocí umělé inteligence, programování člověk-stroj nebo přepisování vysoce výkonných systémů s miliony řádků kódu. Dokud nebudou benchmarky rozšířeny tak, aby zahrnovaly scénáře s vyšším rizikem, měření pokroku – a tím i jeho řízení – zůstane otevřenou výzvou.

Hlavní překážkou je navíc komunikace mezi člověkem a strojem. Vedoucí autor studie Alex Gu, postgraduální student, uvedl, že interakce s umělou inteligencí je v současnosti jako „tenká komunikační nit“. Když požádá umělou inteligenci o generování kódu, často obdrží velké, nestrukturované soubory spolu s několika jednoduchými a rudimentárními testovacími případy. Tato mezera je patrná i v neschopnosti umělé inteligence efektivně využívat softwarové nástroje známé lidem, jako jsou debuggery a statické analyzátory.

Výzva k akci od komunity.

Autoři tvrdí, že na tyto problémy neexistuje žádné kouzelné řešení, a volají po úsilí na úrovni komunity: budování dat, která odrážejí skutečný proces vývoje programátorů (který kód je ponechán, který je zahozen, 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ři přechodech mezi systémy; a budování transparentních nástrojů, které umožňují umělé inteligenci vyjadřovat nejistotu a vyzývat k lidskému zásahu.

Postgraduální student Alex Gu to vnímá jako „výzvu k akci“ pro rozsáhlé open-source komunity, které žádná samostatná laboratoř nedokáže. Solar-Lezama si představuje pokrok plynoucí z malých, vzájemně se posilujících kroků – „výsledků výzkumu, které postupně řeší části problému“ – čímž se umělá inteligence transformuje z „nástroje pro doporučování kódu“ na skutečného inženýrského partnera.

„Proč je to důležité? Software je nyní základem financí, dopravy, zdravotnictví a všech každodenních činností. Lidské úsilí o jeho bezpečné budování a údržbu se však stává úzkým hrdlem,“ sdělil 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 toho však dosáhli, musíme pochopit, že dokončení kódu je jen ta snadná část – ta těžká část spočívá ve všem ostatním.“

(Převzato z MIT News)

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