Blog

7 pravidiel Claude Code na obmedzenie výdavkov autonómnych agentov v roku 2026

Markdown

7 pravidiel na nastavenie limitov v Claude Code, aby vás autonómny agent nepripravil o všetky peniaze: limity poskytovateľa, Task Budgets, hooks, zoznamy povolených nástrojov, núdzové vypínače, sandboxové kľúče a limity iterácií.

Prečítať celý článok

Kľúčové body

Autonómny agent s neobmedzeným prístupom do cloudu dokáže za jednu noc vytvoriť vysoký účet. Rozoberám 7 pravidiel pre Claude Code, ktoré môžete zaviesť za jeden večer, aby ste predišli takémuto typu zlyhania.

Naučte sa pracovať so službou v dokumentácii Ailoot.

Kam idú peniaze: 3 kategórie výdavkov autonómneho agenta

Kľúčové body

Kde autonómny agent míňa vaše peniaze? Cez tri samostatné kanály: tokeny v Anthropic/OpenAI, cloudové zdroje (AWS/GCP/Yandex Cloud) a platené akcie v API tretích strán (platby Stripe, SMS brány, Twilio, telegramové boty s predplatným). Každý kanál má vlastné účtovanie a vlastný spôsob, ako zastaviť míňanie.

Tieto tri kanály si nemýľte—fungujú nezávisle a vyžadujú odlišné nastavenia:

  1. Tokeny LLM. Claude, OpenAI alebo Gemini účtuje vstupný a výstupný kontext každej požiadavky. Pomôcť môžu Anthropic Task Budgets (pozri Pravidlo 2) a predplatné namiesto priebežných platieb za API.
  2. Cloudová infraštruktúra. Cez MCP alebo nástroj Bash agent vytvára zdroje EC2, RDS, S3 alebo nasadzuje lambda funkcie. Pomôcť môžu AWS Budgets, GCP alebo Yandex Cloud s núdzovým vypínačom (Pravidlo 5).
  3. API tretích strán. Agent vykoná platbu cez Stripe, odošle 100 SMS správ cez bránu alebo nastaví tisíc telegramových predplatných. Pomôcť môžu sandboxové kľúče s úzkymi oprávneniami a pevný limit na ovládacom paneli poskytovateľa (Pravidlo 6).

Nasleduje 7 pravidiel. Každé pokrýva jeden alebo dva kanály.

Ako nastaviť pevný limit výdavkov na API (Pravidlo 1)

Kľúčové body

Ako nastavíte pevný limit výdavkov na API? Anthropic a OpenAI majú zabudovaný limit výdavkov organizácie, ktorý účet po dosiahnutí určenej sumy automaticky obmedzí. Nemýľte si ho s upozorneniami, ktoré iba odošlú e-mail. Pevný limit je bariéra; upozornenia sú kontrolka. Nastavte oboje a začnite bariérou.

Kde ho zapnúť (na každého poskytovateľa si vyhraďte aspoň 2 minúty):

Anthropic Console. console.anthropic.com → Settings → Limits → Monthly spend limit. Nastavte sumu, ktorú ste ochotní minúť v najhoršom mesiaci. Po jej dosiahnutí API vráti 429 a zaznamená udalosť. Žiadne „skúsim to znova o minútu“—prístup bude zablokovaný až do konca mesiaca.

OpenAI Platform. platform.openai.com → Billing → Usage limits. Podobne je tu mäkký limit (upozornenie e-mailom) a pevný limit (vypnutie API). Nastavte oba; pevný limit nastavte na hodnotu 1,5-násobku mäkkého limitu, aby zostal čas na reakciu.

AWS Bedrock / Google Vertex. Ak pristupujete ku Claude/Anthropic cez cloudového sprostredkovateľa, pevný limit musí byť na strane cloudu, nie Anthropic. To je Pravidlo 5.

Čo sa nepočíta ako pevný limit: e-mailové upozornenia („minuli ste 80 % rozpočtu“). Prídu oneskorene a v noci nikto nečíta e-mail. Jedinou ochranou je okamžitá bariéra na strane poskytovateľa.

Ako fungujú Anthropic Task Budgets a kde ich nastaviť (Pravidlo 2)

Kľúčové body

