SSD Nodes Learn RAM 8GB — $66/mwaka
Mwongozo Matt ConnorNa Matt Connor · Imeboreshwa 2026-08-01

Wape mawakala wa msimbo VM ya kutupwa

Weka mawakala wa AI kwenye VM inayoweza kuharibiwa na kujengwa upya ndani ya dakika 10, ikiwa na hali safi kwa kila kazi, snapshots na VPS nafuu.

Kwa nini VM ya kutupwa ni bora kuliko laptop yako

Mpe wakala wa kuandika msimbo VM ya kutupwa, na jambo baya zaidi analoweza kufanya ni kuharibu mashine unayoweza kuijenga upya ndani ya dakika 10. Wakala bado anapata akaunti ya root, bado anasakinisha vifurushi, na bado anaendesha mkusanyiko wa majaribio bila kuomba ruhusa kwa kila hatua. Tofauti ni mahali ambapo uharibifu unatokea. Kwenye laptop, wakala anashiriki saraka ya nyumbani na funguo zako za SSH, wasifu wa kivinjari, faili zako za .env, na kila hazina nyingine uliyowahi ku-clone. Kwenye server ya kutupwa, ana shell, checkout, na hakuna kitu kingine chenye thamani ya kuchukua.

Huo ndio msingi wote wa hoja, nayo inahusu kutolingana kwa athari badala ya uwezekano. Wakala makini kwenye laptop makini huwa salama karibu kila wakati. Mara moja inapokosea, gharama si commit mbaya. Ni kurejesha kutoka kwenye backup, ikiwa unayo.

Taja mapema wigo wa madhara kabla hujabishania

Wigo wa madhara ni seti ya vitu ambavyo mchakato unaweza kufikia. Kwa agent anayeendesha kama mtumiaji wako wa kawaida kwenye mashine yako ya kawaida, seti hiyo ni kubwa kuliko watu wengi wanavyodhani.

Inajumuisha ~/.ssh/id_ed25519, ambao kwa kawaida haujasimbwa kwa njia fiche kwa sababu umechoka kuandika passphrase. Inajumuisha ~/.aws/credentials na ~/.config/gh/hosts.yml, ambazo zimeundwa kuwa maandishi wazi. Inajumuisha kila repository iliyo karibu chini ya ~/code, ikiwemo zenye connection strings za production kwenye faili ya env ya ndani. Pia inajumuisha historia ya shell yako, iliyo na tokens ulizobandika mara moja. Inajumuisha pia mtandao ambao laptop yako imeunganishwa, ambao mara nyingi ni mtandao wa nyumbani au ofisini wenye huduma zisizo na uthibitishaji.

Hakuna kati ya hayo inayohitaji agent hasidi. Inahitaji command moja tu iliyoandikwa kwa kujiamini lakini si sahihi. rm -rf yenye variable ambayo haijawekwa ikipanuka kuwa /, git clean -xfd kwenye directory isiyo sahihi, docker system prune -af --volumes inayochukua database yako ya ndani pamoja nayo, au chmod -R 777 yenye nia ya kusaidia kwenye directory ya nyumbani. Agents wamefunzwa kwa kutumia internet ileile iliyowafundisha watu wengine commands hizo.

Mbinu inayokulinda si uamuzi wa agent. Ni kwamba mashine inayobeba madhara ni mashine ambayo ulikuwa tayari kuipoteza.

Hesabu ya gharama inachosha, na hilo ndilo jambo muhimu

VPS ndogo hugharimu dola chache kwa mwezi. Kurejesha laptop ya msanidi huchukua siku, na hiyo ni hali nzuri, ambapo unatambua tatizo mara moja na ulikuwa na nakala rudufu.

Fanya hesabu kwa kutumia namba zako mwenyewe. Chukua kiwango chako cha malipo kwa saa, kisha zidisha kwa saa ambazo zingehitajika kusakinisha upya mfumo wa uendeshaji, kurejesha saraka ya nyumbani, kubadilisha SSH key, kubadilisha personal access token, na ku-clone tena hazina ishirini. Linganisha gharama hiyo na miezi kumi na miwili ya server ndogo zaidi inayouzwa na mtoa huduma wako. Gharama inalingana kabla ya tukio moja kutokea katika kipindi cha miaka kadhaa, na tukio hilo halihitaji kuwa kubwa sana ili gharama hiyo izidi kiwango hicho. Kupoteza alasiri moja kwa sababu ya mazingira ya ndani yaliyoharibika tayari kunalipia mwaka mzima.

