„Pastaruoju metu Manu Ebertas stengėsi apsaugoti savo dirbtinį intelektą nuo jo pažeminimo.
Neseniai aplankiau Ebertą, mašininio mokymosi inžinierių ir buvusį neurologą, atskirame bute, kuriame jis ir Conoras Brennanas-Burke'as vadovauja savo startuoliui „Hyperspell“. Ebertas, aukštas ir trumpabarzdis 39 metų vyras, primenantis europietį akademiką, sėdėjo priešais milžinišką išlenktą monitorių. Ekrane Claude'as Code'as – dirbtinio intelekto įrankis iš „Anthropic“ – buvo užsiėmęs darbu. Vienas iš jo agentų rašė naują funkciją, kitas ją testavo; trečias viską prižiūrėjo, tarsi virtualus užduočių vadovas. Po kelių minučių Claude'as sušuko: „Įdiegimas baigtas!“
Ebertas užaugo 10-ajame dešimtmetyje, mokydamasis programuoti senamadiškai: jis kruopščiai spausdindavo eilutę po eilutės. Po koledžo jis dirbo programinės įrangos kūrėju Silicio slėnyje tokiose įmonėse kaip „Airbnb“, o vėliau tapo keturių startuolių bendraįkūrėju. Anuomet programinės įrangos kūrimas reiškė dienų dienas praleisti susikūprinus prie klaviatūros, apmąstant sudėtingas detales ir bandant išvengti klaidų.
Visa tai baigėsi praėjusį rudenį. Dirbtinis intelektas tapo toks geras kodo rašymo srityje, kad Ebertas, iš pradžių atsargus, leido jam daryti vis daugiau ir daugiau. Dabar didžiąją dalį darbo atlieka Claude'as Code'as. Agentai yra tokie greiti – ir paprastai tokie tikslūs – kad kai klientui neseniai prireikė „Hyperspell“ parašyti naują kodą, tai užtrukdavo tik pusvalandį. Ankstesniais laikais? „Vien tam man būtų prireikę dienos“, – sakė jis.
Jis ir 32 metų Brennan-Burke vis dar yra programinės įrangos kūrėjai, tačiau, kaip ir dauguma jų kolegų dabar, jie retai rašo kodą. Vietoj to, jie leidžia dienas kalbėdamiesi su dirbtiniu intelektu, paprasta anglų kalba aprašydami, ko iš jo nori, ir atsakydami. prie DI „plano“, ką jis darys. Tada jie paleidžia agentus.
Kadangi DI yra DI, kartais viskas pakrypsta netikėta linkme. Kartais, kai Klodas netinkamai elgiasi ir neišbando kodo, Ebertas jį bara: Klodai, tu tikrai turi atlikti visus testus.
Kad išvengtų tokių klaidų pasikartojimo, Ebertas į savo raginimų failą įtraukė griežtų įspėjimų – instrukcijų sąrašą – griežtus Dešimt įsakymų – kurių jo agentai turi laikytis prieš ką nors darydami. Kai matote DI naudojančio programuotojo raginimų failą, matote kūrėjo bandymų suvaržyti agentų paprastai kompetentingus, bet nenuspėjamai nukrypstančius veiksmus įrašą.
Pažvelgiau į Eberto raginimų failą. Jame buvo raginimas, kuriame agentams buvo nurodyta, kad bet koks naujas kodas turi praeiti kiekvieną testą, kol jis bus įkeltas į realaus pasaulio „Hyperspell“ produktą. Vienas toks Python kodo testas, vadinamas pytestu, turėjo savo specifinį raginimą, kuris patraukė mano dėmesį: „Kodo, kuris neišlaiko pytesto, įkėlimas yra nepriimtina ir gėdinga.“
Gėda? Ar tai iš tikrųjų padėjo, pagalvojau, liepdamas dirbtiniam intelektui jūsų „nesugėdinti“? Ebertas droviai nusišypsojo. Jis negalėjo to įrodyti, bet tokie raginimai, regis, šiek tiek pagerino Claude'o našumą.
Jo patirtis nėra neįprasta; šiais laikais daugelis programinės įrangos kūrėjų bara savo dirbtinio intelekto agentus, maldauja jų, šaukia svarbias komandas didžiosiomis raidėmis – arba kartoja tą pačią komandą kelis kartus, kaip hipnotizuotojas – ir atranda, kad dirbtinis intelektas dabar atrodo šiek tiek paklusnesnis. Tokia melodramatiška proza gali atrodyti kiek beprotiška, bet, kaip rodo jų pavadinimas, dideli kalbos modeliai yra kalbos mašinos. „Gėda“ tikriausiai suteikė skubos jausmą.
„Jei sakote: „Tai nacionalinio saugumo imperatyvas, jums reikia parašyti šį testą“, atsiranda jausmas, kad tiesiog keliate statymus“, – sakė Ebertas.
Brennan-Burke įsiterpė: „Ar prisimenate tyrimą, kuris parodė, kad kuo grubiau elgėtės su modeliais, tuo geriau jie pasirodė?“ Jie nusijuokė. Per savo 80 metų istoriją kompiuterių programavimas patyrė daug pokyčių. Tačiau šis gali būti keisčiausias: dabar jis tampa pokalbiu, abipusiu pokalbių festivaliu tarp programinės įrangos kūrėjų ir jų robotų.
Šis svaiginantis pokytis kelia grėsmę sukelti didžiulių ekonominių pasekmių. Dešimtmečius programavimas buvo laikomas tokiu meistriškumu, kad jei buvai bent kiek kompetentingas, galėjai tikėtis gauti visą gyvenimą trunkantį darbą. Jei buvai išskirtinis (ir pasisekė), praturtėjai. Silicio slėnio „panjandrums“ 2010-uosius praleido skaitydami pamokslus Amerikos darbuotojams nykstančiose pramonės šakose, kad jiems reikia „išmokti programuoti“.
Dabar pats programavimas yra automatizuotas. Pašaliniams tai, su kuo susiduria programuotojai, gali atrodyti visiškai pelnyta ir netgi juokinga: Amerikos baltųjų apykaklių darbuotojai jau seniai nerimauja, kad Silicio slėnis vieną dieną gali panaudoti dirbtinį intelektą savo darbams automatizuoti, bet pažiūrėkite, kas nukentėjo pirmas! Iš tiesų, programavimas yra bene pirmoji labai brangios industrializuotos žmonių darbo forma, kurią dirbtinis intelektas iš tikrųjų gali pakeisti. Dirbtinio intelekto sukurti vaizdo įrašai atrodo banalūs, dirbtinės nuotraukos – siurrealistinės; teismo dokumentuose gali būti gausu karjerą žlugdančių straipsnių.
Bet dirbtinio intelekto sukurtas kodas? Jei jis praeis testus ir veiks, jis bus vertas tiek pat, kiek žmonės gauna 200 000 USD ar daugiau per metus už kūrimą.
Galite įsivaizduoti, kad tai sukeltų nerimą ir demoralizuotų programuotojus. Tačiau praėjusį rudenį ir žiemą kalbėjausi su daugybe kūrėjų, ir dauguma jų keistai džiaugėsi savo naujomis galiomis.
„Kalbame apie 10–20 – net 100 – kartų produktyvesnius, nei kada nors buvau per savo karjerą“, – man sakė Steve'as Yegge'as, patyręs programuotojas, sukūręs savo įrankį kodavimo agentų spiečių paleidimui. „Atrodo, lyg visą gyvenimą būtume ėję“, – sako jis, – „bet dabar jiems buvo suteikta galimybė tai padaryti, – ir tai greita kaip [keiksmažodis]“. Tačiau, kaip ir daugelis jo kolegų, Yegge'as negali iki galo suprasti, ką tai reiškia jo profesijos ateičiai. Dešimtmečius būti programinės įrangos kūrėju reiškė įvaldyti programavimo kalbas, tačiau dabar pati kalbos technologija apverčia patį darbo pobūdį.
Programinės įrangos kūrėjų entuziazmas dėl generatyvinio dirbtinio intelekto smarkiai skiriasi nuo to, ką kiti amerikiečiai mano apie didelių kalbų modelių poveikį. Apklausos rodo, kad dauguma yra neutralūs arba skeptiški; kūrybingi žmonės dažnai būna įsiutę. „Tačiau jei programuotojai yra optimistiškesni, tai yra todėl, kad jų susidūrimai su dirbtiniu intelektu yra visiškai priešingi tam, kas vyksta daugelyje kitų profesijų“, – sako Anilas Dashas, mano draugas, ilgametis programuotojas ir technologijų vadovas. „Priežastis, kodėl technologijų specialistai apskritai – o ypač programuotojai – LLM laipsnius mato kitaip nei visi kiti, yra ta, kad kūrybinėse disciplinose LLM laipsniai pašalina sielingiausias žmogiškąsias darbo dalis ir palieka vargą jums“, – sako Dashas.
„O programavimo srityje LLM laipsniai pašalina vargą ir palieka žmogiškąją, sielingąją dalį jums.“
Kodavimas istoriškai buvo varginantis. Filmuose programuotojai susijaudinę rašo kodą spausdinimo greičiu. Iš tikrųjų programinės įrangos rašymas visada buvo kankinančiai lėtas ir varginantis užsiėmimas. Parašote kelias kodo eilutes, vieną „funkciją“, kuri atlieka vieną mažą dalyką, o tada pastebite, kad padarėte kokią nors nemalonią klaidą, pavyzdžiui, praleidote vieną dvitaškį. Kadangi įmonės „kodo bazė“ – kiekviena per daugelį metų kaupiama kodo eilutė programinėje įrangoje – didėja ir apima dešimtis ar tūkstančius tarpusavyje sąveikaujančių funkcijų, galite valandų valandas, dienas ar savaites rautis plaukus bandydami išsiaiškinti, kurios mažos klaidos viską sustabdo. Galbūt jūsų eilutė sugadino tai, ką jūsų kolega koduoja per dvi darbo kabinas.
Dešimtmečius kompiuterių inžinieriai bandė automatizuoti šį vargą. Šioje srityje kiekvienas žingsnis šia kryptimi vadinamas „abstrakcijos sluoksnio pridėjimu“: jei dažnai pastebite, kad ką nors darote žingsnis po žingsnio varginančiu būdu, jūs tai automatizuojate.
Pavyzdžiui, viena ankstyvųjų kompiuterių kalbų buvo „Assembly“, ir ją buvo nepaprastai sunku rašyti. Kompiuteriai turėjo labai mažai atminties, todėl programuotojai turėjo ją efektyviai naudoti, kruopščiai įdėdami kiekvieną duomenų bitą į vietą ir tada mintyse jį sekdami. Net ir paprastiems skaičiavimams reikėjo laipsniško, kruopštaus požiūrio. Tarkime, norite parašyti kodą, kuris apskaičiuotų 5 procentų palūkanas už 10 000 USD per 10 metų. Septintajame dešimtmetyje tam būtų reikėję galbūt devynių gana neaiškių „Assembly“ eilučių: „VAL, FLDECML 10000.0“, kad pradinė suma būtų nustatyta ties 10 000 USD, „CLA VAL“, kad suma būtų įkelta į procesorių, „FAD ZERO“, kad kompiuteriui būtų nurodyta, jog dirbate su skaičiais su dešimtainiais taškais ir taip toliau.
Iki devintojo ir dešimtojo dešimtmečių, kompiuteriams tampant galingesniems, inžinieriai sugebėjo sukurti kalbas, kurios pasirūpino visu atminties valdymu už jus, o įprastus klausimus pavertė paprastomis komandomis. Python programuotojas gali atlikti tą patį skaičiavimą labai paprastai: „palūkanos = 10000 * (1,05 ** 10).“ Ta viena eilutė nurodo kompiuteriui padauginti 10 000 iš palūkanų normos per 10 metų ir išsaugoti rezultatą kintamajame, pavadintame „palūkanos“. Programuotojams nebereikia galvoti, kur kompiuterio atmintyje saugomi visi duomenys; Python tai padaro už juos. Kitaip tariant, tai abstrakcijos sluoksnis ant viso to sudėtingo atminties darbo. Rašyti šia kalba yra nepaprastai lengviau.
2000-aisiais ir 2010-aisiais programuotojai vis labiau abstrahavo nereikalingą darbą. Beveik kiekvieną kartą, kai susidurdavo su sudėtinga užduotimi, jie parašydavo kodą, kad ją automatizuotų, o tada – labai dažnai – paversdavo jį atvirojo kodo, atiduodami naudoti kitiems. Štai pavyzdys: kaip programuotojas mėgėjas, kartais noriu automatiškai „nuskaityti“ tekstą iš svetainės. Pats niekada nerašiau kodo, kad tai daryčiau; tiesiog naudoju „Beautiful Soup“ – laisvai prieinamą tūkstančių eilučių „Python“ kodo paketą, kuris valdo visą sudėtingumą. Man net nereikia suprasti, kaip veikia „Beautiful Soup“. Jis tiesiog suteikia man paprastas, dažniausiai vienos eilutės „Python“ komandas, kurios – švilpimas – nuskaito ir analizuoja svetainės tekstą. Nemaža dalis programinės įrangos kuriama būtent tokiu būdu: kūrėjai sujungia dideles krūvas kodo, kurį parašė kažkas kitas.
Tačiau su dirbtiniu intelektu programuotojai pakyla į dar aukštesnį abstrakcijos lygį. Jie įprasta kalba aprašo, ką programa turėtų daryti, o agentai tą idėją išverčia – daug žmogaus ketinimų – į kodą. Programinės įrangos rašymas nebereiškia mintyse žongliruoti kalbos, pavyzdžiui, „Python“, „JavaScript“ ar „Rust“, niuansais. Kodavimas nebereikia sugadinti algoritmo ir tada bandyti išsiaiškinti, kur slypi klaida. Ši dalis taip pat buvo abstrahuota.
Taigi, kas tiksliai liko? Arba, kaip sakė Borisas Černy, „Claude Code“ vadovas, kai sausio mėnesį susitikome „Anthropic“ būstinėje: „Kas yra skaičiavimas – kas yra kodavimas?“ Tada jis pridūrė: „Galima gana greitai tapti gana filosofiška.“
Jo atsakymas atkartojo tai, ką girdėjau iš beveik kiekvieno kūrėjo, su kuriuo kalbėjau: programuotojas dabar labiau panašus į architektą nei į statybininką. Kūrėjai, naudojantys dirbtinį intelektą, sutelkia dėmesį į bendrą programinės įrangos formą, į tai, kaip jos funkcijos ir aspektai veikia kartu. Kadangi agentai gali taip greitai sukurti veikiantį kodą, jų žmonės prižiūrėtojai gali eksperimentuoti, išbandyti įvairius dalykus, kad pamatytų, kas veikia, ir atmesti, kas neveikia. Keletas programuotojų man sakė, kad jautėsi šiek tiek panašūs į Steve'ą Jobsą, kuris garsėjo tuo, kad liepė savo darbuotojams kurti prototipus, kad galėtų su jais susitvarkyti ir nuspręsti, kas jam atrodo tinkama. Programuotojo darbas dabar labiau vertina nei kuria.
Pats Cherny išgyveno visus abstrakcijos sluoksnius: paauglystėje Kalifornijoje jis pats išmoko šiek tiek Assembly, kad galėtų parašyti programą, kuri automatiškai išspręstų matematikos namų darbus jo skaičiuotuve. Šiandien jis tiesiog išsitraukia telefoną ir padiktuoja Claude'ui, ką nori, kad DI agentas atliktų; savotiškoje Ouroboro kilpoje 100 procentų Cherny indėlio į Claude'o kodo bazę dabar rašo visiškai Claude'as.
Kol mes kalbėjomės, jo telefonas stovėjo ant stalo priešais mus, ir po valandos jis man parodė ekraną: 10 Claude'o agentų keitė kodo bazę. „Aš neparašiau nė vienos eilutės ranka ir esu kaip produktyviausias programuotojas komandoje“, – sakė jis. „Tai nežemiškas intelektas, su kuriuo mokomės dirbti.“
Daugumai programuotojų, kuriuos sutikau, išmokti dirbti su DI reiškia išmokti kalbėtis su DI. Man tai pasirodė netikėtas šio naujojo amžiaus paradoksas, nes tradiciškai programavimas buvo intravertų, kurie darbe mieliau kalbėdavosi su kitais kuo mažiau, rojus. Tačiau dabar visas jų darbas apima nuolatinį bendravimą su šia nežemiška gyvybės forma.
Nors aprašymas ir kalbėjimas dabar yra didelė programinės įrangos kūrėjo darbo dalis, kalbėjimas vis tiek išlieka gana sudėtingas ir labai techniškas. Mėgėjas to negali padaryti. Negalite tiesiog pasakyti agentui: „Sukurkite man sėkmingo startuolio kodą“. Agentai geriausiai dirba, kai jų prašoma atlikti po vieną žingsnį; prašykite per daug ir jie gali prarasti siužetą. Aayush Naik, kurio startuolis San Franciske naudoja Claude Code, sako, kad iliuzija įsivaizduoti, kad jūsų DI agentas sugeneruos visą projektą vienu metu, „Didžiojo sprogimo“ akimirką. Taip, galite priversti jį parašyti 5000 kodo eilučių, bet tada, pasak jo, „jūs jį išbandote ir niekas neveikia“. Visi programinės įrangos kūrėjai teigia, kad būtent čia vis dar reikalingi jų mokymai ir patirtis: žinoti, kaip turėtų būti struktūrizuota didelė kodų bazė, kaip sukurti sistemą, kad ji būtų patikima, ir kaip išsiaiškinti, ar agentas veikia neatsargiai.
Atsižvelgiant į dirbtinio intelekto polinkį haliucinuoti, gali atrodyti neapgalvota leisti agentams siųsti kodą į realų pasaulį. Tačiau programinės įrangos kūrėjai pabrėžia, kad programavimas turi unikalią savybę: jie gali susieti savo dirbtinį intelektą su realybe, nes gali reikalauti, kad agentai patikrintų kodą, ar jis veikia tinkamai. „Manau, kad programuotojams lengva“, – sako Simonas Willisonas, technologijų verslininkas ir įtakingas tinklaraštininkas apie tai, kaip programuoti naudojant dirbtinį intelektą. „Jei esi teisininkas, esi įstrigus, tiesa?“ Nėra jokio būdo automatiškai patikrinti dirbtinio intelekto parašytą teisinį dokumentą dėl haliucinacijų – išskyrus visišką pažeminimą teisme.
Kai aplankiau Dimą Yanovskį jo mažame San Francisko bute, jis taip pat intensyviai šnekučiavosi su Claude'u. Jis – greitai besišypsantis 25 metų programuotojas iš „Prox“ – įmonės, kuri naudoja dirbtinį intelektą elektroninės prekybos įmonėms. Ją jis įkūrė praėjusiais metais kartu su savo vaikystės draugu Gregory Makodzeba. Abu jie užaugo Ukrainoje, kur jų šeimos vertėsi laivybos verslu.
Kol jis diktavo Claude'ui komandas, keli agentai buvo užsiėmę darbu prie jo nešiojamojo kompiuterio, kuris stovėjo ant mažo stalo. Vienu metu vienas iš jų pradėjo haliucinuoti, tvirtindamas, kad egzistuoja duomenų lentelė, kurios akivaizdžiai nėra. „Ką?“ – suraukęs antakius paklausė Janovskis. Jis paniekinamai papeikė klaviatūra: „Kas tau sakė, kad bus ši lentelė? Aš jos nesukūriau.“
Claude'as atsakė kvailoku ir irzliu tonu: „Tu teisus! Neturėčiau manyti, kad lentelės egzistuoja.“ Jis pradėjo perdaryti darbą.
Net ir retkarčiais grįždamas atgal, Claude'as programuoja daug greičiau nei Yanovsky, kad jam sunku įvertinti, kiek greičiau dabar gali atlikti savo darbą. „Galbūt 20 kartų?“ – paklausė jis. Tai, kas anksčiau užtrukdavo savaites, dabar trunka valandas. Kiekvienas jo pažįstamas Silicio slėnio įkūrėjas patiria tą patį. J ei norite greitai sukurti įmonę, niekas to nebedaro rankomis.
Tai, kad dirbtinis intelektas gali taip smarkiai padidinti programuotojų produktyvumą, buvo vienas iš labiausiai aptarinėjamų temų šioje srityje. Aš pats tai pastebėjau: praėjusią savaitę man reikėjo žiniatinklio įrankio, kuris padėtų sutvarkyti netvarkingus transkriptus, ir aš panaudojau dirbtinį intelektą, kad jį sukurčiau per maždaug 10 minučių. Vienam tai būtų užtrukę valandą, galbūt ilgiau.
Tačiau programinės įrangos startuoliai – arba tokie asmenys kaip aš, kurie kuria savo mažas programėles pagal savo stilių – yra ypatingas atvejis. Jie apima tai, kas pramonėje vadinama „žalio lauko“ kodavimu, kai nėra jokių iš anksto egzistuojančių kodo eilučių, su kuriomis reikėtų dirbti. Kuriama visiškai nauja kodo bazė nuo nulio.
Didžioji dauguma programinės įrangos kūrėjų nedirba žalio lauko kontekstuose. Jie yra „rudieji laukai“, kuriuos samdo brandžios įmonės, kur kodas buvo parašytas prieš daugelį metų (ar dešimtmečius) ir jau siekia milijonus ar milijardus eilučių. Greitas naujų funkcijų pridėjimas paprastai yra siaubinga idėja – jos gali netyčia konfliktuoti su kita kodo dalimi ir sugadinti tai, kuo pasitiki milijonai klientų. Daugumoje brandžių programinės įrangos įmonių programuotojai istoriškai praleisdavo nedidelę savo laiko dalį – kartais vos daugiau nei valandą per dieną – rašydami kodą. Likusi dalis buvo planavimas, prioritetų nustatymas ir susitikimai, skirti aptarti pažangą.
Tai yra sėkmės prakeiksmas ir kodėl didelės, įsitvirtinusios programinės įrangos įmonės gali lėčiau pristatyti atnaujinimus nei jaunesnės įmonės. Prieš išleidžiant naują programuotojo darbą, kolegos ir vadovai paprastai jį „peržiūri“, atidžiai peržiūrėdami jo eilutes ir bet kokio testavimo rezultatus. Jei norite įvertinti, kiek produktyvesnius programuotojus tokiose brandžiose technologijų įmonėse kaip „Google“ padaro dirbtinis intelektas, tai yra 10 procentų, sakė „Google“ generalinis direktorius Sundaras Pichai.
Tai yra „inžinerinio greičio“ padidėjimas, kurį „Google“ pastebėjo – kiek greičiau gali dirbti daugiau nei 100 000 jos programinės įrangos kūrėjų. Ir tie 10 procentų yra vidutinis rodiklis įmonės viduje, – man sakė Ryanas Salva, vyresnysis įmonės produktų direktorius. Kai kurie darbai, pavyzdžiui, paprasto testo rašymas, dabar atliekami dešimtis kartų greičiau. Svarbūs pakeitimai atliekami lėtiau. Startuoliuose, kurių įkūrėjai kalbėjau, beveik 100 procentų kodo rašo dirbtinis intelektas, tačiau „Google“ šis skaičius nesiekia 50 procentų.
Apsilankiau pas Salvą Saniveile, Kalifornijoje, kad galėčiau stebėti, kaip jis man parodė, kaip teisės magistro laipsniai buvo integruoti į „Google“ darbo eigą. Jis pažymėjo, kad įmonei, turinčiai milijardus kodo eilučių, dirbtinio intelekto vertė slypi ne tiek naujo kodo rašyme, kiek esamų eilučių išaiškinime. Programuotojai jį naudos analizuodami ir aiškindami, ką daro „išsiplėtusios“ kodo dalys, kad galėtų nuspręsti, kaip jį patobulinti ar pakeisti.
„Dirbtinis intelektas daug geriau geba įsiskverbti į nepažįstamą kodo bazės dalį ir suprasti, kas vyksta“, – sakė jis man. Tai taip pat padeda kūrėjams dirbti kalbomis, kurių jie gali būti nelabai gerai išmanantys. Todėl Salvos komandos kūrėjai formuojasi į mažesnes grupes: prieš metus joms galėjo reikėti 30 žmonių, kurių kiekvienas turėjo savo specialybę. Dabar grupei tereikia trijų–šešių žmonių, todėl jie gali dirbti vikriau, todėl „galime įveikti daug daugiau savo darbų“, – sakė Salva.
Salva atidarė savo kodo redaktorių – iš esmės teksto rengyklę kodui rašyti – kad parodytų, ką reiškia dirbti kartu su „Gemini“, „Google“ teisės magistro laipsnį turinčia įmone. Pirmaisiais keleriais dirbtinio intelekto bumo metais, pasak jo, tai buvo „tai, ką aš apibūdinčiau kaip „žmogaus dalyvavimą procese“.“ Dirbtinis intelektas padėjo, bet nedirbo savarankiškai. Kol jis rašė, Gemini analizavo jam kodo dalį, paaiškindamas, ar ji buvo visiškai išbandyta, ar ne. Kai buvo pasiūlyta keletas naujų eilučių, jis pats turėjo jas priimti.
Tačiau „Google“ medžiagų apykaita pamažu greitėja, ir „Gemini“ pats rašo daug daugiau kodo. Salva man parodė pavyzdį. Jis labai troško išspręsti problemą, kuria skundėsi „Google“ programuotojai: kartais jie prisijungdavo prie „Gemini“ „komandinės eilutės sąsajos“ (arba CLI) iš skirtingų paskyrų ir nebuvo lengva pamatyti, kurią paskyrą jie naudoja.
Jis įvedė užklausą „Gemini“: „Dirbant „Gemini“ CLI viduje, būtų malonu turėti komandą, leidžiančią vartotojams matyti savo prisijungusią tapatybę.“ Dirbtinis intelektas kelias minutes apdorojo užklausą, tada pasakė Salvai, kaip ketina ją įvykdyti. Salva davė savo sutikimą, o „Gemini“ dirbo fone. Kai po 10 minučių jis vėl patikrino, kodas buvo parašytas, o „Gemini“ jį testavo dėl klaidų. Tada Salva suprato, kad dirbtinis intelektas tapo šiek tiek pernelyg entuziastingas.
„O, Jėzau“, – pasakė jis. „Atlikta 8000 testų“ – daug daugiau nei buvo būtina. Tačiau maždaug po 15 minučių testai buvo baigti ir Salva išbandė naująją funkciją. Ir štai, kodas veikė, teisingai rodydamas jo prisijungtą paskyrą. „Ne taip jau blogai“, – pasakė jis. Tokios demonstracinės versijos sukūrimas buvo tik pirmas žingsnis; prieš tai, kai ji galėjo būti įdiegta į „Google“ kodo bazę, jam reikėtų atlikti kelis kodo peržiūros, perrašymo ir testavimo etapus.
„Kaip inžinieriui, man mažiau rūpi, kad modeliai iš tikrųjų gerai pateiktų teisingą rezultatą iš pirmo karto“, – sakė jis. „Man daug svarbiau, kad būtų įdiegti patvirtinimo žingsniai, kad galiausiai būtų gautas tobulas arba teisingas atsakymas.“
10 procentų „Google“ „greičio“ padidėjimas gali atrodyti nepakankamas, pažymėjo Salva, atsižvelgiant į ažiotažą dėl dirbtinio intelekto. „Mes kartu – tiek programinės įrangos pramonėje, tiek žiniasklaidoje – o Dieve, sukūrėme ažiotažą“, – sakė jis man, kai pirmą kartą kalbėjomės praėjusią vasarą Niujorke. Tačiau realybė jam buvo pakankamai įspūdinga. „Turėtume džiaugtis, kai visos įmonės efektyvumas padidės 10 procentų. Tai visiška beprotybė!“
Senose ir didžiulėse apleistų teritorijų įmonėse, kuriose pastangos sutelktos į esamų sistemų veikimą, daugelis programuotojų dirba kaip skaitmeniniai santechnikai, taisydami nuotėkius, kurie atsiranda bet kuriuo paros metu. Tuo savo akimis įsitikinau Sietle susitikęs su Davidu Yanaceku, vyresniuoju „AWS Agentic A.I.“ vyriausiuoju inžinieriumi. „AWS“ reiškia „Amazon Web Services“ – serverių debesį, kuris yra milijonų įmonių skaitmeninis pagrindas. Jei serveris sugenda, galite nebegalėti žiūrėti „Netflix“, iškviesti „Uber“ ar žaisti „Fortnite“.
Po Yanaceko monitoriumi stovėjo senovinis pranešimų gaviklis. Metų metus „Amazon“ jį naudodavo, kad pažadintų jį nakties metu; šiomis dienomis jis gauna įspėjimą išmaniajame telefone. Kad ir kokie įrenginiai būtų naudojami, tikimasi, kad kažkas kuo greičiau viską sutvarkys.
„Serverio operacijos erzina“, – sakė Yanacekas, lieknas 42 metų vyras su žila barzda ir nervingu intensyvumu. „Man tai iš tikrųjų patinka! Bet tai taip pat erzina, ir tai nesibaigia.“ Jo komanda jau seniai kuria automatizavimą, kad pagreitintų problemų diagnostikos tempą. Tačiau teisės magistro (LLM) specialistai pasiūlė naujų, galingų sprendimų, sakė jis, nes dirbtinio intelekto (DI) sklandus tiek žmonių kalbos, tiek programavimo mokėjimas reiškia, kad jis gali interpretuoti klaidų ataskaitas iš sugedusių sistemų ir peržiūrėti jų kodą. Kartais jis gali turėti paruoštą pataisą dar prieš tai, kai apsiblausęs darbuotojas visiškai pabunda.
Yanacekas pažvelgė į savo ekraną ir pastebėjo, kad prieš 11 minučių demonstracinė programa pateikė klaidos įspėjimą – o „Amazon“ DI jau buvo nustatęs, kas nutiko, ir parašė trumpą ataskaitą. Agentas atrado, kad kodo pakeitimas, matyt, pridėjo naują laiko žymos lauką, tačiau kita kodo bazės dalis nesitikėjo, kad tas naujas laukas ten bus. Rezultatas buvo „netikėto lauko“ klaida.
Yanacekas žvilgtelėjo į DI siūlomą pataisą, akimirką pagalvojo, tada paspaudė „Enter“, kad ją patvirtintų.
DDI prireikė maždaug aštuonių minučių, kad viską išsiaiškintų, sakė jis man. „Kol atidariau nešiojamąjį kompiuterį, jis jau buvo paruoštas.“ Vienas klientas neseniai jam papasakojo, kad „Amazon“ dirbtinio intelekto agentas problemą išsprendė vos per 15 minučių; kai panaši problema iškilo prieš kelis mėnesius, visai inžinierių komandai derinti prireikė aštuonių valandų.
Kituose „Amazon“ sektoriuose apleistų teritorijų inžinieriai dirba peržiūrėdami seno kodo segmentus (kartais dešimtmečių senumo), kad jie taptų efektyvesni arba galbūt visiškai perdarytų juos modernesne kalba. Tai labai svarbus, bet kruopštus ir subtilus darbas, tarsi širdies transplantacija.
Šios skaitmeninės renovacijos taip pat paspartėjo. McLaren Stanley, vyresnysis „Amazon“ vyriausiasis inžinierius, neseniai modernizavo kodo dalį, kurią pats parašė prieš kelerius metus. Originalios versijos sukūrimas užtruko mėnesį; šį kartą, padedamas „Amazon“ vidinio dirbtinio intelekto, jis darbą atliko per rytą. Jo komanda panašiai perdarė ir kitas dideles kodo dalis. Stanley man pasakojo, kad vienas iš pagrindinių dirbtinio intelekto privalumų yra tas, kad jis leidžia lengviau išbandyti naujas idėjas. „Dalykai, kuriuos visada norėjau daryti, dabar užtenka šešių minučių pokalbio ir „Pirmyn, padaryk tai“, – sako jis.
Jau dešimtmečius rašau apie kūrėjus, ir jie visada žavėjosi jauduliu, kurį sukelia mašinos prikėlimas gyvybei naudojant slaptas komandas. Žinoma, darbas galėjo būti kosmiškai varginantis, prireikti valandų ar net savaičių, kad būtų galima ištaisyti vieną klaidą. Tačiau sunkus darbas dar labiau sustiprino džiaugsmą. Kai viskas pagaliau pradėjo veikti, pasitenkinimo pliūpsnis buvo svaiginantis.
Todėl mane nustebino, kiek daug programinės įrangos kūrėjų man sakė, kad džiaugiasi, jog neberašo kodo ranka. Dauguma teigė, kad vis dar jaučia sėkmės smūgį, net ir tada, kai eilutes rašo dirbtinis intelektas. „Man patinka programuoti. Man patinka įsijausti į situaciją. Man patinka galvoti dideles mintis. Tai kūrybinis veiksmas“, – sako Kentas Beckas, ilgametis programinės įrangos pramonės guru, programuojantis nuo 1972 m. Prieš dešimt metų jis beveik nustojo kurti programinę įrangą; jį erzino naujausios kalbos ir programinės įrangos įrankiai. Tačiau teisės magistro (LLM) diplomas jį vėl įkvėpė, ir dabar jis kuria daugiau projektų nei bet kada anksčiau: suasmenintą užrašų darymo programėlę, naujų tipų duomenų bazes. Net ir tai, kad dirbtinio intelekto (DI) rezultatai gali būti nenuspėjami – jei paprašysite jo parašyti kodo fragmentą, jis gali tai padaryti šiek tiek kitaip kiekvieną kartą – „sukelia priklausomybę, tarsi lošimo automatas“.
Keletas programuotojų teigia, kad apgailestavo dėl rankų darbo kūrimo išnykimo. „Tikiu, kad tai gali būti smagu, teikianti pasitenkinimą ir įtraukianti, o kompiuterio darbas atima iš jūsų tai“, – man sakė vienas „Apple“ inžinierius. (Jis paprašė likti neįvardytas, kad nekiltų problemų dėl „Apple“ požiūrio į dirbtinį intelektą kritikos.) Jis tęsė: „Aš to nedariau tam, kad užsidirbčiau daug pinigų ir kilčiau karjeros laiptais. Aš tai dariau, nes tai mano aistra. Nenoriu perduoti šios aistros kitiems.“ Jis taip pat nerimauja, kad dirbtinis intelektas skaido darbo jėgą. Anksčiau, jei kūrėjai įstrigdavo su sunkiai išsprendžiama klaida, jie prašydavo kolegų patarimo; šiandien jie tiesiog kreipiasi į agentus. Tačiau tik keli „Apple“ darbuotojai atvirai pritaria jo niūresnėms pažiūroms, sakė jis.
Koduotojai, kurie vis dar aktyviai vengia dirbtinio intelekto, gali būti mažumoje, tačiau jų pasipriešinimas yra stiprus. Vieniems nepatinka, kiek energijos reikia modeliams apmokyti ir diegti, o kiti prieštarauja tam, kaip juos apmokė technologijų įmonės, grobstančios autorių teisių saugomus kūrinius. Įtariama, kad dėl dirbtinio intelekto spartos įmonės galiausiai turės kalnus prastai parašyto kodo, kuris neveiks gerai. Technologijų vadovai gali naudoti agentus kaip lazdą: nebūkite išdidūs darbe – galėtume jus pakeisti robotu. O kritikai mano, kad kūrėjams siaubinga mintis tapti priklausomiems nuo dirbtinio intelekto, kurį kuria nedidelė technologijų gigantų grupė.
Čikagoje įsikūręs kūrėjas ir technologijų įmonės „Fly.io“ bendraįkūrėjas Thomas Ptacekas matė įnirtingas kovas tarp kūrėjų, kurie myli dirbtinį intelektą, ir tų nedaugelio, kurie jo nekenčia, ir „tai pilietinis karas“, – sakė jis man. Jis yra per vidurį. Jis mano, kad atsisakantys apgaudinėja save, teigdami, kad dirbtinis intelektas neveikia gerai ir kad jis negali veikti gerai. „Tai tarsi būti apšviestam dujų balionu“, – sako jis. Priešininkai yra mažuma, ir „galima stebėti penkis sielvarto etapus“.
Nors jis nėra koks nors Poliana. „LLM laipsniai laimės programavimo srityje, bet nežinau, ką tai reikš mums“, – priduria jis. „Žmonės gali būti teisūs dėl to, kaip tai blogai profesijai, tiesa?“
Tai tikrai gali reikšti siaubingas darbo perspektyvas. Ypač nerimauja nauji informatikos absolventai. Įmonės anksčiau samdydavo jaunesniuosius programuotojus, kad šie atliktų paprastą darbą vyresniems kolegoms, bet kas samdys naujoką, kai vyresnysis inžinierius gali būti dar produktyvesnis su nemirtingų programuotojų vaiduoklių armija?
Silicio slėnis jau išgyveno didžiulę atleidimų bangą. Remiantis Darbo statistikos biuro duomenimis, 2010-aisiais technologijų įmonės agresyviai samdė darbuotojus, konkuruodamos dėl naujų absolventų ir kasmet priimdamos vidutiniškai 74 000 naujų darbuotojų. Pirmaisiais pandemijos metais darbo skelbimų skaičius smarkiai išaugo. Tada įmonės staiga pakeitė kryptį, ir naujų darbo vietų skelbimai žlugo. Pasak Rogerio Lee iš „Layoffs.fyi“ (šis skaičius apima visas darbo vietas technologijų srityje), per pastaruosius ketverius metus buvo atleista daugiau nei 700 000 technologijų srities darbuotojų.
Dauguma technologijų apžvalgininkų teigia, kad dirbtinis intelektas greičiausiai nebuvo šių atleidimų priežastis, nes tuo metu jis dar nebuvo pakankamai geras, kad pakeistų programuotojus. Jų manymu, kiti veiksniai buvo svarbesni: palūkanų normos pakilo, todėl technologijų įmonės prarado lengvo augimo pinigus. Įmonės, kurios per daug samdė darbuotojus, atsisakė šių perteklinių pajėgumų. Kai kurie taip pat įtaria, kad kai Elonas Muskas nusipirko „Twitter“ ir pareiškė, kad atleido 80 procentų savo darbuotojų, kitų įmonių technologijų vadovai tai pastebėjo ir nusprendė, kad galbūt jiems taip pat nereikia tiek daug inžinierių.
Tačiau yra įrodymų, kad dirbtinis intelektas dabar naikina pradinio lygio programuotojų darbo vietas. Praėjusiais metais Erikas Brynjolfssonas, ekonomistas, vadovaujantis Stanfordo skaitmeninės ekonomikos laboratorijai, ir jo kolegos analizavo pramonės šakas pagal jų amžiaus grupę ir tai, kaip lengvai dirbtinis intelektas galėtų atlikti jų darbus. Jis nustatė, kad kompiuterių programuotojų darbas yra vienas labiausiai „dirbtinio intelekto veikiamų“ darbų, o labiausiai nukentėjo jaunesnieji programuotojai. Nuo 2022 m. darbo vietų skaičius 22–25 metų amžiaus žmonėms (kai didžiausia tikimybė pradėti dirbti šioje srityje) sumažėjo 16 procentų, o vyresnių programuotojų darbo vietų skaičius reikšmingo sumažėjimo nepatyrė.
Beveik visi technologijų vadovai, su kuriais kalbėjau, nuo pakrantės gigantų iki mažų regioninių įmonių, man prisiekė, kad dirbtinis intelektas nesutrukdys jiems samdyti patrauklių naujų talentų. Tiesa, kad dirbtinis intelektas padidina esamų kūrėjų produktyvumą, tačiau jiems visada reikia daugiau nuveikti.
„Per daugelį mano darbo „Google“ metų mus visada varžė tai, kad turėjome daug, daug, daug daugiau idėjų, ką norėtume padaryti, nei buvo laiko, energijos ir valandų joms įgyvendinti“, – man sakė Jen Fitzpatrick, bendrovės vyresnioji „Google Core Systems & Experiences“ viceprezidentė. „Niekada nesutikau „Google“ komandos, kuri sakytų: „Žinote, man nebelieka gerų idėjų.“ Atsakymas visada būna: „Dalykų, kuriuos norėčiau nuveikti, sąrašas yra devyniomis myliomis ilgesnis nei tai, ką galime įgyvendinti.“
Keletas kūrėjų iš tikrųjų teigė, kad programinės įrangos darbo vietų skaičius gali išaugti. Neįtikėtinas skaičius mažų įmonių visoje šalyje norėtų turėti savo individualiai sukurtą programinę įrangą, bet niekada nebuvo pakankamai dideli, kad būtų galima pasamdyti, tarkime, penkių žmonių programuotojų komandą, reikalingą jam sukurti. Bet jei galėtumėte pasamdyti vieną dirbtinio intelekto padedamą programuotoją, kuris atliktų tą patį darbą arba net ne visą darbo dieną? Tai, kaip pažymi Brynjolfssonas, yra „Jevonso paradokso“ versija: kai kažkas tampa pigiau, mes ne tik pasiimame sutaupytus pinigus – mes darome daugiau. Nors taip pat gali būti, kad šie programinės įrangos darbai nebus taip gerai apmokami kaip anksčiau, nes, žinoma, darbai nebėra tokie sunkūs, kaip anksčiau. Įgyti įgūdžių nėra taip sudėtinga.
Tačiau šis įgūdžių klausimas gali vesti nerimą keliančiomis kryptimis, kai jį stengiatės išsiaiškinti.
Daugelis karjeros viduryje esančių programuotojų man sakė, kad jautėsi užtikrintai naudodami dirbtinį intelektą, nes dešimtmečius ugdė tvirtą supratimą, kaip atrodo geras, efektyvus kodas. Tai leidžia jiems tiksliai paaiškinti agentams, ko jie nori, ir leidžia greitai pastebėti, kada agentai sukūrė ką nors neefektyvaus ar aplaidaus.
Bet kas nutiks kitai kartai? Ar jie vis dar išsiugdys tą intuityvų kodo pojūtį? Jei jūsų darbas dabar yra ne rašymas, o vertinimas, kaip naujokai išmoks vertinti?
Kai kurie nauji kūrėjai man sakė, kad jaučia, jog jų įgūdžiai silpnėja. Pia Torain yra programinės įrangos inžinierė „Point Health A.I.“ įmonėje, ir ji buvo dirbusi tik dvejus metus, kai 2024 m. vasarą įmonė jai patarė pradėti naudoti „Github“ kodo rašymo įrankį „Copilot“. „Supratau, kad vos keturis mėnesius, kai kasdien rašydavau šimtus, 500 raginimų, pradėjau prarasti gebėjimą programuoti“, – sako ji. Kurį laiką ji nustojo juos naudoti; šiomis dienomis ji rašo dirbtinis intelektas, bet ji atidžiai skaito išvestį, įsitikindama, kad suvokia, kaip veikia kodas. „Jei jo nenaudosite“, – man pasakė Torain, – „jį prarasite“.
„Point Health“ įkūrėja Rachel Gollub mažiau nerimauja. Ji beveik 40 metų dirba programinės įrangos kūrėja, ir dešimtmečius programuotojai nerimavo, kad šis amatas neišvengiamai pasmerktas žlugti. Kai atsirado tokios kalbos kaip Python ir JavaScript, jos abstrahavo poreikį galvoti apie atminties valdymą, todėl kūrėjams šių įgūdžių nebereikėjo. Senosios mokyklos programuotojai aimanavo: „Tai ne tikras programavimas, nebent pats valdai savo atmintį!“
„Žmonės visi galvojo: „Prarandi visus savo gebėjimus programuoti“, – man pasakojo Gollub. Tačiau daugybė didelių, patikimų įmonių, pavyzdžiui, „Dropbox“, labai rėmėsi naujesnėmis kalbomis, tokiomis kaip Python, ir jos puikiai veikė. Atminties valdymas šiandien yra labai svarbus tik daliai programavimo užduočių, pavyzdžiui, įrenginiuose, kurie neturi daug skaičiavimo galios. Didžioji dauguma programinės įrangos pramonės perėjo į kitą etapą. Gollub tikisi, kad tas pats perėjimas įvyks ir dirbtinio intelekto įrankiams tapus norma.
Kodo rašymas dabar yra toks abstraktus, kad beveik kiekvienas galėtų nulaužti teisės magistro laipsnį ir aprašyti programėlę. Galbūt ne sudėtingą. Bet jei jiems reikėtų paprastos programinės įrangos asmeniniam naudojimui? Dirbtinis intelektas, tikriausiai, galėtų jį sukurti.
Tai neseniai ir padarė Maxime Cuisy. Jis yra gamybos vadovas spaustuvėje Paryžiuje, kuri leidžia fotoknygas aukštos klasės klientams, įskaitant „Dior“ ir „Louis Vuitton“. Kalbant apie išsilavinimą, jis yra klasikinis laisvųjų menų absolventas, baigęs magistro darbą apie prancūzų grafinį romaną. Jis nieko neišmano apie programavimą ir net nekreipė daug dėmesio į dirbtinį intelektą, kol prieš porą metų, pasak jo, „ChatGPT“ „iš esmės padėjo man ir mano žmonai išgelbėti mūsų katę“.
Jie gavo du naujus kačiukus, ir abu taip susirgo, kad vienas staiga nugaišo. Veterinaras jiems pasakė, kad likusi katė serga nepagydoma vėžio forma. Cuisy manė, kad tai mažai tikėtina, todėl paaiškino katės simptomus „ChatGPT“, o tai leido manyti, kad tai infekcija. Tai įkvėpė jį atlikti daugiau tyrimų ir lėmė kačių infekcinio peritonito diagnozę. Po dienos katė pasveiko.
Darbe Cuisy netrukus susidūrė su kita problema. Įmonė buvo įsigijusi naujus spausdintuvus, tačiau susidūrė su problemomis su esama programine įranga: norint, kad nuotraukos būtų rodomos teisingai, dabar jiems teko kruopščiai koreguoti paraštes. Įmonė nėra pakankamai didelė, kad turėtų kūrėjų komandą, kuri galėtų sukurti individualią programinę įrangą, kuri automatizuotų šį procesą. Cuisy nusprendė pats pabandyti sukurti vibracinį kodavimą, naudodamas „Codex“ – „OpenAI“ kodo rašymo įrankį.
„Aš iš esmės pasakiau: „Man reikia programėlės, kuri tai atliktų, ir tai yra formato koeficientas, kurį spausdintuvas gali priimti“, – sako jis. Jis kelias valandas kruopščiai aprašė, kaip reikės koreguoti failus, ir dienos pabaigoje „ChatGPT“ sukūrė programėlę, kuri veikia „Mac“ ir „Windows“ operacinėse sistemose. Darbuotojai ją naudoja iki 2000 vaizdų apdorojimui vienu kadru. Jo viršininkas patenkintas. Cuisy neįsivaizduoja, kaip kodas iš tikrųjų veikia. Jis parašytas Python kalba, kuri lygiai taip pat galėtų būti senovės graikų kalba.
Štai kultūrinis šalutinis poveikis, kai programavimas tampa pokalbių kalba: programuotojų ir paprastų žmonių sferos, dešimtmečius atskirtos paslaptingų žinių vandenynu, vis labiau artėja. Jei kodavimo DI ir toliau tobulės, C kalba kalbančių žmonių greičiausiai bus daug daugiau. Tai Jevonso paradoksas praktikoje. „Galbūt jie nevadina savęs programinės įrangos inžinieriais, bet kuria kodą“, – sako Brynjolfssonas. „Daugelis žmonių turi idėjų.“ Pasaulį užplūsta daug daugiau programinės įrangos nei bet kada anksčiau – rašoma asmenų, skirtų asmenims.
Kaip viskas klostysis patiems profesionaliems programuotojams, dar neaišku. Tačiau jų entuziazmo ir nerimo derinys gali būti pavyzdys kitų sričių darbuotojams.
Visur, kur darbas susijęs su kalba ir informacija, šis naujas įgūdžių derinys – iš dalies retorika, iš dalies sisteminis mąstymas, iš dalies skepticizmas dėl roboto rezultatų – gali tapti baltųjų apykaklių darbo audiniu.
Įgūdžiai, kurie atrodė patys techniškiausi ir bauginantys, gali pasirodyti esantys lengviausiai automatizuojami. Socialiniai ir vaizduotės įgūdžiai iškyla į pirmą planą. Rašysime mažiau pirmųjų juodraščių ir daugiau vertinsime, galbūt jausdamiesi neramūs dėl to, kaip gerai vis dar galime vertinti. Abstrakcija gali ateiti pas mus visus.“ [1]
1. Coding After Coders: The End of Computer Programming as We Know It. Thompson, Clive. New York Times (Online) New York Times Company. Mar 12, 2026.
Komentarų nėra:
Rašyti komentarą