Čo sú Anthropic Task Budgets a pred čím vás chránia? Je to beta funkcia pre rady Opus 4.7/4.8 a Fable/Mythos: nastavíte rozpočet pre jeden autonómny pracovný postup a Claude pri jeho vyčerpávaní zníži hĺbku uvažovania. Úlohu dokončí súhrnom namiesto toho, aby uprostred práce povedal „to je všetko, minul sa mi rozpočet“. Nevyrieši všetky problémy s cloudovými výdavkami, ale predíde 80 % prípadov, keď agent „uviazol v slučke a nevšimol si to“.

Podrobnosti nájdete v oficiálnej dokumentácii Anthropic. Kľúčové je, že ide o mäkkú hranicu, nie pevnú. Ak agent už vytvoril inštanciu EC2, Task Budget to nevráti späť.

Ako to funguje v praxi: do tela požiadavky vložíte pole task_budget (napríklad 100,000 vstupných tokenov na celú úlohu). Claude dostane informáciu o rozpočte a sám obmedzí svoje plány, zjednoduší kroky alebo vynechá podúlohy. Keď sa rozpočet blíži k nule, postupne ukončí prácu a vráti priebežný súhrn namiesto „ďakujeme za pozornosť“.

Obmedzenia:

  • Iba Anthropic API. Nefunguje v Bedrock/Vertex, ktoré majú vlastné účtovanie
  • Iba beta modely (Opus 4.7, 4.8, Fable 5, Mythos 5). Nie je dostupné pre Sonnet 4.6 ani Haiku
  • Nepokrýva cloudové výdavky ani API tretích strán. Ak Claude spustí inštanciu EC2, Task Budget zostane ticho

Používajte ho spolu s Pravidlom 1 (pevným limitom), nie namiesto neho.

Nákladové zábrany patria do kontextového inžinierstva: určíte, čo agent smie a nesmie robiť a kde má núdzové zastavenie.

Čo blokovať pomocou hookov PreToolUse v Claude Code (Pravidlo 3)

Kľúčové body

Čo sú hooky PreToolUse v Claude Code a prečo ich potrebujete? Sú to skripty, ktoré sa spúšťajú predtým, než Claude vykoná volanie nástroja. Môžu zablokovať požiadavku (exit 2), vyžiadať potvrdenie používateľa alebo ju nechať prejsť bez otázky. Kľúčové je, že hooky sa spúšťajú pred --dangerously-skip-permissions. To znamená, že môžete blokovať nebezpečné akcie aj v režime obídenia oprávnení.

Oprávnenia v Claude Code (k 1. júnu 2026) sa vyhodnocujú v poradí deny → ask → allow. To znamená:

  • osobitne overte zvolený režim oprávnení; z testu deny pravidla v bežnom režime nevyvodzujte ochranu v režime obídenia oprávnení
  • ak hook vráti exit 2, volanie nástroja sa zablokuje
  • allowedTools sa uplatní, iba ak pravidlá deny a hooky nezasiahnu

Minimálny hook PreToolUse kontrolujúci niekoľko zápisov nebezpečných príkazov. Je to textový filter, nie úplný analyzátor shellu ani hranica prístupu: ekvivalentné príkazy, skripty, iné nástroje a existujúce cloudové zdroje potrebujú samostatné opatrenia.

#!/usr/bin/env bash
# ~/.claude/hooks/block-dangerous-bash.sh
INPUT=$(cat)
if ! COMMAND=$(printf '%s\n' "$INPUT" | jq -er '.tool_input.command | select(type == "string")'); then
  echo "Blocked: invalid Bash hook input" >&2
  exit 2
fi

# Kontroluje uvedené textové vzory; nepokrýva každú ekvivalentnú operáciu
if echo "$COMMAND" | grep -qiE '(rm -rf|aws s3 rb|terraform destroy|kubectl delete|drop database)'; then
  echo "Zablokované: deštruktívny príkaz" >&2
  exit 2
fi

exit 0

Uložte skript na uvedenú cestu, zabezpečte dostupnosť jq a nastavte spustiteľnosť cez chmod +x ~/.claude/hooks/block-dangerous-bash.sh. Pripojte ho v ~/.claude/settings.json:

{
  "hooks": {
    "PreToolUse": [
      {
        "matcher": "Bash",
        "hooks": [{ "type": "command", "command": "~/.claude/hooks/block-dangerous-bash.sh" }]
      }
    ]
  }
}

Pozrite si oficiálnu dokumentáciu.