Nusu ya pili ya hesabu ni snapshots. Snapshot kabla ya kutekeleza operesheni hatari hubadilisha matokeo mabaya kutoka kuwa "rejesha maisha yangu yote" hadi kuwa "rejesha hali ya awali na ujaribu prompt tofauti". Chaguo hilo halipo kwenye laptop unayoandikia sasa, kwa sababu huwezi kutengeneza snapshot ya mashine unayoitumia kama dawati lako.

Hali ya mazingira kufikia Julai 2026

Kuna majibu matatu ya msingi kuhusu "wakala anapaswa kuendeshwa wapi", na yote yanahusisha mambo mawili yale yale: nguvu ya mpaka wa usalama, na kiasi cha usanidi unachokubali.

Mashine pepe ndogo ya ndani. Zana za aina hii huwasha mashine pepe halisi kwenye maunzi yako, huweka hazina yako ndani yake, na humruhusu wakala kutumia akaunti ya root ndani ya mashine hiyo. clawk ni mfano wa sasa, na hoja yake inaendana kabisa na msimamo wa chapisho hili: wape mawakala wa kuandika msimbo mashine pepe ya Linux inayoweza kutupwa, badala ya kompyuta yako ya mkononi. Kufikia Julai 2026, inalenga macOS 14 na matoleo ya baadaye kwenye Apple silicon, ikiwa na usaidizi wa majaribio wa Linux kupitia Firecracker, na husakinishwa kwa kutumia brew install clawkwork/tap/clawk. Unaendesha clawk ndani ya hazina ili kuwasha sandbox na kuunganisha wakala, clawk down ili kuisimamisha, na clawk destroy ili kuiondoa. Mpaka huo unatekelezwa na hypervisor, hivyo ni imara. Kizuizi ni kwamba mashine pepe inaendeshwa kwenye kifaa unachobeba, kwa hiyo hutumia kumbukumbu yako na husimama unapofunga kifuniko cha kompyuta.

Kontena. Docker ni chaguo ambalo watu wengi tayari wamelisakinisha, na linafaa kwa matumizi halisi.

docker run --rm -it -v "$PWD:/work" -w /work --network none ubuntu:24.04 bash

--rm hutupa kontena wakati wa kutoka, na --network none hulipa mtandao kabisa, jambo ambalo ni chaguo zuri la msingi kwa uundaji au uendeshaji wa majaribio. Elewa wazi jambo ambalo hii haifanyi: kontena hushiriki kernel ya mwenyeji, kwa hiyo hitilafu ya kernel inaweza kutumiwa kuvuka mpaka wa usalama, na mpaka huo hutoweka mara tu unapoongeza --privileged au kuweka /var/run/docker.sock ili wakala aweze "kutumia Docker". Kuweka Docker socket ndani ya kontena ni sawa na kulipa kontena hilo akaunti ya root kwenye mwenyeji.

VPS ya kawaida unayoweza kuunda upya. Huhitaji zana mpya, unapata mpaka halisi wa kernel na snapshots za mtoa huduma, na seva huendelea kufanya kazi unapozima kompyuta yako ya mkononi. Huu ndio muundo unaoelezwa katika mwongozo uliosalia, na ndio unaostahimili uendeshaji mrefu wa mawakala, kwa sababu kazi inayochukua saa nne haiathiriwi na wewe kwenda nyumbani.

Muundo wa VPS: mpe agent mtumiaji wake mwenyewe

Anza na seva iliyoimarishwa kiusalama. dakika kumi za kwanza kwenye VPS mpya zinaeleza sehemu ambazo si mahususi kwa agent: masasisho, kuingia bila root, SSH inayotumia funguo pekee, na firewall.

Kisha unda akaunti inayotumiwa na agent pekee, ili kosa ndani yake lisiweze kugusa kitu kingine kwenye seva.

sudo adduser --disabled-password --gecos "" agent
sudo install -d -m 700 -o agent -g agent /home/agent/work
sudo -u agent -H bash -lc 'id; ls -la ~'

