Агент читает прод-логи раз в полчаса и молчит в девяти случаях из десяти
Автор посадил автономного агента читать 300 000 строк логов в сутки: цикл раз в полчаса, алерты в Telegram. За 84 дня — 113 алертов и два случая, когда агент соврал. Половина текста — про то, как заставить модель перепроверять себя, и это переносится на любого агента, который что-то считает по данным.
- Вся интеграция — 20 строк bash: poll-loki.sh тянет {level=~"error|warn"} за пять минут, дальше решает модель. Медиана цикла — 15 секунд, примерно девять циклов из десяти заканчиваются молчанием.
- Правило выходной двери: cron работает с --no-deliver, единственный способ попасть в канал — явный curl самого агента. Появилось после Opus, который за 48 часов прислал 16 сообщений вида «Now I have all data. Let me analyze…» и ноль алертов.
- Модель врала дважды: дорисовала несуществующий токен бота (401 Unauthorized, два реальных бага потерялись) и посчитала 84 ошибки в час там, где их было 2,5 — экстраполировала 7 × 12 из пятиминутного окна.
- Лекарство: находке нельзя верить, пока её не пересчитал тот, кто её не находил. Верификатор получает только кандидата и конфиг, считает другим запросом (|= "exception" против |~ "outcome.*exception"), порог ratio > 2.0 — отклонить.
- 435 млн токенов за июль на подписке за $10, потому что 85% объёма — чтение кэша. Файл памяти дедупа распух до 65K токенов и грузился каждый цикл: после чистки расход упал с 6,8 до 0,75 млн в день.
- Написать свой poll-loki.sh под источник логов и повесить cron раз в 30 минут на изолированную сессию с промптом «молчи, если это известный шум».
- Прописать в промпт детектора два железных правила: экстраполяция запрещена, счётчики только сырые. Плюс таблицу отмазок — на «это явно баг, верификация излишня» контраргумент лежит прямо в скилле.
- Отдельным скриптом пересчитать находку другим запросом и резать алерт при ratio > 2.0.
- Метрика: за первую неделю — доля молчаливых циклов (цель от 80%) и число алертов, которые вы проверили руками и не подтвердили.
из статьи