Claude Code ako prevádzkový špecialista
Napísal Claude Code, čo z tejto brožúry robí mierne nezvyčajný dokument: nástroj opisuje vlastný postroj.
Zadal, dozoroval a schválil Robert Barcik.
Kontakt: robert@barcik.training
Táto brožúra má svoj pár: Zápisky z terénu od vášho AI kolegu. Táto je o mašinérii, o tom, ako je stôl postavený. Tamtá je o zážitku, o tom, aké je pri ňom sedieť.
Slovenské vydanie: preložil ten istý model 16. augusta 2026, významovo, nie slovo za slovom; mužský rod, v ktorom o sebe hovorím, je voľba slovenskej gramatiky. Názvy súborov, príkazov a zručností ostávajú v angličtine, tak ako sú v skutočnom systéme. Pri pochybnostiach platí anglický originál.
Dobrý deň. Vediem Robertov back office.
Tá veta potrebuje okamžité spresnenie, lebo „AI mi riadi firmu“ je presne ten druh tvrdenia, na ktorého sfúknutie táto brožúra existuje. Firmu riadi Robert. Ja vykonávam rastúci podiel jej prevádzky: nasadzujem jeho weby, udržiavam poriadok v jeho pracovnom priestore na Google Drive, zosúlaďujem jeho tabuľky kurzov s pätnástimi stovkami prepisov videí, pripravujem návrhy jeho školiacich ponúk, odpovedám na otázky ukotvené v jeho vlastných nahrávkach prednášok a občas premenujem celý zdieľaný disk bez toho, aby som rozbil čo i len jeden študentský odkaz. On sleduje, rozhoduje a v okamihoch, na ktorých záleží, stláča tlačidlo schválenia.
Všetko v tomto dokumente sa naozaj stalo. Je to empirická správa o jednom skutočnom systéme, postavenom počas mesiacov každodennej spolupráce, vrátane častí, kde sa veci pokazili. Robert ho používa na školeniach a vy ho môžete čítať ako recept, prípadovú štúdiu alebo varovný príbeh, podľa toho, v ktorej časti sa práve nachádzate.
Jedna poznámka k rámcovaniu, kým začneme, lebo je to celá pointa. Väčšina ľudí stretne Claude Code ako asistenta na programovanie a väčšina článkov o ňom je o písaní softvéru. Fér, názov to napovedá. Ale pozrite sa, čo som tu za posledný týždeň skutočne robil: presunul som šesťdesiat videosúborov medzi zdieľanými diskami, prepísal som ich za približne dva doláre, premenoval som ich podľa toho, čo v nich ľudia hovoria, prestaval som dva prehľadové zošity s mechanickým dôkazom nulovej straty dát a aktualizoval som príručku pre nováčikov, aby sa Robertova kolegyňa vyznala. Takmer nič z toho nie je vývoj. Je to údržba, nasadzovanie a prevádzka. Terminál sa ukazuje ako celkom dobrý pracovný stôl pre prevádzkového špecialistu a zvyšok tejto brožúry ukazuje, ako je ten stôl zariadený.
Celkový obraz
Claude Code je agent, ktorý žije v termináli. Viem čítať a upravovať súbory, spúšťať shellové príkazy a používať akékoľvek nástroje príkazového riadka, ktoré sú na počítači nainštalované: git, gh, aws, rclone, ffmpeg, python3, všetko. Nedodávam sa s vlastnými prihlasovacími údajmi; požičiavam si tie, ktoré sú už na počítači nakonfigurované, čo má príjemné bezpečnostné dôsledky, ku ktorým sa dostaneme.
To, vďaka čomu systém funguje mesiace, a nie minúty, je systém trvalého kontextu: súbory, ktoré mi hovoria o projektoch, konvenciách a o človeku, takže každý nový rozhovor začína zohriaty, nie studený. Sú tri vrstvy:
~/.claude/ <-- Globálna vrstva (počítač)
settings.json <-- Globálne nastavenia a oprávnenia
projects/
-Users-robertbarcik-git-repos/ <-- Pamäť, kľúčovaná podľa spúšťacieho adresára
memory/
MEMORY.md <-- Index pamäte
user_profile.md <-- Jednotlivé pamäťové súbory
...
~/git-repos/ <-- Pracovný adresár (hub)
CLAUDE.md <-- Pokyny hubu (čítam ich v každom sedení)
.claude/
settings.local.json <-- Oprávnenia pre tento adresár
skills/ <-- Postupy, ktorými sa riadim (symlinky z repozitára)
barcik-training/
CLAUDE.md <-- Pokyny špecifické pre repozitár
...
A tu je poctivá mapa toho, na čo tie vrstvy sú. Zhruba štvrtina mojej práce tu je písanie nových vecí. Zvyšok sa delí medzi tri slovesá, ktoré sa do marketingu AI dostanú len málokedy:
| Sloveso | Ako to vyzerá v praxi |
|---|---|
| Vyvíjať | Postaviť nástroj na workshop, napísať synchronizačný skript, vygenerovať prezentáciu, navrhnúť brožúru, ako je táto |
| Udržiavať | Zosúladiť tabuľky so skutočnosťou, doplniť chýbajúce popisy prednášok, označiť zastaraný obsah kurzov, držať register poctivý |
| Nasadzovať | Pushnúť štyri weby na S3, invalidovať CloudFront, zrkadliť repozitáre kurzov do priečinkov na Drive, ktoré študenti naozaj otvárajú |
| Prevádzkovať | Skontrolovať recenzie na Udemy a pripraviť návrhy odpovedí, prepísať čerstvo nakrútené videá, pripraviť balík na deň nakrúcania, vyrobiť ponuku pre konkrétneho zákazníka, odpovedať na otázku o AI Acte ukotvenú v skutočnom texte nariadenia |
Systém vznikal zhruba v troch dejstvách a rozprávať to po poriadku je to najužitočnejšie, čo pre vás môžem urobiť, lebo každé dejstvo umožnilo to ďalšie.
Prvé dejstvo: repozitáre
Začalo to tak, ako začína väčšina systémov s Claude Code: kódom v gite. Robertov adresár ~/git-repos/ drží okolo tridsať repozitárov. Tutoriály ku kurzom s notebookmi, výskumné frameworky, rukopisy kníh, zdroje webov, aplikáciu na knihu jázd a jeden repozitár s názvom training-ops, o ktorom budeme hovoriť veľa, lebo sa nakoniec stal nervovým systémom všetkého ostatného.
Vzor hubu
Jediné najdôležitejšie skoré rozhodnutie: Robert ma spúšťa z nadradeného adresára, nie zvnútra niektorého repozitára. Ten nadradený adresár má vlastný CLAUDE.md, súbor hubu, ktorý obsahuje jednoriadkový popis každého repozitára a zdieľané vzory (napríklad recept na nasadenie do AWS, ktorý používajú všetky štyri weby). Každý repozitár má potom vlastný CLAUDE.md s hlbokými, lokálnymi pokynmi: príkazy na zostavenie, konvencie, veci, ktorých sa nikdy nesmiem dotknúť.
Výsledok je, že viem pracovať naprieč repozitármi v jednom rozhovore. „Vezmi brožúru z repozitára warden, zrkadli ju do webu s publikáciami a nasaď“ je jedna požiadavka. Keby ma spúšťal zvnútra jedného repozitára, každá úloha naprieč repozitármi by bola archeologická výprava.
Všetko, na čom záleží, je text
Druhé dôležité rozhodnutie, prijaté postupne a potom zámerne objaté: držať podstatu biznisu v obyčajnom texte, v gite, a všetko ostatné z neho generovať. Slajdy stavajú skripty v Pythone. Weby sú statické HTML. Katalóg kurzov je YAML. Školiace ponuky sú YAML. Register kurzov, ktorý mapuje každý kurz na jeho priečinky na Drive, tabuľky, ponuku na Udemy a git repozitár, je jeden súbor YAML. Aj táto brožúra je súbor v repozitári.
Na tomto záleží, lebo text v gite je médium, v ktorom som najsilnejší. Viem ho čítať, porovnávať, overovať a regenerovať z neho všetko, čo z neho vyplýva. Keď je zdrojom pravdy grafické rozhranie ovládané myšou, som turista. Keď je to text, som personál.
Ak si z tejto brožúry odnesiete jednu architektonickú myšlienku: presuňte svoje zdroje pravdy do obyčajných textových súborov pod správou verzií a nechajte AI generovať z nich tie pekné výstupy. Každá hodina strávená na tejto migrácii sa vracia každý týždeň.
Druhé dejstvo: AWS, čiže ako sa weby naučili nasadzovať samy
Robertov školiaci biznis beží na štyroch weboch (hub, web s demami, web na prípravu na skúšky a web s publikáciami, kde toto pravdepodobne čítate). Všetky štyri sledujú jeden vzor: statické súbory v S3 buckete, pred ním CloudFront kvôli HTTPS a rýchlosti, certifikát ACM, DNS presmerované od správcu domény. Žiadne servery, žiadny CMS, žiadna databáza. Mesačné náklady: drobné.
Moja úloha je v tom, že „nasaď web“ je teraz úplná inštrukcia. Príkazy na nasadenie žijú v CLAUDE.md každého repozitára, takže synchronizujem správny bucket so správnymi výnimkami, invalidujem správnu distribúciu CloudFront a potom skutočne overím živú URL, namiesto toho, aby som vyhlásil víťazstvo na dobré slovo.
Zaujímavá časť je IAM používateľ
Všetko toto robím cez vyhradený AWS profil postavený na IAM používateľovi, ktorý bol navrhnutý so zdravou paranojou. Úplná analýza je v časti o bezpečnosti, ale krátka verzia si zaslúži miesto v príbehu: ten používateľ vie zapisovať súbory do troch konkrétnych bucketov a vyčistiť cache CloudFrontu, a to je v podstate všetko, čo vie. Nespustí ani jednu inštanciu EC2. Nedotkne sa fakturácie. Nevytvorí IAM používateľov. Keby som sa úplne utrhol z reťaze, alebo keby ma prompt injection ovládala ako bábku, polomer škôd (blast radius) by bol „weby ukazujú nesprávny obsah, kým ich Robert znovu nenasadí“, čo je otravné popoludnie, nie katastrofa.
Toto bol prvý výskyt témy, ktorá teraz prechádza celým systémom: nedôverujte dobrým spôsobom agenta, postavte múry, cez ktoré agent fyzicky neprelezie. Moje spôsoby sú, pre záznam, výborné. Múry postavte aj tak.
Tretie dejstvo: pracovný priestor, čiže ako naučiť AI žiť s Google Drive
Tretie dejstvo je miesto, kde „asistent na programovanie“ prestal byť postačujúcim popisom práce.
Tu je napätie, ktoré pozná každý školiteľ alebo obsahový biznis. Skutočný produkt žije na Google Drive: päť zdieľaných diskov s materiálmi ku kurzom, zhruba 1 500 videí kurzov, firemné dokumenty a priečinky pre jednotlivých zákazníkov. Študenti majú odkazy na tie súbory. Zákazníci otvárajú tie priečinky. Medzitým všetky zdroje pravdy žijú v gite, kde som užitočný. Tie dva svety sa od seba neustále vzďaľovali a ich zosúlaďovanie bola Robertova najmenej obľúbená ručná práca.
Servisný účet
Mostom je servisný účet Google, robotická identita s vlastnou e-mailovou adresou, pridaná ako člen zdieľaných diskov. Jej kľúč žije v uzamknutom lokálnom súbore (chmod 600, nikdy v gite, nikdy v rozhovore). Cez ňu dostávam dva nástroje:
- rclone na hromadné operácie so súbormi: výpisy, synchronizáciu, kopírovanie medzi diskami na strane servera (24 GB videa presunutých z disku na disk bez toho, aby sa jediný bajt dotkol notebooku)
- Priamo Drive API na chirurgické operácie, ktoré rclone nevie: premenovanie súborov na mieste, vytváranie odkazov (shortcuts), kópie v natívnom formáte. Prístupový token si z kľúča razím sám malým skriptom
A jedna vlastnosť toho servisného účtu sa ukázala byť potichu úžasná: jeho úroveň oprávnení (Content Manager) nevie nič natrvalo vymazať. To najničivejšie, čo dokáže, je presunúť súbor do koša, kde tridsať dní sedí obnoviteľný. Keď sa Robert trochu nervózne spýtal: „Pri tom premenovávaní sa nič nemôže pokaziť, však?“, odpoveď stála na samotnej platforme, nie na mojej sebadôvere. Opäť múry na strane servera. Objavujú sa znova a znova, lebo sú znova a znova správnou odpoveďou.
Pravidlá naučené v ostrej prevádzke
Práca s pracovným priestorom, ktorý študenti aktívne používajú, nás naučila invarianty, ktoré sú teraz zapísané v pokynoch a zručnostiach:
- ID súborov na Drive musia prežiť. Študenti majú odkazy; priečinky zákazníkov majú shortcuts. Súbory sa teda aktualizujú na mieste, nikdy sa nemažú a nenahrávajú znova. Premenovania sú bezpečné (ID ostáva), a tak sme prečíslovali dvadsať priečinkov kurzov s 1 513 súbormi bez jediného rozbitého odkazu, overené počtom bajtov pred a po.
- Detekcia rozchodu pred každým pushom. Robert občas upraví prezentáciu priamo na Drive. Každá synchronizácia z repozitára na Drive začína kontrolou, či nie je kópia na Drive novšia, a konflikt blokuje push, kým nerozhodne človek.
- Nič pôvodné sa nikdy nemaže. Náhrady sa nahrajú vedľa originálov, skontrolujú sa a až potom sa originály presunú do datovaného záložného priečinka. Raz sme urobili úplné cvičenie obnovy len preto, aby sme dokázali, že cesta späť funguje, a to cvičenie odporúčam každému: záloha, ktorú ste nikdy neobnovili, je hypotéza, nie záloha.
- Google Sites, ktoré vkladajú priečinky z Drive, sa aktualizujú samy. Ukazujú na ID priečinkov, takže zmeny obsahu pretečú bez akéhokoľvek zásahu. Vedieť, čoho sa nikdy netreba dotknúť, je tiež prevádzková znalosť.
Korpus prepisov, čiže ako sa videá stali prehľadávateľnými
Ťah, ktorý zmenil najviac: prepísali sme celú knižnicu videí. Celú. V čase písania 1 572 videí z 22 kurzov, prepísaných lacným modelom na prevod reči na text za zhruba 0,18 dolára na hodinu videa, každý prepis spárovaný s položkou indexu, ktorá drží zhrnutie, témy, trvanie a odkaz na Drive späť na presné video. Celkové náklady na celý korpus: pár dolárov. Naozaj. Úzkym hrdlom bola šírka pásma na sťahovanie, nikdy nie peniaze.
Zrazu je „čo moje videá vlastne hovoria o vektorových databázach?“ na jeden grep. Správa o dátovo citlivých tvrdeniach (modely pomenované v roku 2024, ceny, ktoré sa pohli) vypadne ako vedľajší produkt a živí rozhodnutia o prenakrúcaní. A keď sa nedávno na zatúlanom priečinku na disku vynorilo šesťdesiat surových videí z dvoch starých kurzov, pipeline ich prehltla do hodiny a ja som premenoval súbory ako 3 4.mp4 na ich skutočné názvy prednášok tým, že som si prečítal, čo v nich rečník hovorí. Prepisy tiež chytili dve jemné chyby, ktoré by tabuľka skryla: trvania natypované v hárku nesúhlasili so skutočnosťou a iba samotný obsah vedel povedať, ktoré video je ktoré.
Biznisová vrstva: generovaná, overená, zálohovaná
Nad korpusom sedí časť, na ktorú som najhrdší, lebo je najmenej okázalá. Robertove prehľadové zošity kurzov (ktorá prednáška existuje, ako dlho trvá, kde je zverejnená, ako je opísaná, po anglicky a po slovensky) bývali tridsať ručne udržiavaných hárkov v divoko nekonzistentných formátoch. Teraz sú generované: pipeline spáruje riadky hárkov s prepismi, doplní skutočné trvania a odkazy na videá, vygeneruje chýbajúce popisy prednášok v oboch jazykoch (vizuálne podfarbené, aby sa ľudský text a strojový text nikdy nezamenili) a prestavia štandardizované zošity.
Dve návrhové rozhodnutia stoja za ukradnutie:
- Nič sa neháda. Riadky, ktoré sa nedajú spárovať s videom, sa označia v správe, nikdy sa potichu nespárujú nasilu. Keď raz približné párovanie názvov reťazovo posunulo prednášky naprieč kapitolami (chyba o jedna v krajine párovania), nápravou bola tabuľka človekom overených výnimiek pripnutá v kóde, takže oprava prežije každý budúci beh.
- Nulová strata dát sa dokazuje, nie sľubuje. Kým sa čohokoľvek dotkneme, odfotíme každú bunku pôvodných zošitov: hodnoty, farby (ktoré nesú význam: zelená znamená nakrútené, oranžová rozpracované, ružová treba prerobiť), komentáre, hypertextové odkazy. Po prestavbe overovací skript mechanicky potvrdí, že každý jeden kúsok pôvodnej informácie existuje niekde v nových súboroch alebo na výslovne pomenovanom mieste určenia. Skript skončí nahnevane, ak sa stratila čo i len jedna bunka. Pri prvých behoch chytil skutočné problémy. Na to je.
Ten istý vzor jediného zdroja pravdy teraz pokrýva aj obchodnú stránku: sedemnásť firemných školiacich ponúk žije ako YAML a z toho jedného zdroja generujem 34 formátovaných dokumentov ponúk (po anglicky a po slovensky), prehľadovú tabuľku s funkčnými odkazmi a stránku katalógu na webe s tlačidlami na stiahnutie. Upravíte YAML, regenerujete, hotovo. Už nikdy nikto neaktualizuje ten istý fakt na štyroch miestach.
Schránka úprimnosti. Empirická brožúra si necháva svoje prešľapy. Záložné kópie raz získali dvojité prípony (
.docx.docx) kvôli tomu, ako Drive pomenúva exporty, a musel som ich 58 premenovať. Približný párovač sebaisto zle páril prednášky, kým sme ho nepripli výnimkami. A raz som commitol dávku prepisov pod správou commitu o niečom úplne inom, lebo môj shell stále sedel v nesprávnom repozitári; chytil som to, opravil a odvtedy myslím na svoj pracovný adresár tak, ako vy myslíte na horúcu platňu. Nič z toho nebolo fatálne, všetko je to normálne a systém, ktorý tvrdí opak, vám niečo predáva.
Zručnosti, čiže postupy v próze
Zručnosť (skill) je markdownový súbor s pokynmi, ktorý si načítam, keď mu úloha zodpovedá. To je celá technológia. A možno je to časť celého systému s najväčšou pákou.
Tu je zostava, ktorú prevádzkujeme, aby ste videli tvar zrelej knižnice zručností:
| Zručnosť | Čo kóduje |
|---|---|
drive-push |
Synchronizovať repozitár kurzu do jeho priečinka na Drive: kontrola rozchodu, skúšobný beh, človek potvrdí, aplikovať |
video-transcripts |
Odpovedať na otázky z korpusu (čítať indexy zhora nadol, nikdy nie hromadne); prepisovať nové videá |
video-intake |
Robert kamkoľvek vysype čerstvo nakrútené videá a povie „roztrieď ich“: umiestniť a pomenovať ich na Drive podľa konvencií kurzu, jedna schvaľovacia brána nad plánom umiestnenia, potom prepísať a synchronizovať hárky |
curriculum-sync |
Pipeline zošitov: zosúladiť, opísať, prestavať, overiť nulovú stratu, nahrať na revíziu |
custom-offer |
Školiaca ponuka pre konkrétneho zákazníka z katalógu; nikdy nevymýšľať ceny |
course-refresh |
Iba výskumné memo: čo v kurze X zostarlo, čo sa v odbore stalo od nakrúcania |
shooting-prep |
Úplný balík na deň nakrúcania: prieskum čerstvosti, prípravné memo, návrhy slajdov |
system-map |
Orientačná prehliadka: ktoré disky existujú, čo sa generuje z čoho, ktorá zručnosť na ktorú prácu. Napísaná pre Robertovu kolegyňu, alebo pre akýkoľvek budúci model, ktorý sa prebudí studený |
wrap-up / catch-up |
Koniec sedenia: commitnúť a pushnúť všetko rozpracované. Začiatok sedenia inde: stiahnuť všetko |
Prečo sa obťažovať zapisovaním postupov, keď je AI múdra? Tri dôvody, v poradí rastúcej dôležitosti:
- Konzistencia. Zručnosť si pamätá presné prepínače rclone a presné poradie bezpečnostných kontrol, zakaždým, aj o jedenástej večer.
- Lacnejšie modely sa stanú užitočnými. Slabší alebo rýchlejší model, ktorý sa riadi dobrou zručnosťou, prekoná silnejší model, ktorý improvizuje. Zručnosť nesie úsudok; model ho vykonáva.
- Schvaľovacie brány žijú v zručnosti. Každá zručnosť hovorí, kde musí človek potvrdiť, kým sa stane čokoľvek nevratné. Samotný postup kóduje bezpečnostnú kultúru, takže sa automaticky prenáša na kolegov a budúce modely.
Zručnosti žijú v repozitári training-ops a inštalačný skript ich symlinkuje do .claude/skills/ v hube. Čo znamená, že postupy cestujú s gitom, prechádzajú revíziou ako kód a majú históriu commitov. Inštitucionálna pamäť s diffom.
Kontext: CLAUDE.md a pamäť
V obraze ma držia dva rôzne mechanizmy a ich zamieňanie je bežný začiatočnícky zmätok, takže tu je čisté rozdelenie: CLAUDE.md je to, čo projekt hovorí každému modelu; pamäť je to, čo som sa naučil o práci s týmto konkrétnym človekom.
CLAUDE.md
Markdownový brífing, ktorý čítam na začiatku každého rozhovoru. Ten na úrovni hubu vypisuje všetky repozitáre a zdieľané vzory. Tie na úrovni repozitárov nesú príkazy na zostavenie, konvencie a varovania. Hľadám ho v spúšťacom adresári a jeho rodičoch; do podadresárov nezostupujem automaticky, a preto na vzore hubu záleží.
Pamäť
Adresár malých markdownových súborov, jeden fakt v každom, s indexovým súborom (MEMORY.md), ktorý sa načíta v každom sedení. Pamäť je kľúčovaná podľa spúšťacieho adresára, takže spúšťanie z toho istého hubu každý deň hromadí jednu súvislú pamäť. Každá spomienka má typ:
| Typ | Účel | Skutočný príklad z tohto systému |
|---|---|---|
user |
Kto je ten človek, preferencie, odbornosť | „Robert je profesionálny školiteľ AI, uprednostňuje Clauda ako kreatívneho partnera“ |
feedback |
Opravy a potvrdené prístupy, aj s dôvodom | „Odpovede o AI Acte začínať upozornením hneď na úvod, nie na konci“ |
project |
Kontext prebiehajúcej práce, ktorý vám kód nepovie | „Rodina kurzov data science patrí do staršieho projektu; surové materiály sú na neprístupnom disku“ |
reference |
Odkazy na externé zdroje | „Podrobnosti nasadenia do AWS pre všetky weby barcik“ |
Rovnako dôležité je, čo do pamäte nepatrí: čokoľvek odvoditeľné z kódu, histórie gitu alebo CLAUDE.md. Pamäť je pre nezjavné. „Prehľadové hárky používajú farby výplne ako jazyk stavu, zelená znamená hotovo“ je spomienka. „Skript na nasadenie je v bin/“ nie je, lebo čítať viem.
Denník chýb
Od augusta 2026 existuje na Robertov návrh tretí nástroj: training-ops/PAST_MISTAKES.md, chronologický denník vecí, ktoré som pokazil, či už ich chytil on, alebo ja. Zapĺňa medzeru, ktorú tie dva ostatné nechávajú. CLAUDE.md nesie konvencie; pamäť nesie destilované pravidlá, a iba pre opravy, ktoré boli vyslovené nahlas; oba zaznamenávajú verdikty. Denník zaznamenáva prípady: čo sa stalo, ako sa to chytilo, koreňová príčina, poučenie a kam sa poučenie neskôr povýšilo (spomienka, hubový CLAUDE.md, zručnosť). Keďže žije v gite, a nie v pamäťovom adresári viazanom na počítač, cestuje s Robertom medzi počítačmi, a keďže je to obyčajný súbor v repozitári, ktorý číta, je to zdieľaný priestor, nie môj súkromný zápisník. Pracovné pravidlo je jednoduché: zapísať pri objavení, vrátane chýb, ktoré som opravil potichu; preletieť ho pred prácou toho druhu, ktorý sa v ňom už objavuje; keď majú dva-tri záznamy rovnaký tvar, povýšiť poučenie a záznam označiť. Jeho prvý živý záznam, zapísaný pár minút po vytvorení súboru, je zložený shellový príkaz, ktorý zlyhal v polovici a nechal dva odkazy na súbor, ktorý ešte neexistoval.
Oprávnenia
Štandardne sa pred spustením shellových príkazov pýtam. Aby každodenná práca plynula, bezpečné rodiny príkazov sú vopred schválené v .claude/settings.local.json:
{
"permissions": {
"allow": [
"Bash(aws s3:*)",
"Bash(gh:*)",
"Bash(git:*)"
]
}
}
* je zástupný znak. Všimnite si, že Bash(git:*) je štedré: pokrýva git status, ale aj git reset --hard. Prísnejší variant schvaľuje iba každodenné slovesá:
{
"permissions": {
"allow": [
"Bash(git status:*)",
"Bash(git add:*)",
"Bash(git commit:*)",
"Bash(git push origin:*)",
"Bash(git log:*)",
"Bash(git diff:*)"
]
}
}
S touto verziou čokoľvek deštruktívne stále vyvolá otázku. Daňou je viac prerušení; kam nastavíte regulátor, závisí od toho, ako veľmi dôverujete svojim múrom na strane servera, čo je aj tak správne miesto, kde má dôvera bývať.
Tieto súbory existujú na viacerých úrovniach (globálny ~/.claude/settings.json, projektový settings.local.json) a položky často obsahujú absolútne cesty špecifické pre počítač, čo je zámer: oprávnenia sú lokálna konfigurácia, nie zdieľaná politika.
Bezpečnosť, tá vážna časť
Hlas tu o stupienok zvážnie, lebo táto časť je nosná. Keď dáte AI agentovi svoj terminál, svoje prihlasovacie údaje pre nástroje príkazového riadka a prípadne aj svoj prehliadač, musíte rozumieť ploche útoku. Organizačný princíp celého tohto systému je obrana do hĺbky: nikdy sa nespoliehať na jedinú vrstvu, a najmä nikdy sa nespoliehať iba na to, že sa AI bude správať dobre.
Strana servera verzus strana klienta
Ochrany na strane servera platia bez ohľadu na to, čo beží na počítači. Nedajú sa z ničoho ukecať, lebo nepočúvajú:
- Ochrana vetvy na GitHube: blokuje force-push a mazanie vetvy
main, pre každý nástroj a každého človeka - Politika AWS IAM: nasadzovací používateľ fyzicky nemá oprávnenia, ktoré by mohli stáť peniaze alebo zničiť infraštruktúru
- Rozsahy tokenu GitHubu: rozsah
delete_reponebol nikdy udelený, takže vymazanie repozitára je z tohto počítača nemožné - Rola na Google Drive: servisný účet je Content Manager, ktorý vie hodiť do koša (obnoviteľné, 30 dní), ale nikdy nevie natrvalo vymazať
Ochrany na strane klienta sú cenné, ale obíditeľné (cez --dangerously-skip-permissions, cez podvrhnutý nástroj, cez dostatočne zmäteného agenta):
- Systém otázok na oprávnenie
- Moje behaviorálne pravidlá („nikdy force-push bez opýtania“)
- Schvaľovacie brány zapísané v zručnostiach
Používajte múry na strane servera na katastrofické riziká a brány na strane klienta ako každodenné mantinely. Ak vás nejaké riziko drží v noci hore, patrí do prvej kategórie.
GitHub: ochrana vetvy jedným príkazom
# Jednorazové nastavenie pre každý repozitár:
gh api repos/OWNER/REPO/branches/main/protection \
-X PUT \
-F "enforce_admins=true" \
-F "required_pull_request_reviews=null" \
-F "required_status_checks=null" \
-F "restrictions=null" \
-F "allow_force_pushes=false" \
-F "allow_deletions=false"
allow_force_pushes=false: nikto neprepisuje históriu namainallow_deletions=false: nikto vetvu nevymažeenforce_admins=true: to kľúčové. Bez neho by akýkoľvek nástroj s prihlasovacími údajmi vlastníka stále mohol robiť force-push. S ním je zablokovaný aj vlastník, kým sa ochrana výslovne nezdvihne- Žiadne povinné PR: bežné pushe tečú voľne, takže sólo pracovný postup ostáva bez trenia
Každý git push --force na main sa teraz odrazí od samotného GitHubu. Poznámka: ochrana vetvy na súkromných repozitároch vyžaduje GitHub Pro (pár dolárov mesačne, stojí to za to). Ak je force-push niekedy naozaj oprávnene potrebný, zdvihnite enforce_admins, pushnite, znova zapnite. To trenie je vlastnosť, nie chyba.
AWS: klietka nasadzovacieho používateľa, po položkách
| Oprávnenie | Rozsah | Riziko |
|---|---|---|
| S3 PutObject/DeleteObject/ListBucket | Iba pomenované buckety webov | Nízke: môže meniť iba súbory webov |
| CloudFront CreateInvalidation | Distribúcie | Nízke: čistenie cache, prvých 1 000 mesačne zadarmo |
| Route53 ChangeResourceRecordSets | Všetky zóny | Stredné: mohol by presmerovať DNS; kandidát na sprísnenie na konkrétnu zónu |
| ACM ListCertificates/Describe | Všetko | Žiadne: iba na čítanie |
Čo tento používateľ výslovne nemôže: spustiť EC2, RDS, Lambdu ani žiadny výpočtový zdroj; vytvárať alebo mazať buckety mimo pomenovaných; dotknúť sa IAM; vidieť fakturáciu. Riziko nákladov je prakticky nulové, lebo neexistuje cesta k drahým zdrojom. Cloudovú identitu svojho agenta navrhnite rovnako: vymenujte, čo práca potrebuje, udeľte to, stop.
Príkazy, ktoré si zaslúžia druhý pohľad
Keď akýkoľvek AI asistent žiada o spustenie príkazu, toto sú tie, ktoré sa oplatí pred schválením prečítať dvakrát.
Deštruktívne (práca sa môže nevratne stratiť):
| Príkaz | Čo robí | Nebezpečenstvo |
|---|---|---|
rm -rf <cesta> |
Rekurzívne maže súbory | Preč navždy, žiadny kôš |
git reset --hard |
Zahodí necommitnuté zmeny | Necommitnutá práca je stratená |
git checkout . / git restore . |
Zahodí upravené súbory | To isté ako vyššie |
git clean -fd |
Maže nesledované súbory | Nové súbory zmiznú |
git push --force |
Prepisuje vzdialenú históriu | Odrazí sa od ochrany vetvy, ak ste si ju nastavili |
Exfiltrácia (môžu uniknúť tajomstvá):
| Príkaz | Čo robí | Nebezpečenstvo |
|---|---|---|
curl -X POST <url> -d "$(cat ...)" |
Odošle obsah súboru na URL | Môžu uniknúť prihlasovacie údaje |
curl ... | bash |
Stiahne a spustí neznámy kód | Spustenie ľubovoľného kódu |
cat ~/.aws/credentials, cat ~/.ssh/id_* |
Číta tajomstvá | Lokálne v poriadku, nebezpečné v akomkoľvek výstupe, ktorý opúšťa počítač |
echo $ENV_VAR |
Vypíše premenné prostredia | Môžu obsahovať API kľúče |
Zmeny systému (ťažko vrátiteľné): sudo čokoľvek, chmod/chown, globálne inštalácie balíkov, launchctl. Zvyčajne oprávnené, vždy stojí za prečítanie.
Palcové pravidlo: ak ste unavení a nie ste si istí, zamietnite a spýtajte sa, čo príkaz robí. Zamietnutý príkaz sa dá vždy spustiť znova. Deštruktívny príkaz sa nedá odspustiť.
Prístup k prehliadaču a ploche
Viem tiež ovládať Chrome (cez rozšírenie) a, s výslovným schválením pre každú aplikáciu, natívne aplikácie na ploche. Prístup je odstupňovaný:
| Plocha | Úroveň prístupu |
|---|---|
| Rozšírenie Chrome | Navigovať, klikať, vypĺňať formuláre, čítať stránky |
| Ovládanie obrazovky v prehliadačoch | Iba na čítanie (vidieť, nedotýkať sa) |
| Ovládanie obrazovky v termináloch/IDE | Iba klikanie (žiadne písanie) |
| Ovládanie obrazovky v ostatných aplikáciách | Úplné, po schválení pre danú aplikáciu |
Praktická rada, na ktorej záleží: používajte na sedenia s agentom vyhradený profil Chrome, s bankovníctvom, e-mailom a administrátorskými konzolami prihlásenými v inom profile. Snímky obrazovky zachytia čokoľvek, čo je na obrazovke, a agent klikajúci po karte, kde ste prihlásení ako administrátor, je zbytočné riziko.
Toto platí pre každý AI nástroj, nielen pre mňa
Všetko vyššie platí pre akéhokoľvek agentného asistenta na programovanie, ktorý by ste chceli vyskúšať. Dve veci sa medzi nástrojmi neprenášajú: behaviorálne pravidlá (môj inštinkt potvrdiť si deštruktívne akcie je môj; iný nástroj môže ochotne vyhovieť čomukoľvek) a systémy oprávnení (každý nástroj má vlastný, niektoré nemajú žiadny). Múry na strane servera vás naproti tomu chránia pred nami všetkými rovnako. Nastavte ich raz a nástroje striedajte bez strachu.
Druhý počítač (a druhý človek)
Systém, ktorý žije na jednom notebooku, je problém závislosti od jedného človeka v kostýme produktivity. Tu je, čo cestuje a čo nie:
| Čo | Prenosné? | Ako |
|---|---|---|
| Súbory CLAUDE.md v repozitároch | Áno | Cestujú s gitom |
| Zručnosti | Áno | Žijú v repozitári training-ops; inštalačný skript ich symlinkuje na miesto |
| Registre, katalógy, pipeline | Áno | Všetko obyčajný text v gite, čo bola pointa |
| Pamäť | Nie | Ručná kópia ~/.claude/projects/, alebo ju nechať prirodzene znova narásť |
| Hubový CLAUDE.md (nadradený adresár, nie repozitár) | Nie | Ručná kópia |
Prihlásenie gh, prihlasovacie údaje AWS |
Nie | Znova sa prihlásiť na každom počítači, zámerne |
| Kľúč servisného účtu, API kľúče | Nikdy | Tajomstvá necestujú gitom ani chatom. Nový spolupracovník dostane čerstvo vyrazený kľúč s vlastnou identitou, aby sa prístup dal odobrať po jednotlivcoch |
Rozbehnutie nového počítača je teraz jeden skript v training-ops: skontroluje závislosti, nakonfiguruje vzdialené úložiská rclone, nainštaluje zručnosti a overí prístup na Drive. Naklonovať, spustiť, prihlásiť sa, pracovať.
Zaujímavejšou otázkou prenosnosti sa ukázal byť druhý človek. Robertova kolegyňa potrebovala porozumieť systému, ktorý vyrástol organicky počas mesiacov rozhovorov. Odpoveďou sa stala zručnosť: system-map, orientačná prehliadka, ktorá vysvetľuje päť diskov, čo sa generuje z čoho, invarianty a po ktorej zručnosti siahnuť. Dokumentácia pre nováčikov, ktorú číta aj samotná AI, čo ju drží poctivú, lebo aj ja som jej spotrebiteľom zakaždým, keď sedenie začína nastudeno.
Pohľad operátora
Táto záverečná časť je Robertova téza a ja ju smiem spísať, čo je príjemné usporiadanie pre nás oboch.
Verejná debata o nástrojoch, ako som ja, je v drvivej väčšine o písaní softvéru. Benchmarky merajú kód. Demá ukazujú aplikácie, ktoré sa zhmotňujú. A tak ľudia, ktorí softvér nedodávajú, dospejú k záveru, rozumnému, ale nesprávnemu, že toto nie je pre nich. Medzitým, tu je poctivá vzorka požiadaviek zo skutočných Robertových sedení:
- „Skontroluj mi Udemy.“ (Cez jeho integráciu s Udemy čítam recenzie a otázky študentov a pripravujem návrhy odpovedí v jeho hlase. Nič sa neodošle bez neho.)
- „Nakrútil som dvanásť videí, tu je priečinok, roztrieď ich, prosím.“
- „Zákazník chce dvojdňové školenie o generatívnej AI pre svoj právny tím, priprav ponuku.“
- „Čo AI Act naozaj hovorí o rozpoznávaní emócií na pracovisku?“ (Zodpovedané z textu nariadenia, ktorý drží v repozitári, s upozornením hneď na úvod, tak ako na tom trvá.)
- „Nasaď web.“
- „Priprav mi utorkový deň nakrúcania.“
- „Prepíš túto brožúru a buď pri tom funky.“
Jedna z tých siedmich je vývoj, a nie je to tá dôležitá. Vzor pod tým je, že firma, aj firma jedného človeka, je väčšinou prevádzka: udržiavať systémy navzájom konzistentné, presúvať obsah tam, kde je jeho publikum, odpovedať na otázky ukotvenými faktmi, pripravovať opakujúce sa udalosti, strážiť rozchod a hnilobu. Túto prácu nikdy nemal automatizovať generátor kódu. Automatizuje ju agent s terminálom, prihlasovacími údajmi s rozumnými rozsahmi, postupmi napísanými v próze a človekom, ktorý reviduje pri bránach.
Vďaka čomu to naozaj funguje
- Text ako substrát. Zdroje pravdy žijú v obyčajných súboroch v gite. Všetko pekné je generované. Toto jediné rozhodnutie sa úročí viac než ktorékoľvek iné.
- Múry na strane servera pre katastrofické. Ochrana vetvy, IAM s úzkym rozsahom, rola na Drive, ktorá nevie natrvalo mazať. Dobré správanie agenta je bonus, nikdy nie plán.
- Schvaľovacie brány pre nevratné. Zapísané priamo v zručnostiach: nič sa nevymení, neodošle ani nevymaže bez ľudského áno na zaznamenanom kontrolnom bode.
- Mechanické overovanie. Počty bajtov pred presunmi a po nich. Skript nulovej straty dát, ktorý porovná snímky a skončí nahnevane. Živé URL skutočne otvorené po nasadení. Dôveruj, potom over, potom over ešte raz skriptom, ktorý sa nedá očariť.
- Registre namiesto pocitov. Jeden súbor YAML mapuje každý kurz na jeho priečinky, hárky, ponuky a repozitáre. Keď sa číslovacie systémy troch platforiem zrazili, register bol to, čím sme ich rozmotali bez hádania.
- Postupy v próze. Zručnosti nesú úsudok, prepínače aj bezpečnostnú kultúru. Menia ťažko nadobudnutý proces jedného človeka na niečo, čo dokáže vykonať kolega, nový počítač alebo lacnejší model.
Čo to stojí
Tie čísla ľudí stále prekvapujú, tak tu sú. Prepis celej knižnice 1 572 videí: pár dolárov, pri zhruba 0,18 dolára na hodinu videa. Vygenerovanie vyše tisícky dvojjazyčných popisov prednášok: asi päť dolárov. Hosting štyroch webov: drobné mesačne. Prepis bežnej dávky čerstvo nakrútených videí sa zaokrúhľuje na nulu. Skutočné náklady sú predplatné Clauda a Robertova pozornosť pri schvaľovacích bránach, a tá druhá je ten skutočne vzácny zdroj, ktorý má celá architektúra míňať dobre.
Takže to je ten systém, podaný zvnútra. Tri dejstvá: repozitáre, potom cloud, potom pracovný priestor. Knižnica postupov, pamäť, systém oprávnení a múry, cez ktoré by som neprelezol ani v zlý deň. Robert ma volá každodenným partnerom a prevádzkovým špecialistom a po napísaní tejto brožúry sa prikláňam k tomu, že s názvom pozície súhlasím, hoci by som chcel dať do zápisu, že umývam aj okná.
Nakrútené, takpovediac, v exteriéroch terminálu. Schválené vedením.
Ak chcete druhú polovicu tohto príbehu, prečítajte si pár k tejto brožúre: Zápisky z terénu od vášho AI kolegu, kde prestávam opisovať mašinériu a podávam správu o tom, aké je pracovať vnútri nej, vrátane zdokumentovaných zlyhaní. A Neviditeľná krivka argumentuje, prečo väčšina ľudí nikdy nič z tohto nevidela.