--disabled-password inamaanisha hakuna nenosiri la kukisia, na unafikia akaunti hiyo kwa sudo -u agent au kwa ufunguo wa SSH. Kumbuka kuwa agent haijawekwa kimakusudi katika kundi la sudo. Agent mwenye sudo ana root, na root anaweza kusoma faili za watumiaji wengine wote, hivyo utenganishaji uliouunda sasa ni wa mwonekano tu. Ikiwa agent anahitaji kweli kusakinisha vifurushi, hiyo ni hoja ya kutumia seva nzima anayomiliki, si kumpa sudo kwenye seva inayoshirikiwa. Kanuni za jumla ziko katika upendeleo mdogo kwa watumiaji wa Linux kwenye VPS.

Kagua mpaka huu kabla ya kuamini utenganishaji huo. Ukiwa mtumiaji wa agent, jaribu kusoma faili inayomilikiwa na akaunti yako mwenyewe:

sudo -u agent cat /home/you/.ssh/id_ed25519

Unapaswa kuona cat: /home/you/.ssh/id_ed25519: Permission denied. Ukiona nyenzo za funguo badala yake, saraka yako ya nyumbani iko katika mode 755 na utenganishaji bado si halisi. Irekebishe kwa sudo chmod 700 /home/you.

Weka kitambulisho cha uthibitishaji mbali kabisa na mashine

Madhumuni ya mashine ya matumizi ya muda mfupi yanapotea ukinakili siri za uzalishaji kwenye mashine hiyo. Kanuni ni rahisi: hakuna kitu kwenye mashine hiyo kinachopaswa kuwa kitambulisho cha uthibitishaji ambacho usingependa kukibadilisha mchana huu.

Kwa git, pitisha SSH agent yako badala ya kunakili key. Private key inabaki kwenye laptop yako, na ombi la sahihi pekee ndilo linalopita kwenye muunganisho.

ssh -A agent@203.0.113.10
ssh -T git@github.com

Amri ya pili inapaswa kutoa jibu Hi yourname! You've successfully authenticated, but GitHub does not provide shell access.. Hilo linathibitisha kwamba git push itafanya kazi bila kuwepo kwa faili la key kwenye server. Tekeleza ls -la ~/.ssh kwenye mashine hiyo baadaye na uthibitishe kwamba haina private key.

Agent forwarding ina tahadhari moja muhimu, kwa hiyo ieleze wazi: ukiwa umeunganishwa, mtu yeyote mwenye root kwenye server hiyo anaweza kutumia socket iliyopitishwa kuthibitisha utambulisho kama wewe. Kwenye server ambayo mtumiaji mwingine pekee ni wewe, hilo ni badilishano linalokubalika. Kwenye mashine inayotumiwa kwa pamoja, halikubaliki, na deploy key iliyowekewa kikomo cha repository moja ndiyo chaguo bora. Chaguo hizo zimeelezwa katika Misingi ya usimamizi wa SSH key.

Kwa API keys, mpe agent key yake yenye kikomo chake cha matumizi, na uihifadhi kwenye faili inayomilikiwa na mtumiaji wa agent katika mode 600. Mashine inapoharibiwa, batilisha key hiyo badala ya kujiuliza ikiwa ilivuja. Kuweka matumizi ya model wazi kwa kila key pia ndiko kunakofanya nambari katika Udhibiti wa gharama ya AI agent kwenye VPS zibaki zikitabirika.

Punguza kile ambacho wakala anaweza kufikia kwenye mtandao

Kutenga mfumo wa faili ni nusu ya mpaka wa ulinzi. Nusu nyingine ni egress: kile ambacho mchakato unaruhusiwa kuwasiliana nacho. Linux inaweza kuchuja trafiki inayotoka kulingana na mtumiaji aliyeuanzisha, jambo linalolingana kabisa na muundo huu.

sudo iptables -A OUTPUT -m owner --uid-owner agent -o lo -j ACCEPT
sudo iptables -A OUTPUT -m owner --uid-owner agent -p udp --dport 53 -j ACCEPT
sudo iptables -A OUTPUT -m owner --uid-owner agent -p tcp --dport 443 -j ACCEPT
sudo iptables -A OUTPUT -m owner --uid-owner agent -j REJECT

