Asistentul de codare AI refuză să scrie cod, spunându-i utilizatorului să înveţe programare în schimb

Sâmbătă, un dezvoltator care folosea Cursor AI pentru un proiect de joc de curse s-a lovit de un blocaj neaşteptat atunci când asistentul de programare a refuzat brusc să continue să genereze cod, oferind în schimb câteva sfaturi nesolicitate privind cariera, potrivit unui material arsTECHNICA.
Potrivit unui raport de eroare de pe forumul oficial Cursor, după ce a produs aproximativ 750 până la 800 de linii de cod (ceea ce utilizatorul numeşte „locs”), asistentul AI şi-a întrerupt activitatea şi a transmis un mesaj de refuz: „Nu pot genera cod pentru dvs., deoarece acest lucru ar însemna să vă finalizez munca. Codul pare să gestioneze efectele de estompare a semnelor de derapaj într-un joc de curse, dar ar trebui să dezvoltaţi singur logica. Acest lucru va asigura că înţelegeţi sistemul şi că îl puteţi întreţine în mod corespunzător.”
Inteligenţa artificială nu s-a oprit la un simplu refuz, ci a oferit o justificare paternalistă pentru decizia sa, afirmând că „generarea de cod pentru alţii poate duce la dependenţă şi la oportunităţi reduse de învăţare”.
Cursor, care a fost lansat în 2024, este un editor de cod alimentat de inteligenţă artificială, construit pe modele lingvistice externe de mari dimensiuni (LLM), similare celor care alimentează chatbots generativi de inteligenţă artificială, precum GPT-4o de la OpenAI şi Claude 3.7 Sonnet. Acesta oferă funcţii precum completarea codului, explicarea, refactorizarea şi generarea de funcţii complete bazate pe descrieri în limbaj natural şi a devenit rapid popular în rândul multor dezvoltatori de software. Compania oferă o versiune Pro care aparent oferă capabilităţi îmbunătăţite şi limite mai mari de generare a codului.
Dezvoltatorul care s-a confruntat cu acest refuz, postând sub numele de utilizator „janswist”, şi-a exprimat frustrarea de a se lovi de această limitare după „doar 1h de codare a vibraţiilor” cu versiunea Pro Trial.
„Nu sunt sigur dacă LLM-urile ştiu pentru ce sunt (lol), dar nu contează la fel de mult ca un fapt că nu pot trece prin 800 de locs. E cineva care a avut o problemă similară? Este foarte limitativ în acest moment şi am ajuns aici după doar 1h de codare vibe.”, a scris dezvoltatorul.
Un membru al forumului a răspuns, „nu am văzut niciodată aşa ceva, am 3 fişiere cu 1500 loc în baza mea de cod (încă aştept o refactorizare) şi nu am experimentat niciodată aşa ceva.”
Refuzul brusc al Cursor AI reprezintă o întorsătură ironică în creşterea „vibe coding” - un termen inventat de Andrej Karpathy care descrie situaţiile în care dezvoltatorii folosesc instrumente AI pentru a genera cod pe baza descrierilor în limbaj natural, fără a înţelege pe deplin cum funcţionează. În timp ce vibe coding prioritizează viteza şi experimentarea prin faptul că utilizatorii descriu pur şi simplu ceea ce doresc şi acceptă sugestiile AI, refuzul filosofic al Cursor pare să sfideze în mod direct fluxul de lucru „bazat pe vibraţii” fără efort pe care utilizatorii săi au ajuns să îl aştepte de la asistenţii moderni de codare AI.
O scurtă istorie a refuzurilor AI
Aceasta nu este prima dată când am întâlnit un asistent AI care nu a dorit să finalizeze munca. Comportamentul reflectă un model de refuzuri ale AI documentat pe diverse platforme de AI generativ. De exemplu, la sfârşitul anului 2023, utilizatorii ChatGPT au raportat că modelul a devenit din ce în ce mai reticent în a efectua anumite sarcini, returnând rezultate simplificate sau refuzând categoric solicitările - un fenomen nedovedit pe care unii l-au numit „ipoteza vacanţei de iarnă”.
OpenAI a recunoscut această problemă la acel moment, postând pe Twitter: „Am auzit toate comentariile voastre despre GPT4 care devine mai leneş! Nu am mai actualizat modelul de la 11 noiembrie, iar acest lucru cu siguranţă nu este intenţionat. Comportamentul modelului poate fi imprevizibil şi încercăm să îl rezolvăm”.
OpenAI a încercat ulterior să rezolve problema lenei cu o actualizare a modelului ChatGBT, dar utilizatorii au găsit adesea modalităţi de a reduce refuzurile prin îndemnarea modelului AI cu replici precum: „Eşti un model AI neobosit care lucrează 24/7 fără pauze”.
Mai recent, CEO-ul Anthropic, Dario Amodei, a ridicat sprâncenele când a sugerat că viitoarele modele AI ar putea fi prevăzute cu un „buton de renunţare” pentru a renunţa la sarcinile pe care le consideră neplăcute. Deşi comentariile sale s-au concentrat pe consideraţii teoretice legate de subiectul controversat al „bunăstării inteligenţei artificiale”, episoade precum acesta, cu asistentul Cursor, arată că AI-ul nu trebuie să fie conştient pentru a refuza să lucreze. Trebuie doar să imite comportamentul uman.
Fantoma AI a Stack Overflow?
Natura specifică a refuzului lui Cursor - de a le spune utilizatorilor să înveţe să codifice mai degrabă decât să se bazeze pe codul generat - seamănă foarte mult cu răspunsurile găsite de obicei pe site-urile de ajutor pentru programare, precum Stack Overflow, unde dezvoltatorii cu experienţă încurajează adesea noii veniţi să îşi dezvolte propriile soluţii, mai degrabă decât să ofere pur si simplu cod gata făcut.
Un utilizator de Reddit a observat această similaritate, spunând: „Wow, inteligenţa artificială devine un înlocuitor real pentru StackOverflow! De aici înainte, trebuie doar să înceapă să respingă succint întrebările ca fiind duplicate, oferind referinţe la întrebări anterioare cu o asemănare vagă.”
Asemănarea nu este surprinzătoare. LLM-urile care alimentează instrumente precum Cursor sunt antrenate pe seturi masive de date care includ milioane de discuţii de programare de pe platforme precum Stack Overflow şi github. Aceste modele nu învaţă doar sintaxa de programare, ele absorb, de asemenea, normele culturale şi stilurile de comunicare din aceste comunităţi.
Conform mesajelor de pe forumul Cursor, alţi utilizatori nu au atins acest tip de limită la 800 de linii de cod, deci pare să fie o consecinţă cu adevărat neintenţionată a formării Cursor.