
Ieskats Devina darbplūsmā: rīku izmantošana, plānošana un autonomija
Ievads
Devins (no Cognition AI) ir jauns autonoms AI programmatūras inženieris, kas var plānot programmatūras izstrādes uzdevumus un lielā mērā veikt tos patstāvīgi. Tas strādā ar kodu projektiem no sākuma līdz beigām, izmantojot rīkus, piemēram, koda redaktoru, komandrindas čaulu un tīmekļa pārlūku, lai pētītu, rakstītu, testētu un izvietotu kodu. Demonstrācijās un presē Devins ir parādīts, skenējot kodu bāzi, ģenerējot plānu, rediģējot failus, veicot testus un veidojot izvilkšanas pieprasījumus ar pārsteidzoši maz cilvēka iejaukšanās (medium.com) (www.linkedin.com). Cognition apgalvo, ka Devins var tikt galā ar “sarežģītiem inženierijas uzdevumiem, kas prasa tūkstošiem lēmumu,” katrā posmā atceroties kontekstu un pat mācoties no kļūdām (medium.com) (www.linkedin.com). Tāpēc mēs izpētām Devina dizaina un darbplūsmas publiskās detaļas. Tas ietver to, kā Devins sadala uzdevumus (tā plānošanas process), kā tas burtiski darbojas izstrādes vidē (redaktors, terminālis, pārlūks), kā tas saglabā atmiņu vai kontekstu kodēšanas sesijas laikā, kā tas pats sevi labo un atkārto, un kādas drošības barjeras vai pasākumus tas izmanto. Mēs arī atzīmējam, kas netiek atklāts – piemēram, precīzas modeļa iekšējās detaļas netiek atklātas, tāpēc dažas kopienas diskusijas balstās uz izglītotu minējumu.
Uzdevumu plānošana un sadalīšana
Kad izstrādātājs dod Devin jaunu uzdevumu, pirmais solis ir plānot, kādus failus mainīt un kādā secībā. Cognition piezīmēs paskaidrots, ka Devins izmanto apakšaģentu “plānošanas režīmā”, kura uzdevums ir noskaidrot, kuri faili repozitorijā ir attiecināmi uz uzdevumu (medium.com) (docs.devin.ai). Praksē Devins “izpēta” repozitoriju un ierosina plānu pirms jebkāda koda rakstīšanas (docs.devin.ai) (docs.devin.ai). Sarežģītiem uzdevumiem izstrādātāji redz šo plānu un var to apstiprināt vai pielāgot; ja ir iespējots Agency režīms, Devins automātiski turpinās ar savu plānu, negaidot apstiprinājumu (docs.devin.ai) (docs.devin.ai).
Aizkulisēs Cognition apmācīja šo plānošanas aģentu, izmantojot pastiprināto mācīšanos. Vienā analīzē komanda apraksta, kā plānotājam tika doti tikai tikai lasīšanas rīki (piemēram, ls, grep vai read_file) un tas tika apbalvots, ja tas pareizi prognozēja to failu kopumu, kurus rediģētu cilvēks (medium.com) (medium.com). Rezultāts: Devina plānotājs iemācās veikt paralēlus failu sistēmas vaicājumus (piemēram, vienlaikus palaist ls un grep dažādos direktorijos) un pēc tam sašaurināt daudzsološās norādes (medium.com). Apmācības sods veicina efektivitāti, tāpēc aģents izvairās no brutālas spēka (piemēram, nebeidzami meklējot visā repozitorijā) un tā vietā ātri “apliecina” atrasto mērķi (medium.com). Tas nozīmē, ka Devina plānošana ir balstīta uz datiem: tas ir iemācījies vispārīgas kodu bāzes navigācijas stratēģijas (kā Cognition norāda, modelis tika apmācīts uz daudziem repozitorijiem un lietotāju vaicājumiem) (medium.com) (medium.com).
Lietotāja līmenī jūs redzat rezultātu kā soļu izklāstu. Piemēram, ar jaunu funkcijas pieprasījumu Devins ieteiks kaut ko līdzīgu: “mainīt failu A, lai ieviestu X, pievienot testus failā B, tad atjaunināt konfigurāciju C.” Demonstrācijās, ja lietotājs aizmirsa norādīt dažas detaļas, Devina plāna solis bieži to uztver un prasa precizējumus. Vienā demonstrācijā asistents automātiski pievienoja GitHub konta konfigurāciju plānam, pat ja lietotājs to nebija skaidri minējis (www.developersdigest.tech) (www.linkedin.com). Šie plānošanas soļi (jautājumu uzdošana, uzdevumu uzskaitīšana, failu kartēšana) tiek veikti Devina dialoga interfeisā pirms jebkāda koda rakstīšanas. Ja lietotājs piekrīt vai ir ieslēgta automātiskā apstiprināšana, Devins pāriet pie izpildes.
Darbs izstrādes vidē: redaktors, terminālis un pārlūks
Devins darbojas izolētā izstrādātāja vidē. Cognition materiālos aprakstīts, ka tam ir pazīstams izstrādātāja rīku komplekts: čaulas terminālis, koda redaktors un tīmekļa pārlūks ir tā rīcībā (medium.com) (docs.devin.ai). Praksē, kad Devins darbojas, viss, ko tas dara, tiek reģistrēts un ir redzams tīmekļa lietotāja interfeisā. “Sekot Devin” skats izceļ katru darbību (piemēram, faila rediģēšanu vai čaulas komandu) un pat ļauj cilvēkam noklikšķināt uz ikonas, lai pārietu tieši uz koda redaktoru vai termināli, kurā šī darbība notika (docs.devin.ai). Piemēram, ja Devins rediģē JavaScript failu, lietotājs var noklikšķināt, lai redzētu VSCode redaktora skatu ar izmaiņām, vai, ja Devins palaiž čaulas komandu, noklikšķināt, lai redzētu termināļa izvadi.
Jūs varat arī manuāli ievadīt Devina darbvietā, ja vēlaties. Nesenā atjauninājumā tika pievienota poga “Izmantot Devina mašīnu”, kas atver Devina vidi VSCode tīmeklī (docs.devin.ai). Tas nozīmē, ka izstrādātājs var apskatīt Devina failus, palaist komandas vai pat manuāli rediģēt kodu tā darbvietā. (Ilgstošiem uzdevumiem tas ir ērti, ja vēlaties pārbaudīt kaut ko lidojuma laikā.) Vienā piemērā lietotājs to aktivizēja, lai vērotu, kā Devins veido lietotāja saskarnes elementus: lietotājs burtiski atvēra Devina VSCode, redzēja jaunos failus, ko Devins uzrakstīja, un varēja reāllaikā izpētīt lietotāja saskarni.
Pārlūka rīks ļauj Devin pētīt vai testēt lietas internetā. Demonstrācijās redzams, ka Devins izmanto tīmekļa meklēšanu, lai meklētu dokumentāciju vai bibliotēkas, un pat palaiž lokālo tīmekļa serveri, lai pārbaudītu, vai tā kods nav bojāts (piemēram, tas novirzīs pārlūku uz localhost, lai pārbaudītu, vai lietotāja saskarne darbojas). Kopumā Devina saskarne ir multimodāla: tā var pieņemt ievades, piemēram, teksta uzvednes, pievienotus dizaina attēlus vai dokumentus, un pat koda fragmentus, un tā mijiedarbojas gan caur tērzēšanu, gan ar šiem izstrādātāju rīkiem (www.developersdigest.tech) (medium.com). Rezultātā pieredze ir daudz tuvāka “kolēģim, kurš raksta kodu” nekā statiskai tērzēšanai ar AI.
Atmiņa, zināšanas un sesijas konteksts
Devins seko informācijai sesijas laikā, izmantojot iebūvētu “Zināšanu” sistēmu. Iedomājieties Zināšanas kā darbvietas piezīmju grāmatiņu: Devins tajā var uzglabāt padomus, projektam specifiskas instrukcijas vai svarīgu kontekstu un vēlāk to atsaukt. Piemēram, dokumentācija apraksta darbplūsmas, lai piespraustu noteiktas zināšanas, lai Devins tās nekad neaizmirstu, piemēram, svarīgus arhitektūras ierobežojumus vai kodēšanas stila vadlīnijas (docs.devin.ai). Lietotāji var rediģēt vai pievienot šai zināšanu bankai. Devins arī automātiski ģenerēs noderīgas piezīmes: tas skenē jūsu repozitoriju, lai uzzinātu par koda struktūru, komponentiem un jūsu dokumentāciju, un automātiski veido “Repo zināšanu” kopsavilkumu (docs.devin.ai) (docs.devin.ai). Praksē, pēc dažām uzdevumu veikšanas reizēm, Devins varētu teikt: “Es pamanīju, ka jūs bieži izmantojat React un Redux; es iesaku to pievienot Zināšanām,” un, ja jūs apstiprināt, šī informācija tiek saglabāta.
Sesijas laikā Devins uzturēs attiecīgās zināšanas darba atmiņā. Cognition apgalvo, ka tas “atceras atbilstošu kontekstu katrā solī” (www.linkedin.com). Piemēram, ja tas agrāk ir uzzinājis, ka jūs dodat priekšroku Python 3.11 vai ka jūsu tīmekļa lietotne izmanto OAuth, tas ievietos šo informāciju uzvednēs pēc vajadzības. Sesija ir pēc būtības ilga un ar stāvokli: jūs varat runāt ar Devinu desmitiem gājienu (minūtes vai ilgāk), kamēr tas rediģē daudzus failus, un tas saglabā tērzēšanas vēsturi. Ja Devins sabojājas, jūs varat ritināt žurnālu vai ieslēgt “progresa režīmu”, lai redzētu katru tā veikto darbību.
Ja jūsu sesija beidzas (piemēram, ja jūs apturat uzdevumu vai to pabeidzat), Devins aizmirst šīs mašīnas darba stāvokli, un nākamreiz tā virtuālā mašīna atjaunojas uz bāzes momentuzņēmumu (docs.devin.ai). Pēc noklusējuma šis bāzes stāvoklis ietver repozitorijus, ko esat iepriekš ielādējis savā darbvietā, tāpēc Devinam nav katru reizi jāklonē no nulles (docs.devin.ai). (Bez darbvietas iestatīšanas katra sesija sāktos ar tukšu mašīnu, tāpēc Cognition uzsver repozitorija iepriekšēju konfigurēšanu ātruma dēļ (docs.devin.ai).) Bet bez koda Devins virza zināšanas uz priekšu, izmantojot savu Zināšanu banku. Tas jūs aicinās pievienot nodarbības vai definīcijas, kas šķiet noderīgas nākotnes uzdevumiem (docs.devin.ai). Vairāku sesiju laikā tas nozīmē, ka Devins pakāpeniski veido atmiņu par jūsu projekta konvencijām un arhitektūru.
Papildus Zināšanām, Cognition ir izlaidis DeepWiki – saistītu rīku, kas indeksē veselas kodu bāzes un nodrošina tērzēšanas saskarni virs tām (medium.com). Lai gan DeepWiki ir atsevišķs produkts, tas liecina par plašāku arhitektūru: Devins var vaicāt savu vai ārēju koda vikipēdiju, lai atbildētu uz jautājumiem. Praksē, ja jūs jautājat Devin kaut ko par kodu, tas iekšēji var izmantot tās pašas izguves sistēmas kā DeepWiki, lai pamatotu savas atbildes.
Autonomija, iterācija un paškorekcija
Devins ir izstrādāts tā, lai būtu autonoms, taču ar atgriezeniskās saites cikliem, ja nepieciešams. Pēc plānošanas tas izpilda soļus pa vienam, nepārtraukti pārbaudot kļūdas. Demonstrācijās aģents bieži seko šim modelim: tas izmanto pārlūku vai dokumentāciju, lai saprastu problēmu, uzraksta kodu, palaiž to, redz kļūdu un pēc tam meklē, kā to novērst – atdarinot cilvēka atkļūdošanas ciklu (www.developersdigest.tech) (www.linkedin.com). Piemēram, viens prezentētājs parāda, kā Devins pievieno pieteikšanās veidlapu, pēc tam palaiž front-end testu, atrod kļūdu un atgriežas, lai pētītu, kā to novērst. Katra Devina “gājiens” ir cilpa: domā → rīkojas → novēro → labo.
Vairāki avoti atzīmē, ka Devinā ir iebūvēta “paškorekcija” (medium.com) (www.linkedin.com). Patiešām, Cognition blogs ar GPT-5 min, ka GPT-5 “labi saprot kļūdas un pats tās labo”, ko viņi izceļ kā lielisku īpašību ilgiem uzdevumiem (www.linkedin.com). Citiem vārdiem sakot, ja Devina kods nekompilējas vai tests neizdodas, modelis (bieži GPT-5 vai līdzīgs) redzēs kļūdas ziņojumu un izdomās labojumu lidojuma laikā. Tas pat spēj veikt atkārtošanas cilpas: ja darbība daļēji izdodas, Devins var veikt otro piegājienu. Šīs cilpas ir redzamas lietotāja interfeisā kā atkārtotas rediģēšanas un palaišanas secības.
Lai sistemātiski risinātu kļūdas, Devins izmanto automatizācijas un cilvēka uzraudzības kombināciju. Piemēram, ja Devins atver izvilkšanas pieprasījumu un saņem CI kļūdu vai koda pārskata komentāru, Cognition sistēma automātiski pamodinās Devinu no miega un liks tam risināt problēmu (docs.devin.ai) (docs.devinenterprise.com). Pēc noklusējuma Devins atbild uz lint kļūdām vai komentāriem, lai gan lietotāji to var atspējot. Lietotāja interfeiss arī reāllaikā izceļ tā statusu un darbības, tāpēc izstrādātājs jebkurā laikā var iejaukties. Izstrādātāji tiek mudināti vērot pirmos dažus izpildes “tiešraides režīmā” (kur tiek rādīts katrs solis), lai veidotu uzticību, un pēc tam ļaut Devin darboties pilnīgi bez galvas, kad ir pārliecināti (www.developersdigest.tech).
Drošība, drošības barjeras un pielāgošana
Operatori var dot Devin skaidras instrukcijas par to, ko nedarīt. Viena jaudīga funkcija ir “Aizliegtās darbības”. Jūs varat uzskaitīt lietas, kurām Devin nav atļauts pieskarties – piemēram, “NEVEICIET tiešu push uz main” vai “Nerediģējiet failu X.” Sistēma nodrošina, ka Devins ievēro šīs komandas, kad tās parādās uzvednē vai Playbook (docs.devin.ai). Saskaņā ar izlaišanas piezīmēm, Devins tagad uzticami apstrādā aizliegto darbību sarakstus, kas nozīmē, ka tas pārbauda savas darbības pret šiem noteikumiem. Tas palīdz novērst biežas kļūdas, piemēram, nepareizas zara vai faila modificēšanu.
Devins nodrošina arī dažādas kontroles. Slack vai tīmekļa lietotāja interfeisā jūs varat likt Devin “gulēt” (apturēt darbu) vai “arhivēt” sesiju (docs.devin.ai). Jūs varat izvēlēties, vai Devin pieprasa jūsu apstiprinājumu pirms plāna izpildes (izmantojot Agency iestatījumu) vai darbojas pilnīgi autonomi (docs.devin.ai) (docs.devin.ai). Tā skaitļošanas jaudas izmantošana tiek mērīta Agent Compute Units (ACU), un lietotāja interfeisā tiek rādīti brīdinājumi, ja Devins gatavojas sasniegt ierobežojumus, tāpēc jūs varat iejaukties vai piešķirt vairāk resursu (docs.devin.ai).
Ja aizkulisēs kaut kas noiet greizi, Cognition ir ieviesta uzraudzība. Iepriekšējās versijās daži lietotāji ziņoja, ka Devina sesijas “iestrēga” vai avarēja. Komanda atzīmē, ka šīs problēmas ir novērstas un piedāvā ACU atmaksu, ja Devins iestrēgst (docs.devin.ai). Citiem vārdiem sakot, uzņēmums aktīvi instrumentē sistēmu uzticamības nodrošināšanai. Ārējie analītiķi brīdina, ka, tāpat kā jebkurš uz tērzēšanu balstīts AI, Devins reizēm var radīt kļūdas vai “halucinēt” kodu. Ieteicamā prakse ir pārskatīt tā izvadi, tāpat kā jūs pārskatītu juniora izstrādātāja darbu. Drošības nolūkos daudzas komandas izmanto koda pārskatus Devina veikto izmaiņu gadījumā un ierobežo Devina atļaujas (piemēram, pēc noklusējuma nav tiešas piekļuves slepenai informācijai). Līdz šim publiski aprakstītās drošības barjeras galvenokārt ir lietotāja definētas (aizliegtās darbības, plāna apstiprināšana utt.) un sistēmas veselības pārbaudes, nevis iebūvēti ētiski filtri.
Ko mēs (vēl) nezinām
Cognition apzināti ir saglabājis dažas detaļas iekšējas, tāpēc Devina daļas ir necaurredzamas. Piemēram, precīzs lielais valodu modelis, ko tas izmanto, sākotnēji nebija publisks. Baumas un vēlākas publikācijas liecina, ka Cognition tagad integrē GPT-5 Devinā tā plānošanas un spriešanas kodolam (www.linkedin.com), un tiem ir priekšskatījuma aģents, kas balstīts uz Claude Sonnet 4.5 (docs.devinenterprise.com). Taču pilnīga arhitektūra nav skaidra: Devins, visticamāk, orķestrē vairākus modeļus un tam ir pielāgota precizēšana (kā norāda RFT plānošanas apakšaģents), taču šie slāņi nav atvērti.
Mēs arī pilnībā nezinām tā atmiņas ierobežojumus. Devins apgalvo, ka tas “mācās laika gaitā”, bet tas, kā tas apvieno jaunas zināšanas savā esošajā tīklā (pretstatā tikai to glabāšanai Zināšanu bankā), nav norādīts. Maksimālais sarunu vēstures garums, ko tas efektīvi izmanto, nav dokumentēts. Kad sesija ir ļoti ilga, ir iespējams, ka agrākas tērzēšanas vai koda konteksta daļas tiek apgrieztas aizkulisēs. Praktiski lielākā daļa lietotāju saglabā uzvednes un kodu kodolīgu, lai izvairītos no konteksta pārslodzes.
Attiecībā uz drošību joprojām ir daži nezināmie. Piemēram, lai gan “aizliegtās darbības” aptver lietotāja norādītos noteikumus, nav skaidrs, vai Devin ir kādi netieši drošības slāņi (piemēram, datu ļaunprātīgas izmantošanas noteikšana, neobjektivitātes pārbaudes vai smilškastes izvairīšanās). Tā kā tas darbojas VM, var cerēt, ka tas nevar sabojāt resursdatoru sistēmas, bet detaļas par šo smilškastes izmantošanu nav publiskas. Kopiena secina, ka Devina mašīna, visticamāk, izmanto konteineru momentuzņēmumus (kā minēts RL apmācībai), lai izolētu izpildes (medium.com).
Visbeidzot, daudzi kopienā vēro, kā Devins tiks galā ar neskaidriem vai atvērtiem uzdevumiem. Pārdošanas piedāvājumā tas tiek saukts par “pilnīgi autonomu”, taču analītiķi atzīmē, ka tam bieži joprojām ir vajadzīgas precīzas instrukcijas. Piemēram, ja lietotāja uzvedne ir neskaidra, Devins var ģenerēt plānu, kas šķiet saprātīgs, bet nepamanīs svarīgus robežgadījumus. Tas var uzdot precizējošus jautājumus turpinājumā, bet izstrādātāji reizēm domā, cik labi tas saprot nolūku pretstatā tikai koda saskaņošanai. Šie Devina izziņas aspekti ir atkarīgi no pamatā esošā LLM iespējām, kuras mēs novērojam tikai netieši. Īsumā, lietotājiem Devins būtu jāvērtē drīzāk kā augsti kvalificēts juniors inženieris, nevis produktu vadītājs – tas labi plāno, bet var ne vienmēr pilnīgi izprast jūsu nodomu.
Darba sākšana ar Devinu
Devins galvenokārt ir paredzēts inženieru komandām, kas veic daudz kodēšanas darba. Tas lieliski darbojas ar skaidri definētiem uzdevumiem: funkciju veidošana no specifikācijām, refaktorings, testu rakstīšana un kļūdu labošana. Tas ir mazāk pierādījis sevi augsta līmeņa dizainā vai ļoti slikti definētās problēmās. Programmatūras komandai Devins var palīdzēt veikt rutīnas darbu, lai cilvēki varētu koncentrēties uz radošo arhitektūru un uzraudzību.
Ne-kodētājiem vai iesācējiem Devins joprojām var būt noderīgs, taču prasa zināmu iestatīšanu. Pirmais solis ir dot Devin piekļuvi jūsu koda repozitorijam (izmantojot GitHub, GitLab utt.) un, iespējams, savienot to ar Slack vai Teams. Tad izmēģiniet vienkāršu uzdevumu. Piemēram, jautājiet: “Devin, pievieno jaunu lapu, lai tīmekļa lietotāja saskarnē uzskaitītu visus produktus no mūsu datubāzes, ieskaitot testu pārklājumu.” Vērojiet plānošanas fāzes dialogu: Devins ieskicēs, kādus failus mainīt (piemēram, HTML veidni, aizmugures API kodu utt.) un uzdos visus nepieciešamos jautājumus. Apstipriniet plānu (vai ļaujiet tam automātiski darboties) un vērojiet tā izpildi. Izmantojiet paneli “Sekot”, lai redzētu katru soli: jūs redzēsiet failu rediģēšanu, čaulas komandas (piemēram, testu komplektu palaišanu) un pārlūka momentuzņēmumus no lietotāja saskarnes. Ja Devins kļūdās vai vēlaties veikt izmaiņas, vienkārši mijiedarbojieties, kā jūs to darītu tērzēšanā (“Patiesībā izmantojiet šo CSS tēmu” vai “produkta nosaukumam jābūt ar lielajiem burtiem”), un Devins sāks vēl vienu rediģēšanas cilpu.
Galvenais darbības solis ir atkārtot un pārskatīt. Vienmēr pārbaudiet Devina radīto kodu un testējiet to lokāli. Laika gaitā jūs varat bagātināt Zināšanu banku: pievienojiet piezīmes, piemēram, “Mūsu datubāze izmanto PostgreSQL 13” vai “Mēs PHP ievērojam PSR-12 stilu”. Devins sāks tos iekļaut nākamajās sesijās. Izpētiet arī iestatījumus: izslēdziet aģentūru, ja vēlaties vienmēr pārbaudīt priekšlikumus, vai ieslēdziet to, ja uzticaties tam vairāk. Sasaistiet Devinu ar savu CI automātiskai izvilkšanas pieprasījumu pārskatīšanai, bet sāciet ar paziņojumiem, lai jūs varētu vērot, kā tas apstrādā atgriezenisko saiti.
Galu galā Devina darbplūsma ir blīva un jaudīga, taču tā joprojām paļaujas uz jūsu norādījumiem. Izprotot, kā tas plāno, izmanto rīkus un mācās no atgriezeniskās saites (kā aprakstīts iepriekš), jūs varat maksimāli izmantot šo jauno aģentu kodēšanas asistenta klasi. Labākais nākamais solis komandai, kas interesējas par Devinu, ir reģistrēties devin.ai un veikt nelielu izmēģinājuma projektu: pievienojiet vienu tīmekļa repozitoriju, lūdziet Devin ieviest funkciju un ļaujiet tai darboties progresa režīmā. Vērojiet pilnu “domāšanas” izsekošanu – šī praktiskā pieredze precizēs, kā tieši Devins savieno plānošanu, rediģēšanu un paškorekciju. Pēc tam jūs varat palielināt uzdevumu skaitu un precizēt tā izmantošanu (piemēram, pielāgotas spēļu grāmatas jūsu jomai). Lai gan Devins joprojām attīstās, tas ir liels lēciens AI rīku jomā. Iemācoties tā darbplūsmu šodien, komandas var sagatavoties laikmetam, kurā kodēšanas uzdevumus var patiesi dalīt ar AI komandas biedru.
Saņemiet jaunus AI kodēšanas pētījumus un aplādes epizodes
Abonējiet, lai saņemtu jaunus pētījumu atjauninājumus un aplādes epizodes par AI kodēšanas rīkiem, AI lietotņu veidotājiem, bezkoda rīkiem, "vibe coding" un tiešsaistes produktu veidošanu ar AI.