📖 Термины этого урока
Kill-switch — механизм мгновенной остановки агента при опасности. Cost > лимит, ошибки > порог, странное поведение.
Rate limiting — ограничение «не больше N запросов в минуту». Защита от runaway циклов.
Secrets management — где хранятся API ключи. НЕ в коде, НЕ на GitHub. В .env на сервере или vault.
Anthropic spend limit — встроенный лимит в Anthropic Console. Жёсткий потолок месячных расходов на API.
Sandboxing — изоляция агента от системы. Не может удалить файлы, отправить деньги без подтверждения.
❌ До этого урока
- Думаешь «у меня всё хорошо, ничего не сломается»
- API ключи в коде, плейн text
- Нет защиты от бесконечного цикла
✅ После этого урока
- Cost budget работает на всех агентах
- Ключи защищены, не выложишь случайно
- Kill-switch автоматический и ручной
Три уровня защиты
1️⃣ Cost limits
Daily / monthly budget. Hard stop когда превышен. Защита от runaway counter.
2️⃣ Rate limits
Не больше N запросов/мин. Если агент сошёл с ума — лимит остановит.
3️⃣ Secrets hygiene
Ключи в .env, .gitignore настроен, права 600. Никаких ключей в коде.
Шаг 1 · Cost budget на каждом агенте
👤 Промпт
Добавь в каждого моего агента (currency, weather, research, outreach, support) — universal cost-tracker:
1. Файл cost_budget.py — singleton который:
- Хранит daily cost в SQLite (всё в одной БД /var/lib/agents/budget.db).
- После каждого Claude API вызова — счётчик +cost.
- Limits: $5/день на агента, $50/день на всех вместе.
- При превышении — exception BudgetExceeded.
2. В main loop каждого агента: try / catch BudgetExceeded → systemctl stop self + Telegram alert.
3. Reset счётчика каждую полночь.
4. Dashboard: python cost_dashboard.py показывает usage по агентам за последние 7 дней.
Шаг 2 · Anthropic spend limit
В дополнение к нашему счётчику — поставь limit в самой Anthropic Console:
2
Set monthly limit — например $100. Если за месяц достигнешь — API начнёт return 403.
3
Email alerts на 50% и 75% от лимита.
Шаг 3 · API ключи — как правильно хранить
👤 Промпт
Проверь безопасность ключей во всех моих агентах:
1. Найди все места где API ключи (Claude, Telegram, Gmail, Brave, etc) — должны быть только в .env, не в коде.
2. Проверь .gitignore — .env должен быть исключён.
3. Проверь права файлов: chmod 600 .env (только владелец читает).
4. Если найдёшь ключ в git history (даже удалённый коммит) — предупреди меня, нужно revoke + rotate.
Покажи отчёт: что нашёл, что починил.
⚠️ Случайно засветил ключ — действуй быстро
Даже если deleted commit — он остался в git history forever. Сразу:
1. В Anthropic / Telegram / Gmail / etc. → Settings → API Keys → revoke этот ключ.
2. Создай новый ключ.
3. Обнови .env.
4. Restart all agents.
5. Подумай, как не повторить (pre-commit hook для проверки .env в .gitignore?).
Шаг 4 · Rate limiting
👤 Промпт
Сделай rate_limiter.py — общий для всех агентов.
Лимиты:
- Не больше 60 Claude API запросов в минуту на агента.
- Не больше 200 в час.
Реализация — token bucket в Redis или SQLite. Декоратор @rate_limited(agent_name=«currency») к функциям.
Если превышен лимит — wait или raise (по конфигу).
Шаг 5 · Kill-switch ручной
Бывает что увидел странное поведение — нужно ВСЁ остановить:
👤 Промпт
Сделай скрипт kill_all.sh — мгновенная остановка всех моих агентов:
1. systemctl stop currency-agent weather-agent research-agent ...
2. Также — заблокировать API ключи (через Anthropic console API если возможно, или просто rotate).
3. Запись в /var/log/kill_switch.log: timestamp, кто инициировал, почему.
4. Telegram alert «🛑 KILL SWITCH ACTIVATED at HH:MM».
Также: Telegram-команда /kill_all на моего alerter-бота. Я могу с телефона остановить всё.
Шаг 6 · Sandboxing — ограничения агента
Что агент не должен мочь делать:
- Удалять файлы вне своей папки — chroot или контейнеризация.
- Делать платежи без подтверждения — только подготовка draft, ты подтверждаешь.
- Отправлять email/сообщения автоматически — кроме статусных алертов в твой Telegram.
- Менять system settings — запускать sudo команды.
👤 Промпт
Для всех моих агентов сделай unix user ai-agent (не root). Перенеси их работу под этого user:
- /var/lib/agents/ — папка с правами 700 для ai-agent
- systemd сервисы User=ai-agent
- ai-agent НЕ имеет sudo, не может писать в /etc, /root
Это базовый sandboxing — даже если агент взломан, ущерб ограничен.
Что мониторить регулярно
- Daily cost report — есть ли всплески?
- Sentry errors — растёт ли error rate?
- API ключи — не утекли ли (проверка GitHub Code Search)
- Логи systemd — рестарты сервисов
- Disk space — логи и базы растут
🏗️ Реальный пример GuardLabs — Antifraud Detector
Наш Antifraud Detector сам является kill-switch для других сервисов. Если ловит шквал фейковых регистраций — автоматически блокирует IP-range, отправляет Telegram-алерт, может временно выключить регистрацию через systemd.
Это применение «защитный AI агент» — от $49. Идеально для бизнесов с публичной формой регистрации.
guardlabs.online → antifraud ↗
🎯 Главное из этого урока
3 уровня защиты: cost limits, rate limits, secrets. Anthropic spend limit + наш собственный счётчик. Kill-switch для аварийной остановки. Sandbox через отдельного user. После этого урока — твой агент готов к продакшн. Дальше — Модули 7-10 с большими capstone проектами.