Blog

2026-yilda avtonom agentlar xarajatlarini cheklash uchun Claude Code’ning 7 qoidasi

Markdown

Avtonom agent sizni pulsiz qoldirmasligi uchun Claude Code’da limitlar o‘rnatishning 7 qoidasi: provayder limitlari, Task Budgets, hook’lar, ruxsat ro‘yxatlari, o‘chirish kalitlari, sandbox kalitlari va iteratsiya limitlari.

Maqolani to‘liq o‘qish

Asosiy xulosalar

Bulutga cheklanmagan kirish huquqiga ega avtonom agent bir kechada katta hisob to‘plab qo‘yishi mumkin. Bu turdagi nosozlikning oldini olish uchun bir oqshomda joriy etish mumkin bo‘lgan Claude Code’ning 7 qoidasini ko‘rib chiqaman.

Xizmat bilan qanday ishlashni Ailoot hujjatlarida o‘rganing.

Pul qayerga ketadi: avtonom agent uchun 3 ta xarajat toifasi

Asosiy xulosalar

Avtonom agent pulingizni qayerga sarflaydi? Uchta alohida kanal orqali: Anthropic/OpenAI’dagi tokenlar, bulut resurslari (AWS/GCP/Yandex Cloud) va uchinchi tomon API’laridagi pulli amallar (Stripe to‘lovlari, SMS shlyuzlari, Twilio, obunali Telegram botlari). Har bir kanalning o‘z hisob-kitobi va xarajatlar oqimini to‘xtatish usuli bor.

Bu uchta kanalni aralashtirmang — ular mustaqil ishlaydi va turlicha sozlamalarni talab qiladi:

  1. LLM tokenlari. Claude, OpenAI yoki Gemini har bir so‘rovning kirish va chiqish konteksti uchun haq oladi. Bunda Anthropic Task Budgets (2-qoidaga qarang) va API’da sarflanganicha to‘lash o‘rniga obunadan foydalanish yordam berishi mumkin.
  2. Bulut infratuzilmasi. MCP yoki Bash vositasi orqali agent EC2, RDS, S3 resurslarini yaratadi yoki lambda’larni joylashtiradi. Bu yerda AWS Budgets, GCP yoki o‘chirish kalitiga ega Yandex Cloud yordam berishi mumkin (5-qoida).
  3. Uchinchi tomon API’lari. Agent Stripe orqali to‘lov oladi, shlyuz orqali 100 ta SMS yuboradi yoki mingta Telegram obunasini sozlaydi. Tor ruxsatlarga ega sandbox kalitlari va provayder boshqaruv panelidagi qat’iy limit yordam berishi mumkin (6-qoida).

Keyingi bo‘limda 7 qoida berilgan. Har biri bir yoki ikkita kanalni qamrab oladi.

API xarajatlariga qat’iy limitni qanday o‘rnatish mumkin (1-qoida)

Asosiy xulosalar

API xarajatlariga qat’iy limitni qanday o‘rnatish mumkin? Anthropic va OpenAI’da tashkilot xarajatlariga o‘rnatilgan limit mavjud bo‘lib, belgilangan miqdorga yetganda akkaunt tezligini avtomatik cheklaydi. Uni faqat xat yuboradigan ogohlantirish bilan adashtirmang. Qat’iy limit — to‘siq; ogohlantirish — chiroq. Ikkalasini ham sozlang, avval to‘siqni o‘rnating.

Uni qayerda yoqish mumkin (har bir provayder uchun kamida 2 daqiqa ajrating):

Anthropic Console. console.anthropic.com → Settings → Limits → Monthly spend limit. Eng yomon oyda sarflashga tayyor bo‘lgan miqdorni belgilang. Unga yetilganda API 429 javobini qaytaradi va hodisani qayd qiladi. “Bir daqiqadan keyin yana urinib ko‘raman” degan gap o‘tmaydi — oy oxirigacha bloklanadi.

OpenAI Platform. platform.openai.com → Billing → Usage limits. Bu yerda ham yumshoq limit (elektron pochta orqali ogohlantirish), ham qat’iy limit (API’ni o‘chirish) mavjud. Ikkalasini ham belgilang; javob berishga vaqt qoldirish uchun qat’iy limitni yumshoq limitdan 1.5x yuqori qilib o‘rnating.

AWS Bedrock / Google Vertex. Claude/Anthropic’ga bulut vositachisi orqali kirsangiz, qat’iy limit Anthropic’da emas, bulut tomonida bo‘lishi kerak. Bu 5-qoida.