V /hooks overte registráciu a potom skriptu odovzdajte neškodný skúšobný JSON bez vykonania jeho poľa command. Uvedený deštruktívny zápis má vrátiť 2 a neškodný príkaz 0. Otestujte aj chybný vstup. Regulárny výraz kontroluje iba zodpovedajúce volania Bash; skutočné oprávnenia obmedzte úzkymi prihlasovacími údajmi a izoláciou prostredia. Pozrite si oficiálny príklad vstupu a výstupu hooku.

Prečo používať zoznam povolených nástrojov allowedTools a prečo --dangerously-skip-permissions nepatrí na hostiteľský počítač (Pravidlo 4)

Kľúčové body

Kam umiestniť zoznam povolených nástrojov a prečo je hostiteľský počítač zlým miestom pre režim obídenia oprávnení? allowedTools v settings.json je zoznam konkrétnych príkazov, ktoré agent môže spustiť bez potvrdenia; pri všetkom ostatnom sa vás opýta. --dangerously-skip-permissions úplne vypne tieto výzvy na potvrdenie, preto ho nespúšťajte na hostiteľskom počítači—používajte iba kontajner alebo VM.

Zoznam povolených nástrojov uplatňuje princíp najmenších oprávnení. Namiesto „povoliť všetko“ (--dangerously-skip-permissions) pridajte iba to, čo úloha potrebuje:

{
  "permissions": {
    "allow": [
      "Bash(npm install:*)",
      "Bash(npm run build)",
      "Bash(git add:*)",
      "Bash(git commit:*)",
      "Read(./src/**)",
      "Write(./src/**)"
    ],
    "deny": [
      "Bash(rm -rf:*)",
      "Bash(curl * | sh)",
      "Write(/etc/**)",
      "Write(~/.ssh/**)"
    ]
  }
}

Čo potrebujete vedieť o režime obídenia oprávnení:

  • Linux/macOS odmietnu spustiť Claude Code v režime obídenia oprávnení ako root alebo pomocou sudo—ide o zabudovanú ochranu
  • Na vlastnom počítači režim obídenia vypne všetky výzvy na potvrdenie a agent môže spustiť ľubovoľný rm -rf, otvoriť kľúče SSH a odoslať dáta do cloudu
  • --dangerously-skip-permissions nikdy nespúšťajte na hostiteľskom počítači, iba v:
    • kontajneri Docker s obmedzeným pripojeným zväzkom (iba požadovaný priečinok)
    • izolovanej VM (Multipass, Lima, Orbstack)
    • GitHub Codespaces / Replit / inom sandboxe

Minimálny príkaz docker run pre režim obídenia oprávnení:

docker run --rm -it \
  -v "$PWD:/workspace" \
  -w /workspace \
  --network host \
  ghcr.io/anthropics/claude-code:latest \
  claude --dangerously-skip-permissions

Ak agent potrebuje cloudové prihlasovacie údaje, použite samostatné kľúče s úzkymi oprávneniami, nie svoje hlavné kľúče (Pravidlo 6).

Ako nastaviť upozornenia na cloudový rozpočet s núdzovým vypínačom v AWS, GCP a Yandex Cloud (Pravidlo 5)

Kľúčové body

Upozornenie na rozpočet hlási pozorované alebo predpokladané výdavky a môže prísť oneskorene. Reakčná funkcia môže blokovať nové operácie agenta alebo zastaviť konkrétne zdroje; sú to odlišné kroky. Deaktivácia kľúča IAM nezastaví účtovanie už bežiacich zdrojov. Ich vypnutie definujte a otestujte osobitne.

Ako to nastaviť v jednotlivých cloudoch:

AWS Budgets (dokumentácia). Vytvorte mesačný rozpočet a prahové hodnoty (50%, 80%, 100%). Pri prahu 100% môže téma SNS spustiť reakčnú funkciu Lambda. Nasledujúci príklad iba deaktivuje prístupové kľúče IAM pomenovaného používateľa; nezastavuje zdroje ani neurčuje pevný strop výdavkov:

import boto3

def lambda_handler(event, context):
    iam = boto3.client('iam')
    # Zastaví všetky kľúče používateľa 'claude-agent'
    keys = iam.list_access_keys(UserName='claude-agent')['AccessKeyMetadata']
    for key in keys:
        iam.update_access_key(
            UserName='claude-agent',
            AccessKeyId=key['AccessKeyId'],
            Status='Inactive'
        )
    return {'statusCode': 200, 'body': 'IAM keys deactivated; existing resources unchanged'}

