Wakala wa AI anayejiendesha: jinsi ya kumwachia afanye kazi kwa masaa bila kutoa takataka
Wakala wa AI anayejiendesha anafanya kazi kwa masaa bila binadamu ikiwa kazi ina lengo linaloweza kuthibitishwa kwa mashine, wakala mwenyewe amefungwa kwenye sanduku la mchanga lenye ruhusa ndogo kabisa, maendeleo yanahifadhiwa kwenye diski, na utayari unatathminiwa na majaribio na mkaguzi huru, si na wakala mwenyewe. Mipaka ya majaribio na bajeti pamoja na kanuni ya kupandisha kwa binadamu ni lazima: kazi ikikwama, mzunguko unasimama na kumwita binadamu.
Wakala wa AI anayejiendesha ni nini, na unatofautianaje na ombi la kawaida
Kazi ya kawaida na wakala ni ya hatua kwa hatua: unaandika ombi, wakala anafanya hatua moja, unaangalia matokeo na kuamua nini kifuate. Wakala anayejiendesha anafanya kazi kwa mzunguko: unaeleza mara moja jinsi hali ya mwisho inavyoonekana, na baadaye wakala mwenyewe anarudia «tekeleza — kagua — rekebisha» hadi lengo lifikiwe au bajeti iishe. Tangu uzinduzi unaweza kuondoka.
Inaonekana rahisi, lakini uzoefu wa kwanza wa kawaida ni huu: wakala alipokea kazi asubuhi, na jioni inabainika kuwa kwa masaa kadhaa alikuwa anarekebisha hitilafu iliyokwisha rekebishwa, kwa sababu alisahau alichofanya saa moja iliyopita. Hakuna aliyemwambia lini asimame na lini amwite binadamu. Hapa chini ni jinsi ya kubuni mzunguko unaozuia hilo.
| Ombi la kawaida | Mzunguko wa kujiendesha | |
|---|---|---|
| Unachoweka wewe | Nini cha kufanya baadaye | Hali ya mwisho inavyoonekana |
| Wakala anafanya nini | Anatekeleza mara moja | Anarudia hadi lengo lifikiwe |
| Nani anaamua kwamba kimekamilika | Wewe | Sharti linaloweza kuthibitishwa au mkaguzi huru |
| Je, unaweza kuondoka | Hapana | Ndiyo |
Tahadhari muhimu: mzunguko hauchukui nafasi ya harness. Harness inafanya mbio moja iwe ya kuaminika, mzunguko unafanya mbio ziwe endelevu. Mzunguko juu ya harness dhaifu hutoa takataka kwa kasi zaidi tu.
Je, kazi inafaa kwa wakala anayejiendesha
Swali la kwanza ni kama kazi ina mstari wa mwisho unaoweza kukaguliwa na mashine. «Majaribio yote kwenye saraka tests/payments yanapita», «vipengele vyote kwenye orodha vina hali ya passing», «kipimo kimekua ikilinganishwa na msingi» — hizi zinafaa. «Fanya msimbo kuwa bora» au «endelea kuboresha malipo» — hazifai: lengo kama hilo halina mwisho, na mzunguko utaendelea hadi ule bajeti.
Inafaa kutofautisha aina nne za mizunguko:
- Ya hatua kwa hatua — wewe unaandika kila ombi; hii ni kazi ya kawaida ya mwingiliano.
- Ya lengo — unaweka lengo, na ukaguzi huru au bajeti ndiyo inasimamisha. Hii ndiyo wakala anayejiendesha kwa masaa.
- Ya muda — inaanza kwa ratiba (kwa mfano, uchambuzi wa asubuhi wa majengo ya CI yaliyoanguka), na unasimamisha kwa mkono.
- Ya tukio — kichocheo cha nje (issue mpya, deploy iliyoanguka) huanzisha; kikomo cha majaribio tena au kukamilika kwa tukio kunasimamisha.
Kosa la kawaida ni kuchanganya mzunguko wa muda na mzunguko wa lengo: «kila dakika 10 endelea kufanya malipo». Mzunguko wa ratiba huanza maelekezo upya kila wakati na hajui kilichokwishafanyika. Kama kazi ina mwisho, unahitaji mzunguko wa lengo wenye kumbukumbu ya maendeleo.
Hatua ya 1. Sanduku la mchanga: wapi wakala anaruhusiwa kuvunja
Wakala anayefanya kazi bila usimamizi mapema au baadaye atafanya jambo lisilofaa: atafuta faili, ataandika upya migration, ataendesha amri nzito. Kwa hiyo swali si «nifanyeje asikosee», bali «nifanyeje kosa lisigharimu chochote».
- Nakala tofauti ya kazi.
git worktreeinampa wakala saraka yake na tawi lake juu ya hazina ileile. Tawi kuu haliguswi, wakala kadhaa hawaingiliani, na mbio iliyoshindwa inafutwa kwa amri moja. - Kontena au mashine pepe. Ikiwa wakala anahitaji ufikiaji kamili wa amri, mwendeshe kwenye kontena lisilo na ufikiaji wa saraka ya nyumbani, funguo na hifadhidata za uzalishaji.
- Data ya majaribio. Hifadhidata ya ndani, sanduku za mchanga za mifumo ya malipo, funguo za kubuni. Hakuna siri ya uzalishaji ndani ya mazingira ya wakala.
# tawi lake na saraka kwa mbio ya kujiendesha
git worktree add ../shop-agent -b agent/f03-refunds
# baada ya mbio: angalia matokeo au tupa
git -C ../shop-agent log --oneline main..
git worktree remove ../shop-agent
Hatua ya 2. Ruhusa: kiwango cha chini kinachotosha kazi
Kadiri wakala anavyofanya kazi peke yake kwa muda mrefu, ndivyo ruhusa zake zinavyopaswa kuwa finyu. Katika Claude Code ruhusa zinasanidiwa kwenye settings.json (orodha za allow na deny kwa zana na amri): ruhusu waziwazi kile kazi inachohitaji — kuendesha majaribio, linter, kuhariri faili kwenye nakala ya kazi — na zuia hatari: push kwenye tawi kuu, kazi na siri, amri za mtandao zisipohitajika.
Hali ambayo wakala anatekeleza kila kitu bila uthibitisho inakubalika tu ndani ya sanduku la mchanga lililotengwa, ambapo matokeo mabaya zaidi ni kontena lililotupwa. Kwenye kompyuta ya kazi yenye ufikiaji wa funguo na hazina zako, hili haliruhusiwi.
Makatazo yasiyopaswa kuvunjwa yaungwe mkono na mitambo, si maandishi tu. Mstari «usiguse migrations/» katika maelekezo ni ombi tu; hook inayozuia kuhariri saraka hiyo, au ruhusa za mfumo wa faili, ndiyo dhamana.
Hatua ya 3. Lengo, uthibitisho, kusimama — mistari mitatu kabla ya kuanza
Mzunguko rahisi unaofanya kazi unasimama juu ya mambo matatu, na ni vyema kuyaandika kabla ya kuanza, si wakati wa kazi:
- Lengo — hali ya mwisho inavyoonekana.
- Uthibitisho — njia inayoweza kukaguliwa kwa mashine ya kujua kama lengo limefikiwa: amri inayorudisha mafanikio au kosa.
- Sharti la kusimama — kikomo cha majaribio, muda au pesa, ambacho baada yake mzunguko unasimama hata kama lengo halijafikiwa.
Ni vizuri kuweka haya kwenye faili tofauti ya mbinu ambalo binadamu pekee ndiye anaelihariri. Mfano kwa backend ya malipo:
# program.md — mbinu ya mbio ya kujiendesha
## Lengo
Vipengele vyote kutoka .agent/feature_list.json viwe katika hali ya passing.
## Kipimo
Idadi ya vipengele vya passing. Inakua kwa mfululizo. Kurudi nyuma = rollback mara moja.
## Vikwazo
- Kipengele kimoja kinafanyiwa kazi kwa wakati mmoja.
- Usibadilishe migrations/ na infra/.
- Usibadilishe utegemezi bila kuandika kwenye jarida.
## Mpangilio wa kazi
1. Chukua kipengele cha kwanza ambacho si passing.
2. Tekeleza, endesha pytest na linter.
3. Kijani — commit na uandike kwenye .agent/progress.md. Nyekundu — rekebisha.
## Kusimama na kupandisha ngazi
- Majaribio 3 yasiyofaulu kwa kipengele kimoja — weka alama blocked, nenda kinachofuata.
- Vyote vilivyobaki vikiwa blocked — simama na uandike ripoti.
- Kazi yoyote inayohusu pesa za wateja, ruhusa za ufikiaji au kufuta data — usiifanye, bali mpe binadamu.
Hatua ya 4. Mzunguko wa kukagua-kurekebisha wenye kumbukumbu kwenye diski
Dirisha la muktadha halidumu katika kazi ndefu: linajaa, linabanwa, kikao kinaanzishwa upya. Kwa hiyo maendeleo lazima yaishi kwenye faili, si «kichwani» mwa wakala: orodha ya kazi zenye hali zake, jarida la kilichofanywa na kisichofanya kazi, historia ya git.
Mfano mzuri ni «ratchet inayosonga mbele tu», kama kwenye mradi wa autoresearch wa Andrej Karpathy, ambapo wakala anafanya majaribio ya ML mamia kwa usiku mmoja. Kila mzunguko: soma mbinu, pendekeza dhana, fanya mabadiliko, endesha jaribio kwa bajeti ya muda iliyowekwa, linganisha na msingi. Ikiboresha — commit, isipoboresha — rollback. Matokeo yanaandikwa kwenye jarida, kisha dhana inayofuata.
Kutokana na mpango huu chukua maamuzi mawili:
- Bajeti maalum kwa kila jaribio. Majaribio yanakuwa ya kulinganishwa, na dhana moja iliyoshindwa haitumii usiku wote.
- Tawi kuu lina maboresho pekee. Kila kilichoshindwa kinarudishwa nyuma, hakiachwi karibu.
git loginakuwa jarida lililothibitishwa la kazi, rahisi kulisoma asubuhi.
Mpango huo huo unaonyesha mgawanyo wa majukumu kwa faili: miundombinu na tathmini hakuna anayeihariri, msimbo wa jaribio anahariri wakala pekee, mbinu anahariri binadamu pekee. Wakala hawezi «kuboresha» matokeo kwa kubadilisha namna yanavyopimwa.
Hatua ya 5. Nani anaamua kwamba kimekamilika: mkaguzi huru
Binadamu anapokosekana kwenye mzunguko, kujitathmini kwa wakala ndiko kizuizi pekee — na kizuizi hicho hakifanyi kazi. Wakala aliyeandika msimbo sasa hivi huelekea kuuona kuwa sahihi: anaona sababu zake mwenyewe na «anajua» alichotaka kufanya.
Kanuni za kutenganisha mtekelezaji na mkaguzi:
- Kikao kilichofanya kazi hakipaswi kuitathmini. Katika Claude Code subagents zinafaa kwa hili: kila moja ina muktadha wake.
- Mkaguzi anapata muktadha safi: mahitaji, diff na matokeo ya mbio — na si chochote kutoka kwa hoja za mtekelezaji.
- Ikiwezekana, mkaguzi awe modeli nyingine, au angalau maelekezo mengine yenye jukumu jingine.
- Hukumu inatolewa kwa kigezo, na kila kipengele kinarejelea ushahidi: mstari wa jaribio, matokeo ya amri, mahali kwenye diff.
Ukaguzi wa mashine bado ndio wa kwanza. Mkaguzi anahitajika kwa yale majaribio hayayagundui: mahitaji yalieleweka vibaya, jaribio limerekebishwa ili kulingana na msimbo, mabadiliko yamezidi upeo wa kazi.
Masharti ya kusimama: wakati wakala anapaswa kukata tamaa
Mzunguko usio na masharti ya kusimama utajirudia — ni suala la muda tu. Seti ya chini kabisa:
| Kigezo | Kinachokamatwa |
|---|---|
| Lengo limefikiwa kwa ukaguzi | Kumaliza kawaida |
| Kikomo cha majaribio kwa kazi moja | Kukwama mahali pamoja |
| Bajeti ya jumla ya muda, hatua au pesa | Kazi isiyo na mwisho na bili ya API |
| Hakuna maendeleo kwa iterations N | Kuonekana kwa kazi: majaribio yanaendelea, kipimo kimesimama |
| Kipimo kurudi nyuma | Kurekebisha kitu kimoja kinachovunja kingine |
| Kichocheo cha kupandisha ngazi | Kazi ambazo haziwezi kuaminiwa kwa mzunguko |
Maendeleo yakaguliwe kwa maudhui, si kwa idadi ya majaribio: «iterations 40 zimefanyika» haimaanishi kitu, «idadi ya vipengele vya kijani imepanda kutoka 5 hadi 9» inamaanisha. Kazi ikikwama, ni sababu ya kumpa binadamu, si ya kuendesha mzunguko tena.
Hatari za wakala anayejiendesha ambazo hazionekani mara moja
Hatari dhahiri — faili zilizofutwa na jengo lililovunjika — zinadhibitiwa na sanduku la mchanga na ruhusa. Hatari hatari zaidi ni gharama zilizofichika zinazojilimbikiza kwa wiki:
- Deni la uthibitisho. «Inaonekana sawa» badala ya «imethibitishwa kwa mashine». Dawa yake ni masharti ya kusimama yanayoweza kukaguliwa kwa mashine, bila ubaguzi.
- Kupungua kwa uelewa. Unazidi kujua msimbo wako kidogo. Dawa yake ni kusoma diff kwa lazima: kasi ya mzunguko isizidi kasi yako ya kusoma.
- Kujisalimisha kiakili. Unaacha kuwa na maoni kuhusu matokeo na unakubali kila kitu. Ni vyema kuhesabu kwa uaminifu visa vya «nitaangalia baadaye» ambavyo haukuangalia.
- Muktadha kuvimba. Mbio ndefu inakusanya historia, na kila hatua inayofuata ni ghali zaidi na mbaya zaidi. Kubana muktadha na kumbukumbu ya nje vinahitajika tangu mzunguko wa kwanza, si wakati kila kitu tayari kimeharibika.
Jinsi ya kuanzisha mzunguko wa kwanza wa kujiendesha jioni moja
Usianze kwa «wakala atapata na kufanya kazi mwenyewe». Uhuru unakua hatua kwa hatua: kwanza kazi moja yenye lengo na sharti la kusimama, kisha otomatiki moja kwa ratiba, kisha mtekelezaji na mkaguzi waliotengwa kwenye nakala ya kazi iliyotengwa, na ndipo tu mizunguko inayotafuta kazi yenyewe na kwenda sambamba.
- Tafuta kazi unayofanya kwa mkono angalau mara mbili kwa wiki na ambayo ina mwisho unaoweza kukaguliwa.
- Andika lengo, uthibitisho na sharti la kusimama — mistari mitatu.
- Tengeneza worktree tofauti na usanidi ruhusa: majaribio na kuhariri faili vinaruhusiwa, push na siri hairuhusiwi.
- Tengeneza faili la maendeleo na umwombe wakala alisasishe baada ya kila iteration.
- Tenganisha majukumu: mtekelezaji anaandika, mkaguzi kwenye muktadha tofauti anakagua diff.
- Weka kikomo cha jumla na uangalie matokeo mara ya kwanza baada ya saa moja, si asubuhi.
Hitimisho
Wakala wa AI anayejiendesha ni wa kuaminika kwa kiwango sawa na mipaka yake: sanduku la mchanga ambalo kosa halina gharama, ruhusa ndogo kabisa, lengo linaloweza kuthibitishwa kwa mashine, kumbukumbu kwenye diski, mkaguzi huru, na masharti magumu ya kusimama yenye kupandisha ngazi kwa binadamu. Bila hayo, mbio ndefu si kuokoa muda, bali ni kusafisha fujo baadaye. Jinsi ya kujenga mzunguko kama huu kwenye mradi wa kweli — kuanzia program.md hadi mkaguzi huru — inafundishwa kwa vitendo katika kozi ya harness engineering.
Maswali ya mara kwa mara
Je, ninaweza kumwacha wakala anayejiendesha afanye kazi usiku kwenye kompyuta yangu ya kazi?
Unaweza, ikiwa amefungwa kwenye kontena au nakala tofauti ya kazi bila ufikiaji wa funguo na data ya uzalishaji, akiwa na ruhusa finyu na bajeti ya jumla. Hali bila uthibitisho kwenye mashine yenye siri zako ni wazo baya.
Wakala wa usiku anagharimu kiasi gani?
Inategemea modeli na urefu wa muktadha, kwa hiyo weka bajeti mapema kwa hatua, muda au pesa. Muktadha unaovimba unafanya hatua za mwisho kuwa ghali kuliko za mwanzo, kwa hiyo kubana muktadha na kumbukumbu ya nje vinaokoa pesa pia.
Kwa nini wakala asiruhusiwe kuamua mwenyewe kwamba kazi imekamilika?
Wakala anaona hoja zake mwenyewe na huelekea kuamini matokeo yake ni sahihi. Utayari unapaswa kuthibitishwa na majaribio na mkaguzi katika muktadha safi unaoona mahitaji, diff na matokeo ya ukaguzi pekee.
Nifanye nini asubuhi na matokeo ya mbio ya kujiendesha?
Soma jarida la maendeleo na git log ya tawi, pitia diff, na shughulikia kazi zilizo katika hali ya blocked. Unganisha kwenye tawi kuu tu kile ulichokisoma na kukielewa.
Wakala anayejiendesha ni tofauti vipi na cron?
Mzunguko wa ratiba huanza maelekezo upya kila wakati — ni mzunguko wa muda. Wakala anayejiendesha anafanya kazi kwa lengo: anakumbuka maendeleo kwenye faili na anasimama lengo likifikiwa au bajeti ikiisha.
Mada hii inafundishwa kwa kina pamoja na mazoezi katika kozi “Harness Engineering: инженерия надёжности AI-агентов”.
- Автономный AI-агент часами без присмотра: Loop Engineering и условия остановки
- Харнес AI-агента с нуля: AGENTS.md, feature_list.json, verify.sh и автономный цикл