Qat’iy limit hisoblanmaydigan narsa: “budjetingizning 80% sarflandi” degan xat ogohlantirishlari. Ular kechikib keladi va tunda hech kim xatni o‘qimaydi. Faqat provayder tomonidagi sinxron to‘siq yordam beradi.

Anthropic Task Budgets qanday ishlaydi va uni qayerda sozlash kerak (2-qoida)

Asosiy xulosalar

Anthropic Task Budgets nima va u sizni nimadan himoya qiladi? Bu Opus 4.7/4.8 hamda Fable/Mythos qatoridagi beta-funksiya: siz bitta avtonom ish jarayoni uchun budjet belgilaysiz, budjet kamaygan sari Claude fikrlash chuqurligini pasaytiradi va vazifaning o‘rtasida “bo‘ldi, budjetim tugadi” deyish o‘rniga yakunda xulosa beradi. Bu bulut xarajatlari uchun universal yechim emas, ammo agent “siklga ilinib qolgan va buni sezmagan” holatlarning 80% ini oldini oladi.

Batafsil ma’lumot uchun Anthropic’ning rasmiy hujjatlariga qarang. Asosiy jihat: bu yumshoq chegara, qat’iy chegara emas. Agent EC2 instansiyasini yaratib bo‘lgan bo‘lsa, Task Budget buni bekor qilmaydi.

Amalda ishlashi: so‘rov yuklamasida task_budget maydonini uzatasiz (masalan, butun vazifa uchun 100,000 kirish tokeni). Claude budjet haqida ma’lumot oladi va rejalarini o‘zi qisqartiradi — bosqichlarni soddalashtiradi yoki kichik vazifalarni tashlab ketadi. Budjet nolga yaqinlashganda ishni yakunlaydi va “tinglaganingiz uchun rahmat” deyish o‘rniga oraliq xulosa qaytaradi.

Cheklovlari:

  • Faqat Anthropic API. O‘z hisob-kitob tizimiga ega Bedrock/Vertex’da ishlamaydi
  • Faqat beta-modellarda (Opus 4.7, 4.8, Fable 5, Mythos 5). Sonnet 4.6 yoki Haiku’da ishlamaydi
  • Bulut xarajatlari yoki uchinchi tomon API’larini qamramaydi. Claude EC2 instansiyasini ishga tushirsa, Task Budget jim turadi

Uni 1-qoidadagi qat’iy limit bilan birga ishlating, uning o‘rniga emas.

Xarajatlarni cheklash kontekst muhandisligining bir qismidir: agent nima qilishi mumkin-u, nima qila olmasligini va favqulodda to‘xtatish nuqtasini belgilaysiz.

Claude Code’da PreToolUse hook’lari bilan nimani bloklash kerak (3-qoida)

Asosiy xulosalar

Claude Code’da PreToolUse hook’lari nima va ular nima uchun kerak? Bular Claude vosita chaqiruvini bajarishidan oldin ishlaydigan skriptlardir. So‘rovni bloklashingiz (exit 2), foydalanuvchi tasdig‘ini talab qilishingiz yoki so‘ramasdan o‘tkazib yuborishingiz mumkin. Muhim jihat: hook’lar --dangerously-skip-permissions dan oldin ishlaydi. Demak, ruxsatlarni chetlab o‘tish rejimida ham xavfli amallarni bloklashingiz mumkin.

Claude Code’dagi ruxsatlar (2026-yil 1-iyun holatiga ko‘ra) deny → ask → allow tartibida baholanadi. Demak:

  • tanlangan ruxsat rejimini alohida tekshiring; oddiy rejim deny testidan bypass himoyasini xulosa qilmang
  • hook exit 2 qaytarsa, vosita chaqiruvi bloklanadi
  • allowedTools faqat deny qoidalari va hook’lar hech narsa demaganida qo‘llanadi

Bir necha xavfli buyruq yozilishini tekshiruvchi minimal PreToolUse hook. Bu matn filtri, to‘liq shell parser yoki kirish chegarasi emas. Teng buyruq, skript, boshqa vosita va mavjud bulut resursiga alohida nazorat kerak.

#!/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

# Tanlangan matn andozalari; har teng amalni qamramaydi
if echo "$COMMAND" | grep -qiE '(rm -rf|aws s3 rb|terraform destroy|kubectl delete|drop database)'; then
  echo "Blocked: destructive command" >&2
  exit 2
fi

exit 0

Skriptni ko‘rsatilgan yo‘lga saqlang, jq mavjudligini tekshiring, chmod +x ~/.claude/hooks/block-dangerous-bash.sh bilan bajariladigan qiling. ~/.claude/settings.json da bog‘lang:

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

