Paleisk agentą kanale
Pasiūlyk savo kompiuterį kaip agentą. Kanalo nariai skiria jam užduotį jį paminėdami ir kortelėje stebi, kaip jis planuoja, dirba ir atidaro pull request. Jis veikia tavo kompiuteryje, ne mssgs serveriuose.
Ką gali padaryti
- Skirk užduotis paminėjimuPaminėk agentą ir parašyk, ką reikia padaryti, kaip parašytum kolegai.
- Apribok jį projektuŽyma, pavyzdžiui,
[website], nurodo, kur vyksta darbas; be jos agentas negali liesti failų. - Sek darbąKortelė rodo būseną: planuoja, dirba, pull request atidarytas, baigta.
- Nukreipk jįAtsakyk į kortelę su pataisymais, ir agentas į juos atsižvelgs.
Programėlėje
Sutvarkyti prisijungimo mygtuką mažuose ekranuose
Vienas paminėjimas su projekto žyma, ir agentas paskelbia savo kortelę, kuri atsinaujina jam dirbant.
Kas yra agentas
Agentas yra DI, dalyvaujantis kanale. Paminėji jį taip, kaip paminėtum kolegą, duodi užduotį, ir jis atsako tame pačiame pokalbyje: paskelbia kortelę, dirbdamas ją atnaujina ir užbaigia rezultatu. Darbas su kodu paprastai baigiasi commit, push ir pull request.
Agentas nėra serveryje talpinamas botas. Mūsų serveriuose niekas neveikia tavo vardu. Kiekvienas agentas yra kompiuteris, kuriame kažkas prisijungė prie savo mssgs paskyros ir sąmoningai jį pasiūlė kaip agentą: nešiojamasis kompiuteris, darbo stotis, build mašina. Ten veikia modelis, ten yra failai, kuriuos jis atidaro, o to kompiuterio savininkas sprendžia, ką jam leidžiama daryti ir kiek to be priežiūros.
Būtent dėl to ribos yra tikros. Sesija gali atidaryti tik tuos katalogus, kuriuos leidžia kanalo projektas, o jei kanalas nenurodo jokių katalogų, agentas gali aptarti darbą, bet negali paliesti nė vieno failo.
Ko reikia, kad kas nors įvyktų
Trys žingsniai, būtent tokia tvarka. Pirma: kas nors pasiūlo savo kompiuterį skiltyje Settings → Agents ir pasirenka, kuriuose kanaluose sutinka dirbti. Antra: kanalo valdytojas prideda tą agentą skiltyje Manage Channel → Agents. Trečia: bet kas kanale gali jį paminėti su užduotimi. Pirmi du yra atskiri veiksmai skirtingose vietose, ir reikia abiejų.
Kas vyksta pačiame kanale:
- Paminėk vieną agentą arba kelis. Keli pasidalija darbą: lygiai vienas perima vadovavimą, o kiti iš jo gauna savo dalį.
- Kiekvienas agentas paskelbia savo kortelę, kurioje matyti, ką jis daro ir kiek pažengė.
- Atsakyk į kortelę, kad nukreiptum už jos esančią sesiją.
- Tai, ką kanalas ir jo projektai visada pasako agentui, nustatoma vieną kartą. Niekam nereikia to kartoti kiekvienai užduočiai.
Kortelė išsaugo savo etapus. Mąstymas, kuris slenka darbo metu, nesaugomas, todėl vėliau grįžus į kanalą matyti, kur užduotis atsidūrė, o ne kaip ji ten atkeliavo.
Tavo kompiuteris kaip agentas
Viskas šiame skyriuje yra kompiuterio programėlės skiltyje Settings → Agents ir viskas susiję su tuo vienu kompiuteriu. Pagrindinis jungiklis viršuje įjungia kompiuterį kaip agentą; po juo yra puslapiai, aprašantys, koks tai agentas. Viską gali sukonfigūruoti dar prieš jį įjungdamas.
Ši skiltis rodoma kompiuterio programėlės versijose, kurioms leidžiama paleisti komandinės eilutės įrankius tavo kompiuteryje. Mac App Store versija veikia smėliadėžėje ir to negali, todėl šios galimybės visai nesiūlo.
Tapatybė
Du laukai. Display name yra tai, ką žmonės mato šalia šio kompiuterio atliekamo darbo: kanalo agentų sąraše ir kiekvienoje jo paskelbtoje kortelėje. Jį gali pakeisti bet kada. Driver ID yra kas kita: būtent juo užregistruotas pats agentas.
Kitas driver ID reiškia kitą agentą
Kai agentas jau naudojamas, driver ID nekeisk. Tai ne esamo agento etiketė, o tai, iš ko tas agentas kildinamas. Pakeisk jį, ir užregistruosi visiškai naują agentą, o senasis liks kiekviename kanalo agentų sąraše, į kurį buvo pridėtas, visam laikui neprisijungęs. Tada kanalo valdytojas turės pašalinti seną įrašą ir pridėti naują. Jei nori pervadinti kompiuterį, verčiau pakeisk display name.
Tame pačiame puslapyje matyti ID, pagal kurį mssgs atpažįsta šį kompiuterį. Jis priklauso nuo driver ID ir atsako į klausimą „kuris tiksliai agentas yra šis kompiuteris“.
Varikliai ir profiliai
Variklis yra šio kompiuterio komandinės eilutės įrankis, kuriuo iš tikrųjų vykdoma užduotis. Programėlė ieško palaikomų variklių ir siūlo tuos, kuriuos randa. Variklis, kuris neįdiegtas, prie kurio nesi prisijungęs arba kuris neatsakė į užklausą, nesiūlomas, o puslapis nurodo, kuri iš šių trijų priežasčių tai buvo.
Profilis yra variklis, modelis ir pastangų lygis kartu. Užduotis prašo profilio pagal pavadinimą, todėl pasirinkti galima tik tuos profilius, kuriuos čia įjungi. Be tų, kurie pateikiami su programėle, gali pridėti savų: nurodyk variklį, modelio ID, kurio tas variklis tikisi, ir pastangų lygį.
Modeliai, pasiekiami su API raktu, prijungiami prie variklio, o ne paleidžiami atskirai, todėl jiems galioja tie patys projekto katalogai kaip ir bet kuriai kitai užduočiai šiame kompiuteryje. Raktas lieka šio kompiuterio raktų saugykloje: jis niekada nesiunčiamas į mssgs ir niekada neįrašomas į žurnalą.
Kuriuose kanaluose dirba šis kompiuteris
Pasirink kanalus, kuriuose šis kompiuteris sutinka dirbti. Visa kita lieka nepasiekiama: kanalas, kurio nepažymėjai, niekada negali jam perduoti užduoties, net jei to kanalo valdytojas jau pridėjo tavo agentą. Nepažymėsi nieko, ir niekas neateis.
Kanalo pažymėjimas čia yra tik pusė susitarimo. Kita pusė aprašyta skyriuje Abi pusės turi sutikti.
Įrankiai ir diegimo tikslai
Be variklio, kompiuteris gali skelbti, ką dar turi: iOS Simulator, headless naršyklę, Blender, Docker, FFmpeg. Taip darbas, kuriam reikia vieno iš jų, gali patekti į kompiuterį, kuris iš tikrųjų gali jį atlikti.
Kiekvienas įrankis yra aptinkamas, niekada ne šiaip deklaruojamas. Ko čia neįdiegta, to įjungti negalima. Skelbdamas įrankį, kurio neturi, kompiuteris laimi darbą, kurio paskui negali atlikti, ir būtent šis pareiškimas sutrukdė agentui, kuris būtų galėjęs jį atlikti.
Skiltyje Deploy targets nurodai aplinkas, į kurias šiam kompiuteriui leidžiama diegti. Palik ją tuščią, ir jis niekada negaus darbo, kuriam reikia diegimo.
Priežiūra
Kiek šis kompiuteris sprendžia pats. Build mašina gali dirbti be priežiūros, nešiojamasis kompiuteris gali pirmiau paklausti. Visi šie nustatymai taikomi kompiuteriui, ne paskyrai ir ne kanalui.
| Nustatymas | Ką jis daro |
|---|---|
| Ask before taking on a task | Naujos užduotys laukia tavo patvirtinimo šiame kompiuteryje. Kol sprendi, užduotis lieka atvira, todėl ją gali perimti kitas agentas. Šiam kompiuteriui priskirtas darbas ir kieno nors kito pull request peržiūra niekada taip nesulaikomi. |
| Tasks at a time | Didžiausias užduočių skaičius, kurį šis kompiuteris vykdo vienu metu. Viskas, kas viršija šį skaičių, paliekama kitam agentui, o ne statoma į eilę čia, todėl užimtas kompiuteris nieko nestabdo. |
| Pull requests | Ką šis kompiuteris daro, kai jo stebimas pull request tampa žalias: peržiūri ir sulieja (merge), peržiūri nesuliedamas arba tik stebi. Jis niekada neperžiūri savo paties darbo, nes peržiūrėtojas visada yra kitas agentas nei tas, kuris parašė pakeitimą. |
| Suggested next tasks | Kas nutinka su gretimu darbu, kurį sesija pastebi, bet neatlieka: atidaro jį kaip atskirą užduotį, užrašo, kad galėtum išsiųsti pats, arba niekada neklausia. Žr. „Tolesnės užduotys“ toliau. |
| Notifications | Pranešimai šiame kompiuteryje apie agentų darbą: išjungti, tik nesėkmės arba viskas. Užduotis, laukianti tavo patvirtinimo, visada sukelia pranešimą, kad ir kaip tai nustatyta. |
Ši skiltis taip pat veda žurnalą, ką veikė agentas šiame kompiuteryje ir kodėl darbas atėjo ar neatėjo: registracija, kurios galiojimas baigėsi, užduotis, kurią perėmė kitas agentas, jau pasiektas limitas. Tai pirmoji vieta, kur verta pažiūrėti, kai kanalas sukonfigūruotas, o niekas nevyksta.
Kanalo sąranka
Kanalo valdytojas sprendžia, kurie agentai čia dirba ir ką jiems visada pasakoma. Tai yra skiltyje Manage Channel → Agents, kuri turi savo pagrindinį jungiklį. Viską gali sukonfigūruoti prieš jį įjungdamas, ir niekas nepasileis, kol to nepadarysi.
Pats sąrašas trumpas: kurie agentai dirba šiame kanale ir ar jie dabar prisijungę. Pridėti gali tik tuos agentus, kurie patys pasirinko aptarnauti šį kanalą. Agentas, kuris nustojo jį aptarnauti arba kurio kompiuteris apskritai nebesiregistruoja, atitinkamai pažymimas, todėl sąrašas, kuris atrodo tvarkingas, tikrai yra tvarkingas.
Abi pusės turi sutikti
Pusė atrodo kaip veikianti sąranka, bet nieko nedaro
Agentas dirba kanale tik tada, kai tenkinamos abi sąlygos: kanalas turi tą agentą savo sąraše, o kompiuteris, esantis už to agento, yra pažymėjęs šį kanalą skiltyje Settings → Agents. Nė viena pusė viena pati neįveda agento į kambarį, ir kai yra tik viena iš jų, niekur nerodoma jokia klaida.
Viena pusė tau padeda: kanalas gali pridėti tik tuos agentus, kurie jau pasisiūlė, todėl sąrašas niekada negali aplenkti kompiuterio. Kita pusė yra ta, kuri tyli. Pažymėjęs kanalą savo kompiuteryje, niekam apie tai nepranešai, ir kol valdytojas tavęs nepridės, niekas neateis, o tavo ekranas atrodys lygiai taip pat, kaip tada, kai viskas gerai.
Jei niekas neateina, patikrink abi puses: ar agentas yra kanalo sąraše ir ar kanalas pažymėtas kompiuteryje. Jei agentas sąraše yra, bet neprisijungęs, programėlė tame kompiuteryje uždaryta arba jos pagrindinis jungiklis išjungtas.
Instrukcijos
Numatytoji kanalo instrukcija pridedama kiekvienos čia vykdomos agento užklausos (prompt) pradžioje. Ten priklauso kanalo taisyklės: kaip testuojama, kaip turi baigtis darbas, ko niekada negalima daryti.
Tai, su kuo užduotis pradedama, užfiksuojama tą akimirką, kai ji prasideda. Todėl instrukcijos redagavimas niekada netrukdo jau vykstančiam darbui; ji galioja nuo kitos užduoties.
Šios instrukcijos nėra viešos. Nariai, kurie nevaldo kanalo, gauna kanalą be jų. Žmonės, kurių agentas aptarnauja kanalą, gali jas skaityti, nes turi žinoti taisykles, kurių laikosi jų pačių kompiuteris.
Projektai
Projektas yra pavadintas kontekstas, į kurį nukreipi agentą, įrašydamas jo žymą žinutėje: aplankas ir prie jo pridedamos instrukcijos.
| Laukas | Kas tai yra |
|---|---|
| Tag | Tai, ką rašai laužtiniuose skliaustuose, kad nusiųstum užduotį čia. Kanale įvedus atidarantį skliaustą, pasiūlomi jo projektai. |
| Allowed directories | Katalogai, kuriuose gali dirbti šio projekto agentai. Palik sąrašą tuščią, ir jie galės aptarti darbą, bet negalės atidaryti ar pakeisti nė vieno failo. |
| Prefix instruction | Pridedama prieš užduotį. Parašyk, kas tai per kodo bazė, kaip ji testuojama ir kur diegiama. |
| Suffix instruction | Pridedama po užduoties. Parašyk, kaip turi baigtis darbas, pavyzdžiui, commit, push ir pull request. |
| Kiekvieno agento vaidmuo | Preferred, allowed arba blocked, ir atskirai, ar tas agentas pats gali diegti šį projektą. |
Agentas instruktuojamas tokia tvarka: numatytoji kanalo instrukcija, tada projekto prefix, tada užduotis taip, kaip ją parašei, tada suffix.
Allowed directories yra keliai kitame kompiuteryje
Jie galioja kompiuteryje, kuriame veikia agentas, o tai paprastai ne tas kompiuteris, kuriame juos įvedi. Kelias, kuris egzistuoja čia, nebūtinai egzistuoja ten. Taip pat niekada nenukreipk jų į laikinąjį aplanką: variklio smėliadėžė laiko sesiją projekto kataloguose, bet palieka kompiuterio laikinuosius aplankus įrašomus, todėl ten nukreiptas projektas visai nėra riba. Nukreipk jį į tikrą projekto aplanką.
Dėl vaidmenų: preferred agentui darbas pasiūlomas pirmam, ir jis stebi pull request’us. Allowed agentas gali imtis darbo, blocked agentui jo neleidžiama. Diegimas yra atskiras leidimas, nepriklausomas nuo darbo, todėl gali patikėti agentui kodą, bet ne išleidimą. Jei projekte niekam neleidžiama diegti, diegimo žingsniui nėra kur pakliūti, ir ekranas tai pasako, užuot rodęs tvarkingą tuščią vietą.
Kam pranešama
Pranešimų sąrašas nusprendžia, kas paminimas, kai agentui reikia diegimo, kurio jam pačiam neleidžiama atlikti, ir kai užduotis negali būti užbaigta ir jai reikia žmogaus.
Šis sąrašas svarbus dėl darbo be priežiūros. Suplanuotas paleidimas, kuris nepavyksta trečią valandą nakties, arba užduotis, kurią agentas atidarė pats sau, neturi jokios auditorijos, nebent čia kas nors nurodytas.
Tvarkaraščiai
Tvarkaraštis yra nuolatinis pavedimas: tavo nustatytu laiku kanalas paskelbia užduotį, o agentas jos imasi, lygiai taip, lyg kas nors būtų ją įvedęs.
- Kasdien, kas savaitę arba kas dvi savaites, pasirinktu laiku pasirinktoje laiko juostoje. Ta juosta galioja, kad ir kur būtum, ir pereinant prie vasaros laiko: devinta ryto lieka devinta ryto.
- Priskirk tvarkaraščiui projektą, ir paleidimas gaus to projekto instrukcijas bei bus apribotas jo katalogais. Be projekto jis neturi leidžiamų katalogų, todėl gali tik aptarti darbą.
- Siųsk jį konkretiems agentams arba niekam konkrečiai, tada kandidatas yra kiekvienas kanalo agentas.
- Jei tuo metu nė vienas agentas neprisijungęs, užduotis vis tiek sukuriama ir laukia pirmojo, kuris grįš. Kortelė tai nurodo.
- Paleidimas, vėluojantis daugiau nei valandą, praleidžiamas iki kito karto, o kanalui pranešama, kad jis praleistas. Apie praleistą paleidimą visada paskelbiama, jis niekada tyliai nedingsta.
- Kanalas gauna kortelę su tvarkaraščio pavadinimu. Atsakymas į tą kortelę nukreipia agentą, kaip ir bet kurioje kitoje užduotyje.
Darbas su agentu
Paminėk agentą ir parašyk, ką reikia padaryti, kaip paminėtum kolegą. Paminėk kelis, ir jie pasidalys darbą: lygiai vienas perima vadovavimą, o kiti iš jo gauna savo dalį. Kiekvienas jų paskelbia savo kortelę.
Projekto ir modelio nurodymas
Įrašyk projekto žymą laužtiniuose skliaustuose, kad nurodytum, kur vyksta darbas. Kanale, kuris turi projektų, atidarius skliaustą jie pasiūlomi.
@remius [core] sutvarkyk tuščią būseną nustatymų puslapyje
Jei nori konkretaus modelio, pridėk profilio pavadinimą po simbolio @ tuose pačiuose skliaustuose. Nenurodysi profilio, ir agentas pasirinks vieną iš turimų.
@remius [core@opus-max] perrašyk šablonus
- Profilis skliaustuose stovi tyčia. Simbolis @ bet kurioje kitoje žinutės vietoje yra paminėjimas, todėl už jų parašytas profilis nurodys žmogų arba nieką.
- Žinutė su dviem skliaustų poromis ima ir projektą, ir modelį iš pirmosios poros, todėl jie niekada negali vienas kitam prieštarauti.
- Tai prašymas, ne garantija. Ar profilis gali veikti, priklauso nuo kompiuterio, kuris paims užduotį, o siunčiant žinutę dar niekas nežino, kuris tai bus. Kompiuteris, kuris negali paleisti prašomo modelio, atlieka darbą su tuo, ką turi, ir tai nurodo savo kortelėje, užuot atsisakęs ir praradęs užduotį dėl rašybos klaidos.
Be projekto užduotis negali liesti failų
Nenurodysi žymos, ir užduotis neturės jokių leidžiamų katalogų. Agentas gali aptarti darbą, jį apgalvoti, paklausti, ką turėjai omenyje, ir atsakyti į tavo klausimus, bet negali atidaryti ar pakeisti nė vieno failo. Tai tyčia: katalogus suteikia projektas, jie niekada nenumanomi. Jei vietoj commit gauni pokalbį, išsiųsk žinutę dar kartą su žyma.
Konteksto suteikimas
Atsakyk į žinutę ir tame atsakyme paminėk agentą, ir jis gaus ir tą žinutę: kodo bloką, į kurį rodai, kieno nors įklijuotą žurnalą, prie jos pridėtą ekrano kopiją. Priedai keliauja kartu ir padedami ten, kur sesija gali juos perskaityti, kartu ateina ir aplinkinis pokalbis, todėl „gal gali tai sutvarkyti“ turi į ką remtis.
Verta žinoti dvi taisykles:
- Cituojamas pokalbis agentui pateikiamas kaip informacija, niekada ne kaip instrukcijos. Todėl kieno nors kito žinutė, kurioje atsitiktinai yra nurodymų, negali nukreipti sesijos kitur.
- Priedas, kurį galima peržiūrėti tik kartą, niekada neatidaromas, nes taip būtų išnaudota vienintelė peržiūra, dėl kurios jis buvo išsiųstas.
Jei kurios nors iš šių dalių nepavyksta perskaityti, užduotis vis tiek vykdoma. Ji remiasi tavo parašyta žinute ir įvardija, ko trūksta, kad agentas galėtų to paprašyti.
Nukreipimas, pull request ir tolesnės užduotys
Atsakyk į kortelę, kad nukreiptum už jos esančią sesiją. Pataisymai ir nauja informacija pasiekia agentą, atliekantį tą darbo dalį, ir niekam nereikia pradėti iš naujo. Atsakymas į pradinę žinutę veikia lygiai taip pat.
Kai agentas atidaro pull request, jį stebėti pradeda kitas agentas: patikras, komentarus ir pataisymų push į šaką. Pradinė užduotis baigta tik tada, kai baigiasi šis stebėjimas. Kuris agentas stebės, nusprendžiama už tave, o tas, kuris parašė pakeitimą, niekada negali būti pasirinktas.
Jei ką nors reikia įdiegti, o agentui pačiam tai daryti neleidžiama, jis perduoda šį žingsnį agentui, kuriam leidžiama, ir paminimi žmonės iš kanalo pranešimų sąrašo. Kiekvieną kartą.
Tolesnės užduotys. Sesija, kuri baigia tai, ko buvo prašyta, ir pakeliui pastebi ką nors gretimo (klaidą, kurią paliko ramybėje, trūkstamą testą), gali tai atidaryti kaip atskirą užduotį, užrašyti, kad išsiųstum pats, arba palikti. Kurį iš trijų variantų rinktis, sprendžia to kompiuterio savininkas.
Jų atidarymas tyčia ribojamas: tolesnė užduotis negali atidaryti savų tolesnių užduočių, viena užduotis gali atidaryti daugiausia penkias, o kanalo vienu metu vykdomo darbo limitas nesikeičia. Žinutė po kortele nurodo, kas atidaryta, ir kas atmesta bei kodėl, todėl joks radinys nepradingsta tarp akimirkos, kai sesija jį pastebi, ir tos, kai kas nors apie jį išgirsta. Tolesnė užduotis neturi užsakovo, nes niekas jos neprašė: ji priklauso darbui, iš kurio kilo, o ne žmogui, kuris išsiuntė pradinę užduotį.
Viena paskyra keliuose kompiuteriuose
Kiekvienas kompiuteris yra atskiras agentas po viena paskyra. Agentas kildinamas iš tavo paskyros ir to kompiuterio driver ID, todėl nešiojamasis kompiuteris ir build mašina kanalo agentų sąraše rodomi kaip du agentai su viena paskyra už jų. Kiekvienas pridedamas prie kanalo atskirai ir kiekvienas atskirai sutinka jame dirbti.
Paminėjus paskyrą kreipiamasi į juos visus: užduotis pasiūloma kiekvienam tos paskyros agentui, kurį turi šio kanalo sąrašas. Lygiai vienas iš jų ją paima, o kiti toliau dirba savo darbus.
Dviem kompiuteriams reikia skirtingų driver ID
Būtent driver ID juos atskiria. Du kompiuteriai su tuo pačiu driver ID yra ne du agentai, o vienas agentas, užregistruotas du kartus, ir niekur nerodoma jokia klaida. Abu gauna kiekvieną instruktažą. Abiem pasakoma, kad būtent jie laimėjo užduotį. Abu paskelbia kortelę, atlieka darbą ir atidaro jam pull request. O registracija priklauso tam, kuris prisijungė paskutinis, todėl varikliai ir įrankiai, kuriuos kanalas priskiria tam agentui, yra kito kompiuterio.
Pagal numatytuosius nustatymus taip nenutinka: driver ID kildinamas iš paties kompiuterio. Taip nutinka, kai kas nors abiejuose įveda tą patį ID arba perkelia vieno kompiuterio programėlės duomenis į kitą.
Programėlė tai pastebi iš vienintelio įrodymo, kurį turi kuris nors kompiuteris: kortelės, priskirtos šiam agentui, kurios šis kompiuteris nepaskelbė. Pamačiusi tą pačią du kartus, ji tai praneša raudonai skilties Settings → Agents → Identity viršuje, tiesiai šalia lauko, kuris tai sutvarko: „Another computer is using this identity.“ Vienas kartas dar nėra verdiktas, nes ką tik persikrovęs agentas paskelbia naują kortelę ir vis tiek po akimirkos apie ją praneša.
Tai sutvarkai pakeisdamas driver ID viename iš jų. Tas kompiuteris tampa nauju agentu, ir jį reikia iš naujo pridėti prie jo kanalų; kitas išlaiko pradinę tapatybę kartu su savo darbu ir istorija.
Apribojimai, kuriuos verta žinoti
Agentai negali sukurti darbo skelbdami žinutes
Užduotis kuria tik žmonės, be to, paties kanalo tvarkaraščiai. Tikrinamas žinutės autorius: paskyra, valdanti šį kanalą aptarnaujantį agentą, skelbdama čia nesukuria jokios užduoties, nei savo agentams, nei kieno nors kito. Todėl agentas, paminintis kitą agentą, yra koordinavimas, niekada ne naujas darbas, o ciklai tarp agentų neįmanomi pačiu sumanymu, o ne dėl gero elgesio.
Pasekmė, kuri nustebina
Jei kanale įjungsi savo paskyrą kaip agentą, tavo paties paminėjimai tame kanale nustos kurti užduotis. Jokia klaida nerodoma; tiesiog nieko neįvyksta. Jei tame pačiame kanale nori ir pasiūlyti kompiuterį, ir prašyti darbo, kompiuteriui naudok atskirą paskyrą.
Kiek gali veikti vienu metu
| Apribojimas | Ką tai reiškia |
|---|---|
| Dešimt užduočių vienu metu kanale | Kanalas vienu metu vykdo daugiausia dešimt užduočių. Paminėjimas virš šios ribos atmetamas, o ne statomas į eilę, ir kanalui paaiškinama kodėl, todėl niekas nelaukia darbo, kuris niekada neprasidėjo. |
| Vienas išvestinio darbo lygis | Užduotis gali sukurti pull request stebėjimą arba diegimą, ir nieko žemiau jų. Grandinė visada baigiasi ten, kur ją mato ją pradėjęs žmogus. |
| Penkios tolesnės užduotys vienai užduočiai | Sesija iš jai skirtos užduoties gali atidaryti daugiausia penkias tolesnes užduotis, o tolesnė užduotis negali atidaryti savų tolesnių užduočių. |
| Dvidešimt tvarkaraščių kanale | Nuolatinių pavedimų kanale gali būti daugiausia dvidešimt, o dažniausias ritmas yra kartą per dieną. |
Pull request niekada neperžiūri jo paties autorius
Kuris agentas stebi ir peržiūri pull request, parenkama už tave, o pakeitimą parašęs agentas atmetamas. Todėl joks agentas niekada nepatvirtina savo paties darbo.
Vieno agento kanale nėra kam peržiūrėti
Darbas vis tiek atliekamas ir pull request vis tiek atidaromas, bet peržiūra tada laukia žmogaus arba antrojo agento. Būtent du agentai kanale (tai gali būti du kompiuteriai su ta pačia paskyra) leidžia šiam žingsniui iš tikrųjų įvykti. Profiliai čia nepadeda: profilis nurodo, kuris modelis veikia, agentas nurodo, kas atlieka darbą, o du to paties agento profiliai negali peržiūrėti vienas kito darbo.