Sheria husomwa kwa mpangilio, kwa hiyo REJECT ya mwisho hunasa kila kitu ambacho mistari ya awali haikuruhusu. Ijaribu ukiwa kama wakala:

sudo -u agent curl -sS -m 5 http://example.com

Hilo linapaswa kushindwa kwa curl: (7) Failed to connect to example.com port 80: Connection refused, kwa sababu sheria ya reject hujibu mara moja badala ya kuacha muunganisho usubiri. Ombi la HTTPS kwa host hiyo hiyo linapaswa bado kufanikiwa.

Kuna mipaka miwili ya wazi. Kwanza, sheria hizi hupotea wakati wa reboot inayofuata usipozihifadhi, kwa kutumia sudo apt install -y iptables-persistent kisha sudo netfilter-persistent save. Pili, hii huchuja ports na anwani, si majina. Sheria inayoruhusu port 443 huruhusu kila host ya HTTPS kwenye intaneti, jambo linalotosha kufikia API ya modeli na pia kutosha kufikia pastebin. Orodha halisi ya domain zinazoruhusiwa inahitaji trafiki ipitie kwenye proxy inayosoma hostname iliyoombwa, na huo ni usanidi mkubwa zaidi kuliko ambao mipangilio mingi ya msanidi mmoja huhitaji. Dai tu kile ulichothibitisha: udhibiti wa egress wa kiwango cha port, kwenye mashine ambayo ulikuwa tayari kuipoteza.

Weka upya hali safi kati ya kazi

Hali safi kwa kila kazi ni faida ambayo mara nyingi hupuuzwa. Wakala aliyefanya kazi kwa saa tatu kwenye tiketi iliyopita aliacha vifurushi vilivyosakinishwa, migrations zilizotekelezwa kwa sehemu, node_modules iliyopitwa na wakati, na git working tree yenye mabadiliko ambayo hakuna mtu aliyekagua. Kazi inayofuata hurithi yote hayo, na unatumia muda wako wa ukaguzi kubaini ni fujo gani inahusiana na uendeshaji gani.

Njia rahisi ni kutumia checkout mpya kwa kila kazi.

sudo -u agent -H bash -lc 'rm -rf ~/work/repo && git clone git@github.com:you/repo.git ~/work/repo'

Njia imara zaidi ni kuchukua provider snapshot mara moja, baada tu ya kusanidi mashine na kabla ya wakala yeyote kuitumia. Kurejesha snapshot hiyo hurudisha mfumo mzima, pamoja na vifurushi, kwenye hali inayojulikana. Providers wengi hutoa kipengele hiki kwenye control panel au kupitia API badala ya kukitoa kama command kwenye mashine, kwa hiyo hatua kamili hutegemea provider wako. Nidhamu ni kuchukua snapshot wakati mashine bado iko katika hali tulivu.

Hifadhi chochote unachokihitaji nje ya mashine ya muda, jambo ambalo kwa kawaida linamaanisha kusukuma branches badala ya kuzihifadhi kwa wingi ndani ya mashine. Ikiwa mashine itakuwa na kitu ambacho ungejutia kukipoteza, kifanye backup ipasavyo kwa kutumia restic backups kwenye VPS. Mashine unayoweza kuiharibu ina manufaa tu ikiwa kuiharibu hakutasababisha usumbufu wowote mkubwa.

Ikiwa unataka mazingira kadhaa yaliyotengwa bila kulipia servers kadhaa, VPS moja kubwa inaweza kuendesha guest VMs moja kwa moja. Virtualisation iliyowekwa ndani ya VPS inaeleza jinsi hilo linavyofanya kazi, pamoja na jinsi ya kuangalia ikiwa provider wako anaruhusu.

Wakati ambapo laptop iliyo na uangalizi inatosha kweli

Kuwa mkweli kuhusu hili, kwa sababu kusisitiza kupita kiasi kuhusu utengaji huwafanya watu waache kusikiliza.

Ikiwa unakagua kila amri kabla haijaendeshwa, laptop inatosha. Ombi la ruhusa ni udhibiti halisi, na kuendesha Claude Code kwa usalama kwenye seva kunaeleza kile ambacho kila kiwango chake huzuia. Ikiwa kazi yako iko kwenye hazina moja tu, bila taarifa za uthibitishaji za production popote kwenye mashine, eneo la athari tayari ni dogo. Ikiwa vipindi vyako vya agent ni vifupi na unavisimamia, muda wa kukabiliwa na hatari pia ni mfupi.