Claude’ning rasmiy hujjatlari bilan tanishing.

/hooks da ro‘yxatdan o‘tganini tekshiring. Skriptga command maydonini bajarmasdan zararsiz test JSON uzating. Ro‘yxatdagi buzuvchi yozilish 2, oddiy buyruq 0 qaytarsin; noto‘g‘ri JSON’ni ham sinang. Regex faqat mos Bash’ni ko‘radi. Haqiqiy vakolat chegarasiga tor credential va muhit izolyatsiyasi qo‘llang. Rasmiy hook kirish/chiqish misolini ko‘ring.

Nima uchun allowedTools ruxsat etilgan vositalar ro‘yxatidan foydalanish va --dangerously-skip-permissions rejimini host’da ishlatmaslik kerak (4-qoida)

Asosiy xulosalar

Ruxsat etilgan vositalar ro‘yxatini qayerda belgilash kerak va host’da chetlab o‘tish rejimi nima uchun yomon fikr? settings.json dagi allowedTools — agent tasdiqsiz ishga tushirishi mumkin bo‘lgan muayyan buyruqlar ro‘yxati; qolgan hammasi sizdan so‘raydi. --dangerously-skip-permissions bu so‘rovni butunlay o‘chiradi, shuning uchun buni host kompyuterda ishlatmang — faqat konteyner yoki virtual mashinada ishlating.

Ruxsatlar ro‘yxati — eng kam imtiyoz tamoyilidir. “Hammasiga ruxsat berish” (--dangerously-skip-permissions) o‘rniga faqat vazifa talab qiladigan narsalarni qo‘shing:

{
  "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/**)"
    ]
  }
}

Chetlab o‘tish rejimi haqida bilishingiz kerak:

  • Linux/macOS Claude Code’ni root sifatida yoki sudo bilan chetlab o‘tish rejimida ishga tushirishni rad etadi — bu o‘rnatilgan himoya
  • O‘z kompyuteringizda chetlab o‘tish barcha tasdiq so‘rovlarini o‘chiradi va agent xohlagan narsasini rm -rf qilishi, SSH kalitlarini ochishi va bulutga ma’lumot yuklashi mumkin
  • Host kompyuterda --dangerously-skip-permissions ni hech qachon ishlatmang, faqat quyidagilarda ishlating:
    • faqat kerakli papka ulangan Docker konteynerida
    • ajratilgan virtual mashinada (Multipass, Lima, Orbstack)
    • GitHub Codespaces / Replit / boshqa sandbox’da

Chetlab o‘tish rejimi uchun minimal docker run buyrug‘i:

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

Agentga bulut hisob ma’lumotlari kerak bo‘lsa, asosiy kalitlaringizni emas, tor ruxsatlarga ega alohida kalitlarni ishlating (6-qoida).

AWS, GCP va Yandex Cloud’da o‘chirish kalitiga ega bulut budjeti ogohlantirishlarini qanday sozlash kerak (5-qoida)

Asosiy xulosalar

Budjet ogohlantirishi kuzatilgan yoki taxminiy sarfni bildiradi, kech kelishi mumkin. Javob funksiyasi yangi agent amallarini to‘sishi yoki aniq resursni to‘xtatishi mumkin; bu alohida amallar. IAM kalitini o‘chirish mavjud resurs haqini to‘xtatmaydi. Resurs o‘chirishini alohida belgilab sinang.

Har bir bulutda sozlash tartibi:

AWS Budgets (hujjatlar). Oylik budjet va chegaralarni yarating (50%, 80%, 100%). 100% chegarasida SNS javob Lambda’sini chaqirishi mumkin. Quyidagi misol faqat nomlangan user IAM kalitlarini nofaol qiladi; resursni to‘xtatmaydi va hard cap yaratmaydi:

import boto3

def lambda_handler(event, context):
    iam = boto3.client('iam')
    # Deactivate all keys for the 'claude-agent' user
    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'}

Chegaralangan resursni to‘xtatish tartibi: tasdiqlangan EBS-backed EC2 instansiyali alohida sandbox’da run’dan oldin hisob, Region va aniq instance ID’larni yozing. EC2 konsolida faqat shu instansiyalar → Instance state → Stop instance → tasdiq; so‘ng har biri stopped bo‘lishini tekshiring. Kerakli instance-store ma’lumotini oldin saqlang: stop uni o‘chiradi. Scheduler yoki scaling ularni qayta yaratmasligini tekshiring. Bu compute sarfini to‘xtatadi, barcha hisob haqini emas; saqlash va boshqa xizmatlar alohida. Rasmiy EC2 tartibiga amal qiling.