Ohraničený postup zastavenia zdrojov: V samostatnom sandboxe so schválenými inštanciami EC2 založenými na EBS si pred spustením zaznamenajte účet, regióny a presné ID inštancií. V konzole EC2 vyberte iba tieto inštancie → Instance state → Stop instance → potvrďte a overte, že každá dosiahne stav stopped. Najprv uchovajte potrebné údaje z instance store; zastavenie ich vymaže. Overte, že ich nenahradí schválený plánovač či škálovací systém. Zastaví sa toto používanie výpočtových zdrojov, nie všetky poplatky účtu: ponechané úložisko a ďalšie služby posúďte osobitne. Postupujte podľa oficiálneho postupu zastavenia EC2.

Dokumentácia AWS Budgets upozorňuje, že oznámenia za používaním zdrojov zaostávajú a ďalšie náklady môžu vzniknúť pred upozornením aj po ňom. Spustenie pri 100% preto nevynucuje presný peňažný strop.

Upozornenia na rozpočet GCP. Vytvorte Budget → tému Pub/Sub → Cloud Function, ktorá vypne Service Account. Dôležitá poznámka z dokumentácie: upozornenia iba informujú, nič nevypínajú, preto je Cloud Function nevyhnutná.

Yandex Cloud (dokumentácia). Nastavte rozpočty v časti Billing → Budgets a kvóty zdrojov ako pevný limit. Upozornenia môžete prepojiť s telegramovým botom cez Cloud Functions.

OpenAI API. Mäkké a pevné limity výdavkov sú priamo na ovládacom paneli—pevný limit automaticky zastaví API; Lambda nie je potrebná.

Používajte overený pevný limit poskytovateľa tam, kde je dostupný, oneskorené rozpočtové upozornenia, úzke oprávnenia a otestovanú reakciu pre konkrétne zdroje, ktoré môže agent vytvárať. Odvolanie prihlasovacích údajov blokuje niektoré nové operácie; pri pokračujúcom používaní zdrojov treba overiť vypnutie. Upozornenie ani úspešná správa funkcie Lambda na odvolanie kľúčov nedokazujú zastavenie všetkého účtovania.

Prečo agent potrebuje samostatný sandboxový kľúč API s úzkymi oprávneniami (Pravidlo 6)

Kľúčové body

Prečo agent potrebuje samostatný kľúč API? Aby zlyhanie zostalo obmedzené. Vytvorte používateľa IAM alebo Service Account iba pre jedného agenta, udeľte mu minimálne oprávnenia (EC2, nie *) a priraďte ho k samostatnému fakturačnému projektu s pevným limitom. Ak ho agent vyčerpá, za hodinu minie svojich vlastných 50 $, nie celú firemnú pokladnicu.

Minimálne nastavenie AWS:

  1. Vytvorte používateľa IAM claude-agent-scan
  2. Politika: iba požadované akcie (napríklad ec2:RunInstances v jednej oblasti s veľkosťou t3.micro, bez elastickej IP VPC)
  3. Priraďte ho k samostatnému účtu AWS (cez Organizations) s mesačným rozpočtom 100 $
  4. Vygenerujte prístupové kľúče a dajte ich iba agentovi; nevkladajte ich do vlastného ~/.aws/credentials
  5. Po relácii kľúče vymeňte alebo používateľa odstráňte

Podobne aj pri iných poskytovateľoch:

  • OpenAI / Anthropic: samostatný kľúč API pre každého agenta, pevný limit pre každý kľúč na ovládacom paneli a značky agent_id v metadátach požiadaviek
  • Stripe / YooKassa: obmedzený kľúč API na jednu akciu (napríklad iba charges:read) a podľa možnosti samostatný obchodník
  • Telegram Bot API: samostatný token bota, nie hlavný

Platí tu stará bezpečnostná zásada: najmenšie oprávnenia—agent dostane presne to, čo úloha potrebuje, ani o bajt viac. Ak je úlohou „preskenovať sieť“, nedávajte mu ec2:* a s3:*; dajte mu iba ec2:DescribeInstances a nič viac.

Kedy použiť skúšobný beh pred spustením a limit opakovaní (Pravidlo 7)

Kľúčové body

Prečo nechať agenta ukázať vám plán pred spustením a koľko opakovaní mu povoliť najviac? Plan Mode je zabudovaná funkcia Claude Code: agent najprv opíše, čo plánuje urobiť, a vy to schválite. Je to bezplatná predbežná kontrola. A --max-turns N obmedzuje počet krokov v jednej relácii, takže agent nemôže pokračovať donekonečna. Pri autonómnom režime nastavte najviac 10–30 ťahov.

