Tufa e agjentëve të Cursor përballet me një nga problemet më të vështira të softuerit dhe dorëzon një shfletues funksional

foto

Ndërtimi i një shfletuesi uebi nga e para konsiderohet si një nga projektet më komplekse të softuerit që mund të imagjinohen. Akoma më e jashtëzakonshme Cursor i ngarkoi qindra agjentë të inteligjencës artificiale që funksiononin në mënyrë autonome pikërisht me këtë detyrë dhe pas gati një jave prodhoi një shfletues funksional me motorin e vet të renderimit.

foto

“Duhet të pranoj se jam shumë i befasuar që shoh diçka kaq të aftë të shfaqet kaq shpejt”, shkruan Simon Willison, programues britanik dhe bashkëkrijues i kornizës web Django. Willison është një nga blogerët e pavarur më të njohur në Hacker News dhe shpiku termin “Prompt Injection” në vitin 2022 për një dobësi kritike sigurie në LLM (pasi Jonathan Cefalu e kishte raportuar më parë problemin te OpenAI si “command injection”). Vlerësimet e tij për zhvillimin e softuerëve të asistuar nga IA ndiqen nga afër në industri.

foto

Vetëm më herët në janar, Willison kishte parashikuar se një shfletues uebi i asistuar nga inteligjenca artificiale nuk do të ishte realist deri në vitin 2029, në rastin më të mirë. Tani ai po e korrigjon veten: “Mund të kem gabuar me tre vjet”. Shfletuesi i paraqet faqet e internetit në mënyrë të dukshme të sakta, megjithëse me defekte të dukshme që tregojnë se nuk po përdoret asnjë motor ekzistues. Por kjo është afërsisht cilësia e rezultatit që ai kishte në mendje për parashikimin e tij për vitin 2029.

Rruga drejt një sistemi funksional nuk ishte e thjeshtë. Qasja e parë e kursorit, agjentë me status të barabartë që koordinoheshin përmes një skedari të përbashkët, dështoi në mënyrë spektakolare. Kur një agjent donte të merrte përsipër një detyrë, së pari duhej ta “kyçte” atë në mënyrë që asnjë agjent tjetër të mos fillonte të njëjtën punë. Por agjentët i mbanin këto kyçje shumë gjatë ose harronin t’i lironin plotësisht. “Njëzet agjentë do të ngadalësonin në rendimentin efektiv të dy ose tre, me pjesën më të madhe të kohës që kalonin duke pritur.”

Pa një hierarki të qartë, agjentët shfaqën gjithashtu sjellje të habitshme. Ata u bënë të prirur ndaj rrezikut. “Ata shmangën detyrat e vështira dhe në vend të kësaj bënë ndryshime të vogla e të sigurta. Asnjë agjent nuk mori përgjegjësinë për problemet e vështira ose zbatimin nga fillimi në fund.” Puna u ndërpre për periudha të gjata pa përparim të vërtetë.

Zgjidhja ishte ndarja e qartë e roleve. Planifikuesit eksplorojnë vazhdimisht bazën e kodit dhe krijojnë detyra. Ata mund të krijojnë nën-planifikues për fusha specifike, për shembull një nën-planifikues vetëm për renderimin CSS ose një për motorin JavaScript. Kjo e bën vetë planifikimin paralel dhe rekursiv.

Punëtorët, nga ana tjetër, nuk shqetësohen për pamjen e përgjithshme. Ata marrin një detyrë, e përfundojnë, i shtyjnë ndryshimet e tyre deri në përfundim. Në fund të çdo cikli, një Agjent Gjykues përcakton nëse projekti është i përfunduar apo duhet të fillojë një përsëritje tjetër.

“Shumë nga përmirësimet tona erdhën nga heqja e kompleksitetit në vend të shtimit të tij”, shkruan Wilson Lin nga Cursor. Një rol i dedikuar integruesi për kontrollin e cilësisë dhe zgjidhjen e konflikteve, për shembull, “krijoi më shumë pengesa sesa zgjidhi”. Punëtorët mund t’i trajtonin vetë konfliktet.

Zgjedhja e modelit rezultoi thelbësore për punën autonome të gjatë. GPT-5.2 u zbulua se ishte dukshëm më i mirë në “ndjekjen e udhëzimeve, mbajtjen e fokusit, shmangien e devijimit dhe zbatimin e gjërave me saktësi dhe plotësisht”. Opus 4.5, në të kundërt, “tenton të ndalet më herët dhe të zgjedhë rrugë të shkurtra kur është e përshtatshme”, duke e rikthyer kontrollin shpejt në vend që ta përfundojë plotësisht një detyrë.

Modele të ndryshme për role të ndryshme funksionuan më mirë. GPT-5.2 rezultoi “një planifikues më i mirë se GPT-5.1-Codex, edhe pse ky i fundit është trajnuar posaçërisht për kodim”. Kursori tani përdor modelin më të përshtatshëm për secilin rol.

Një tjetër informacion: “Një pjesë çuditërisht e sjelljes së sistemit varet nga mënyra se si i nxisim agjentët. Pajisjet dhe modelet kanë rëndësi, por vetë nxitëset kanë më shumë rëndësi.”

Shfletuesi nuk është eksperimenti i vetëm. Kursori gjithashtu i vuri agjentët të kryenin një migrim Solid-to-React në bazën e tyre të kodit, një rishikim masiv i strukturës së frontend-it. Zgjati më shumë se tre javë dhe përfshiu +266,000/-193,000 rreshta kodi. Rezultati ishte që tashmë kalonte testet CI, por ende ka nevojë për shqyrtim nga njeriu.

Një agjent tjetër e bëri renderimin e videos 25 herë më të shpejtë nëpërmjet një implementimi efikas të Rust. Ky kod do të jetë në prodhim së shpejti.

Projekte të tjera janë ende në ekzekutim, duke përfshirë një Protokoll Serveri të Gjuhës Java (7,400 lidhje, 550,000 rreshta kodi), një emulator të Windows 7 (14,600 lidhje, 1.2 milion rreshta) dhe një klon të Excel (12,000 lidhje, 1.6 milion rreshta).