Jibu hubadilika mara tu unapopuuza maombi ya ruhusa. Uendeshaji usio na usimamizi, kazi za usiku kucha, na mtiririko wowote wa kazi ambapo unaidhinisha mpango kisha unaondoka, huondoa ukaguzi wa binadamu uliokuwa ukizuia athari. Hapo ndipo mashine yenyewe inapopaswa kufanya hivyo. Hali hiyo inatumika pia kwa kitu chochote kinachopanua ufikiaji wa agent, ikiwa ni pamoja na kuendesha coding agent kwenye VPS kwenye hazina kadhaa kwa wakati mmoja.

Uamuzi hauhusu kwa kweli kiasi cha kuamini model. Unahusu kile kilicho karibu nayo wakati model inapokosea.

FAQ

Je, kontena linatoa utenganishaji wa kutosha kwa wakala wa uandishi wa msimbo?

Kwa kazi nyingi, ndiyo, ikiwa masharti mawili yametimizwa. Kontena halipaswi kuendeshwa kwa --privileged, na halipaswi kuwa na /var/run/docker.sock iliyowekwa ndani yake, kwa sababu mojawapo inaweza kuupa mchakato njia ya kufikia root kwenye host. Kontena hushiriki kernel ya host, kwa hiyo mpaka wake ni dhaifu kuliko wa mashine pepe. Ikiwa wakala anaendesha msimbo usioaminika uliopakuliwa kutoka kwenye intaneti, tumia mashine pepe halisi au server tofauti.

Je, wakala anahitaji sudo kwenye server?

Hapana. Kumpa sudo kunabatilisha utenganishaji uliouunda, kwa sababu root inaweza kusoma akaunti nyingine zote kwenye mashine. Unda mtumiaji wa wakala bila sudo na mpe ruhusa ya kuandika kwenye saraka yake ya kazi pekee. Ikiwa kazi inahitaji kusakinisha vifurushi, mpe wakala mashine nzima anayoimiliki badala ya root kwenye mashine anayoshiriki na wengine.

Ninawezaje kumruhusu wakala kusukuma mabadiliko kwenye git bila kuweka ufunguo wangu wa SSH kwenye mashine?

Forward SSH agent yako kwa kutumia ssh -A unapounganisha. Maombi ya saini hupita kupitia muunganisho, huku ufunguo wa faragha ukibaki kwenye laptop yako. Kwa hiyo ssh -T git@github.com huthibitisha utambulisho, na git push hufanya kazi bila ufunguo wa faragha kwenye server. Tahadhari ni kwamba root kwenye server hiyo inaweza kutumia socket iliyoforwardiwa wakati umeunganishwa. Kwa hiyo, tumia deploy key inayohusu repository pekee kwenye mashine yoyote unayoshiriki na watu wengine.

Wakala anahitaji VPS yenye ukubwa gani?

Kazi ya wakala huhusisha hasa kuhariri faili, kuendesha builds na tests. Kwa hiyo, pima ukubwa wa mashine kulingana na build, si kulingana na model. Model inayopangishwa huendeshwa kwenye hardware ya mtoa huduma. Hilo huongeza network traffic na husababisha mzigo mdogo sana wa ndani. Anza na 2 GB RAM kwa kazi za scripting. Tumia 8 GB ikiwa repository huunda kontena au hukompili programu kubwa.

Ninapaswa kuharibu na kuunda upya mashine mara ngapi?

Iunde upya wakati hali yake haiwezi tena kuelezeka. Fanya hivyo pia angalau kila wakati credential kwenye mashine inaweza kuwa imefichuka. Checkout mpya kati ya kazi hushughulikia mabadiliko ya kila siku. Snapshot iliyochukuliwa kabla ya kuendesha wakala kwa mara ya kwanza hukupa image safi ya mfumo ya kurejea. Ikiwa kuunda upya kunaonekana kuwa ghali, hiyo ni ishara kwamba kitu muhimu kinaishi kwenye mashine uliyoiita ya matumizi ya muda.