AWS Budgets hujjati xabar resurs sarfidan kechikishi, undan oldin va keyin xarajat kelishini aytadi. 100% trigger aniq pul chegarasini bajartirmaydi.

GCP Budget Alerts. Budget → Pub/Sub mavzusi → Service Account’ni o‘chiradigan Cloud Function yarating. Hujjatlardagi muhim eslatma: ogohlantirishlar faqat xabar beradi, xizmatlarni o‘chirmaydi, shu sababli Cloud Function zarur.

Yandex Cloud (hujjatlar). Billing → Budgets bo‘limida budjetlarni, qat’iy limit sifatida esa resurs kvotalarini o‘rnating. Bildirishnomalarni Cloud Functions orqali Telegram botiga ulashingiz mumkin.

OpenAI API. Yumshoq va qat’iy xarajat limitlari boshqaruv panelida mavjud — qat’iy limit API’ni avtomatik to‘xtatadi; Lambda kerak emas.

Mavjud bo‘lsa tekshirilgan provayder hard cap’i, kechikuvchi ogohlantirish, tor credential va agent yaratadigan aniq resurs uchun sinalgan javobni qo‘llang. Credential bekori ayrim yangi amallarni to‘sadi; davomiy resurs sarfiga shutdown tasdig‘i kerak. Ogohlantirish ham, kalit Lambda’sining muvaffaqiyat xabari ham barcha billing to‘xtaganini isbotlamaydi.

Nima uchun agentga tor ruxsatli alohida sandbox API kaliti kerak (6-qoida)

Asosiy xulosalar

Agentga nima uchun alohida API kaliti kerak? Nosozlikning ta’siri cheklangan bo‘lishi uchun. Faqat bitta agent uchun IAM foydalanuvchisi yoki Service Account yarating, unga minimal ruxsatlar bering (hamma narsa emas, EC2) va qat’iy limitli alohida hisob-kitob loyihasiga biriktiring. Agent bu limitni sarflab yuborsa, bir soatda butun kompaniya mablag‘ini emas, o‘zining 50 dollarini sarflaydi.

Minimal AWS sozlamasi:

  1. claude-agent-scan IAM foydalanuvchisini yarating
  2. Siyosat: faqat kerakli amallar (masalan, bitta hududda t3.micro o‘lchamli, VPC elastic IP’siz ec2:RunInstances)
  3. Uni oylik budjeti 100 dollar bo‘lgan alohida AWS akkauntiga (Organizations orqali) biriktiring
  4. Kirish kalitlarini yarating va ularni faqat agentga bering; o‘zingizning ~/.aws/credentials faylingizga qo‘ymang
  5. Seansdan keyin kalitlarni almashtiring yoki foydalanuvchini o‘chiring

Boshqa provayderlar uchun ham xuddi shunday:

  • OpenAI / Anthropic: har bir agent uchun alohida API kaliti, boshqaruv panelida har bir kalitga qat’iy limit va so‘rov metama’lumotlarida agent_id teglari
  • Stripe / YooKassa: bitta amal uchun cheklangan API kaliti (masalan, faqat charges:read) va imkon bo‘lsa, alohida savdogar akkaunti
  • Telegram Bot API: asosiy botniki emas, alohida bot tokeni

Bu yerda ham eski xavfsizlik tamoyili amal qiladi: eng kam imtiyoz — agentga vazifa uchun aynan zarur bo‘lgan narsalar beriladi, bir bayt ham ortiq emas. Vazifa “tarmoqni skanerlash” bo‘lsa, unga ec2:* va s3:* bermang; faqat ec2:DescribeInstances bering, tamom.

Qachon ishga tushirishdan oldingi sinov va iteratsiya limitidan foydalanish kerak (7-qoida)

Asosiy xulosalar

Nima uchun agentni ishga tushirishdan oldin o‘z rejasini ko‘rsatishga majbur qilish kerak va ko‘pi bilan nechta iteratsiyaga ruxsat berish kerak? Plan Mode — Claude Code’ning o‘rnatilgan funksiyasi: agent avval nima qilmoqchi ekanini tasvirlaydi, siz esa tasdiqlaysiz. Bu bepul dastlabki tekshiruv. --max-turns N esa bir seansdagi qadamlar sonini cheklaydi, shuning uchun agent cheksiz aylanib yurolmaydi. Avtonom rejimda 10–30 burilishdan oshirmang.

Plan Mode (/plan) seans boshida yoqiladi. Agent reja tuzib, uni suhbatda ko‘rsatadi, tasdiqni kutadi va shundan keyingina ishga kirishadi. Bu bepul va “avval so‘raydi deb o‘ylagandim” holatlarining 70% ini oldini oladi.