Plan Mode (/plan) sa zapína na začiatku relácie. Agent pripraví plán, zobrazí ho v chate, počká na schválenie a až potom začne pracovať. Je to zadarmo a predchádza 70 % prípadov typu „ups, myslel som si, že sa najprv opýta“.

--max-turns je príznak pri spustení. Každý ťah je jeden cyklus „agent premýšľa + volanie nástroja + výsledok“. Pri autonómnych úlohách:

  • malá zmena: 5–10 ťahov
  • stredná úloha: 15–30 ťahov
  • veľká autonómna úloha: 50–80 ťahov

Ďalšie techniky:

  • Časový limit pomocou príkazu Linux timeout:
timeout 1800 claude --dangerously-skip-permissions --max-turns 30 -p "scan task"
# 1800 sekúnd = 30 minút. Proces zastavte riadene.
  • Zaznamenávajte každé volanie nástroja do súboru pomocou hooku PostToolUse, aby ste neskôr videli, čo sa stalo
  • Monitorovanie cez cron—každých 5 minút skontrolujte, či naraz nebeží 10 procesov Claude (typický znak, že sa niečo pokazilo)

Hotový 5-minútový kontrolný zoznam pred spustením autonómneho Claude Code

Kľúčové body

Čo musí byť pripravené, kým pri autonómnej úlohe stlačíte Enter? Sedem políčok, každé zaberie približne minútu. Ak je čo i len jedno prázdne, nespúšťajte ju.

Kontrolný zoznam pred claude --dangerously-skip-permissions:

[ ] 1. Pevný limit u poskytovateľa API (Anthropic Console → Limits → Monthly spend limit)
[ ] 2. Task Budget v tele požiadavky (ak používate Opus 4.7+/Fable/Mythos)
[ ] 3. Hook PreToolUse na blokovanie rm -rf, aws s3 rb, terraform destroy
[ ] 4. Zoznam povolených allowedTools v settings.json alebo práca v kontajneri Docker
[ ] 5. Oneskorené cloudové rozpočtové upozornenia + otestované odvolanie kľúčov a schválené vypnutie zdrojov
[ ] 6. Sandboxové kľúče API (samostatný kľúč pre agenta, nie hlavný)
[ ] 7. --max-turns N + timeout NNN sekúnd + monitorovanie procesov cez cron

Ak sú splnené všetky body, spustite agenta. Ak chýba čo i len jeden, zastavte sa a nastavte ho. Tridsať minút teraz môže neskôr ušetriť 6 000–500 000 $.

Príklad pre kontext: vibe coder spustil aplikáciu internetového obchodu s predvoleným heslom databázy postgres. O pár dní ju niekto našiel, nainštaloval ťažiace programy a nasadil vlastné zadné vrátka. Server bolo treba vypnúť a účet za daný mesiac narástol kvôli ťažbe kryptomien niekoho iného.

Tento príbeh sa týka kategórie 3 z časti 1 (tretie strany spúšťajúce veci vo vašej infraštruktúre), ale logika je rovnaká: kontrola výdavkov by nemala závisieť od toho, kto ich spôsobil—váš agent, zamestnanec alebo ťažobný program v Nigérii.

Ďalšie čítanie:

Spoznajte Ailoot.

Viac podrobností

Otázky a odpovede: 7 pravidiel Claude Code na obmedzenie výdavkov autonómnych agentov v roku 2026

Zastaví odvolanie kľúčov IAM agenta cloudový účet?

Nie. Zablokuje použitie týchto kľúčov pri nových overovaných požiadavkách, no existujúce zdroje môžu naďalej vytvárať poplatky. Veďte zoznam vlastnených zdrojov, zastavte schválené inštancie, overte ich stav a ponechané úložisko aj ostatné služby posúďte osobitne.

Dokáže ukážkový regulárny výraz príkazov vynútiť úplnú bezpečnostnú hranicu?

Nie. Skúma iba zodpovedajúce volania nástroja Bash a vybraný text príkazov. Otestujte parsovanie JSON a návratové kódy, no skutočný prístup obmedzte úzkymi cloudovými oprávneniami a izoláciou prostredia. Ekvivalentné operácie a iné nástroje môžu textovému filtru uniknúť.

Všetky články