Modelele IA dezvoltate de OpenAI, Anthropic și alte laboratoare de inteligență artificială de top sunt din ce în ce mai des folosite pentru a asista la sarcini de programare. În octombrie, CEO-ul Google, Sundar Pichai, declara că 25% din noul cod produs în cadrul companiei este generat de AI, iar Mark Zuckerberg, CEO-ul Meta, și-a exprimat ambiția de a implementa pe scară largă modele AI pentru programare în cadrul gigantului social media, relatează TechCrunch.
Totuși, chiar și unele dintre cele mai avansate modele actuale se împiedică de bug-uri software pe care programatorii cu experiență le-ar rezolva cu ușurință.
Un nou studiu realizat de Microsoft Research, divizia de cercetare și dezvoltare a Microsoft, arată că modelele IA – inclusiv Claude 3.7 Sonnet de la Anthropic și o3-mini de la OpenAI – nu reușesc să rezolve multe dintre problemele dintr-un set de teste de depanare numit SWE-bench Lite.
Rezultatele reprezintă un avertisment sobru: în ciuda promisiunilor grandioase ale unor companii precum OpenAI, IA-ul este încă departe de a egala expertiza umană în domenii precum programarea.
Studiul Microsoft: ce arată testele
Autorii studiului au testat nouă modele diferite, folosite ca „agenți cu prompt unic”, fiecare având acces la un set de instrumente de depanare, inclusiv un debugger Python. Agenții au primit sarcina de a rezolva 300 de probleme de depanare selectate din benchmark-ul SWE-bench Lite.
Chiar și cu modele mai performante și mai recente, agenții au reușit rareori să rezolve mai mult de jumătate dintre problemele propuse. Cele mai bune rezultate:
- Claude 3.7 Sonnet – rată medie de succes: 48,4%
- OpenAI o1 – 30,2%
- OpenAI o3-mini – 22,1%
De ce performanțe atât de slabe?
Un motiv este incapacitatea unor modele de a folosi eficient instrumentele de depanare disponibile sau de a înțelege cum diferite instrumente se potrivesc pentru diferite tipuri de probleme.
Însă problema principală, spun cercetătorii, este lipsa de date specifice în procesul de antrenare al modelelor. Mai exact, nu există suficiente date care să reflecte „procesele de luare de decizii în secvență” – adică trasee umane de depanare (debugging), în care un programator analizează codul pas cu pas până la identificarea și remedierea unei erori.
Context și implicații
Rezultatele nu sunt neapărat surprinzătoare. Mai multe studii au arătat că modelele AI generatoare de cod tind să introducă erori și vulnerabilități de securitate, din cauza limitărilor în înțelegerea logicii programării. O evaluare recentă a lui Devin, un instrument AI de programare devenit popular, a arătat că acesta a reușit să finalizeze doar 3 din 20 de teste de programare.
Totuși, studiul Microsoft este printre cele mai detaliate analize de până acum asupra acestei slăbiciuni persistente a modelelor AI.
Deși aceste concluzii probabil nu vor diminua entuziasmul investitorilor pentru uneltele AI de asistare în programare, ele ar putea face ca dezvoltatorii – și managerii acestora – să regândească ideea de a lăsa IA-ul „la volan” în procesul de scriere a codului.
Programatorii nu dispar
Din fericire pentru dezvoltatorii umani, tot mai mulți lideri din industria tech resping ideea că IA-ul va înlocui complet programatorii. Bill Gates, cofondatorul Microsoft, a spus că profesia de programator va rămâne relevantă. La fel au susținut și Amjad Masad, CEO-ul Replit, Todd McKinnon, CEO Okta, Arvind Krishna, CEO IBM.
Viitorul codului pare să fie unul colaborativ: om și IA, nu unul înlocuindu-l pe celălalt.