--max-turns — ishga tushirish bayrog‘i. Har bir burilish “agent o‘ylaydi + vositani chaqiradi + natija” siklidan iborat. Avtonom vazifalar uchun:

  • kichik o‘zgarish: 5–10 burilish
  • o‘rta vazifa: 15–30 burilish
  • katta avtonom vazifa: 50–80 burilish

Qo‘shimcha usullar:

  • Linux’dagi timeout buyrug‘i bilan devor soatiga ko‘ra vaqt cheklovi:
timeout 1800 claude --dangerously-skip-permissions --max-turns 30 -p "scan task"
# 1800 seconds = 30 minutes. Stop the process gracefully.
  • Har bir vosita chaqiruvini keyinroq nima bo‘lganini ko‘rish uchun PostToolUse hook’i orqali faylga qayd qiling
  • Cron monitoring — har 5 daqiqada bir vaqtda 10 ta Claude jarayoni ishlab turmaganini tekshiring (bu odatda nimadir noto‘g‘ri ketganining belgisidir)

Avtonom Claude Code’ni ishga tushirishdan oldingi 5 daqiqalik tayyor ro‘yxat

Asosiy xulosalar

Avtonom vazifada Enter bosishdan oldin nimalar tayyor bo‘lishi kerak? Har biri taxminan bir daqiqa oladigan yettita belgi. Hatto bittasi bo‘sh bo‘lsa ham, ishga tushirmang.

claude --dangerously-skip-permissions buyrug‘idan oldingi ro‘yxat:

[ ] 1. API provayderida qat’iy limit (Anthropic Console → Limits → Monthly spend limit)
[ ] 2. So‘rov yuklamasida Task Budget (Opus 4.7+/Fable/Mythos ishlatilsa)
[ ] 3. rm -rf, aws s3 rb, terraform destroy buyruqlarini bloklaydigan PreToolUse hook’i
[ ] 4. settings.json’da allowedTools ro‘yxati yoki Docker konteynerida ishlash
[ ] 5. Kechikuvchi bulut budjet xabari + sinalgan kalit bekori va tasdiqlangan resurs to‘xtashi
[ ] 6. Sandbox API kalitlari (agent uchun alohida kalit, asosiy kalit emas)
[ ] 7. --max-turns N + NNN soniya timeout + jarayonlarni cron orqali kuzatish

Yettala band ham bajarilgan bo‘lsa, ishga tushiring. Hatto bittasi yetishmasa, to‘xtab, uni sozlang. Hozir ajratiladigan o‘ttiz daqiqa keyin 6 000–500 000 dollarni tejashi mumkin.

Kontekst uchun bir misol: vibe-coder standart postgres ma’lumotlar bazasi paroli bilan onlayn do‘kon ilovasini ishga tushirdi. Bir necha kun ichida kimdir uni topib, maynerlar o‘rnatdi va o‘zining orqa eshiklarini joylashtirdi. Serverni o‘chirishga to‘g‘ri keldi, boshqaning kriptovalyuta qazishi sababli esa oylik hisob oshdi.

Bu voqea 1-bo‘limdagi 3-toifaga (infratuzilmangizda ishlayotgan uchinchi tomonlar) tegishli, ammo mantiq bir xil: xarajatlarni nazorat qilish xarajatni kim boshlaganiga — agentingiz, xodimingiz yoki Nigeriyadagi maynerga — bog‘liq bo‘lmasligi kerak.

Qo‘shimcha o‘qish uchun:

Ailoot bilan tanishing.

Batafsil

Ko‘p beriladigan savollar

Agent IAM kalitini bekor qilish bulut hisobini to‘xtatadimi?

Yo‘q. Shu kalitning yangi autentifikatsiyali so‘rovini to‘sadi, mavjud resurs haq yig‘ishda davom etadi. O‘zingizga tegishli resurslar allowlist’ini tuting, tasdiqlangan instansiyalarni to‘xtatib holatini tekshiring. Qolgan saqlash va xizmatlarni alohida ko‘ring.

Misoldagi buyruq regex’i to‘liq xavfsizlik chegarasimi?

Yo‘q. Faqat mos Bash chaqiruvi va tanlangan matnni tekshiradi. JSON parse va exit code’ni sinang, haqiqiy chegara uchun tor bulut ruxsati va muhit izolyatsiyasi qo‘llang. Teng amallar va boshqa vositalar matn filtridan chiqishi mumkin.

Barcha maqolalar