Камеры на кухне: наблюдаемость и логи
🤔 Зачем это читать
Понедельник, утро. Тебе пересылают гневное письмо: клиент пишет, что бот в поддержке наобещал ему возврат денег, которого по правилам быть не может. Клиент уже размахивает скриншотом в чате с менеджером. Ты идёшь к команде: «Почему он так ответил?» И слышишь в ответ то, от чего холодеет внутри: «Не знаем. Надо разбираться. У нас нигде не записано, что он там решал».
Вот это «нигде не записано» — и есть тема страницы. Агент отработал, выдал ответ, ушёл дальше. А что именно он внутри себя «решил», в какую систему сходил, какие данные оттуда вытащил, на каком шаге свернул не туда — испарилось. Перед тобой чёрный ящик: на входе вопрос клиента, на выходе неправильный ответ, а между ними — туман. Разбираться не на чем.
И это не только про скандал с одним клиентом. Без записи того, что агент делал, ты не видишь трёх вещей разом: где он ошибается (отладка), сколько времени и денег жрёт каждый его заход (помнишь круги цикла из 5.1 — каждый круг это вызов модели?), и чем вообще обосновать его решение, если завтра придёт проверка или недовольный клиент с юристом.
После этой темы ты будешь понимать, что такое наблюдаемость (observability) — способность видеть, что агент делал на каждом шаге, — зачем она нужна и почему вопрос «а у нас это пишется куда-нибудь?» надо задавать до запуска, а не после первого скандала. Это первый разговор модуля про то, как держать работающего агента под контролем, а не молиться, чтобы не сломался.
Задержись на 10 секунд. Вспомни последний раз, когда у тебя на работе что-то пошло не так — заказ ушёл не туда, отчёт собрался с ошибкой, клиент получил не то — и пришлось восстанавливать по крупицам, кто что когда сделал. Где смотрели, чтобы понять? В переписке, в журнале заявок, в логах кассы? А теперь представь, что смотреть негде вообще. Подержи эту картинку — к ней вернёмся.
📹 Кухня без камер: вкусно, пока не отравились
Представь ресторанную кухню, где нет ни одной камеры, ни одного чек-листа, ни одной записи. Блюда выходят, гости едят. Пока всё хорошо — никто не замечает, что слепых зон нет только на словах. Но вот пришла жалоба: «у вашего стирфрая был странный вкус, мне поплохело». Шеф разводит руками. Кто готовил? В котором часу? Те ли продукты взяли из холодильника, не просрочку ли? Сколько блюдо стояло на раздаче? Никто не знает. Разбираться не на чем — кухня работала вслепую, и теперь ты тоже вслепую.
А теперь та же кухня, но с камерами над станциями и чек-листами на каждом шаге: кто принял продукт и проверил срок, кто и во сколько встал к плите, сколько соли пошло, когда блюдо ушло в зал. Пришла жалоба — ты отматываешь запись и видишь: ага, вот тут заготовщик взял соус из вчерашней партии, которую надо было слить. Нашёл причину за пять минут, а не за пять дней допросов.
Вот это и есть наблюдаемость (observability) применительно к AI-агенту: способность заглянуть внутрь его работы и увидеть, что он делал на каждом шаге. Не «ответ хороший или плохой» снаружи, а вся внутренняя кухня: что агент «решил» сделать дальше, какой инструмент позвал, что инструмент ему вернул, сколько это заняло времени и денег, где вылезла ошибка. Без камер агент — чёрный ящик. С камерами — кухня, за которой видно.
📋 Что именно стоит записывать
Запись того, что происходило, называется логом (журналом) — это как журнал заявок или кассовая лента, только для агента. Но «записывать всё подряд» не работает: свалка из миллиона строк бесполезна так же, как камера, которую никто не смотрит. Записывать надо структурно (по полочкам) — чтобы потом можно было быстро найти нужное. Помнишь круг агентного цикла из темы 5.1 — «думаю → делаю → пробую»? Логировать стоит ровно этот круг, на каждом витке:
- Что агент «решил» (то самое «думаю»). Какой следующий шаг он выбрал и почему. Антропоморфизация в кавычках: агент не размышляет как человек, он подбирает следующий шаг по образцу — но нам важно записать, какой именно.
- Какой инструмент позвал и с чем (то самое «делаю»). «Спросил баланс клиента № 2207 в 1С». Это критично: чаще всего агент ломается не «в голове», а на походе в систему — не то спросил, не туда сходил.
- Что вернул инструмент (то самое «пробую»). «1С вернула: долг 18 000 ₽». Часто именно тут зарыта причина: система отдала кривые данные, а агент честно построил на них неверный вывод.
- Сколько времени и сколько токенов ушло на этот шаг. Токен — это кусочек текста, которым оперирует модель, и счёт за агента идёт именно в токенах. Это твои деньги и твоя задержка (latency) — то, сколько клиент ждёт ответа.
- Какие ошибки вылезли. Инструмент не ответил, данные пришли в кривом формате, агент свернул не туда.
🗄 Логи — в хранилище, а не в воздух
Тут одна простая, но решающая деталь, на которой спотыкаются. Мало того что логи нужно писать — их нужно писать в хранилище, откуда их можно потом достать, отфильтровать и посмотреть. А не «в консоль» — то есть не строчками, которые мелькнули на экране у разработчика во время запуска и тут же пропали, как пар над кастрюлей.
Камера, которая ничего не записывает, а просто показывает картинку на монитор охраннику, который отошёл за кофе, — бесполезна. Жалоба пришла через неделю — отматывать нечего. Логи в хранилище — это запись на диск: можно вернуться к любому заходу за любой день, увидеть тренд («сегодня агент в среднем делает на два круга больше, чем месяц назад — что-то поплыло»), настроить сигнал тревоги («если ошибок за час больше десяти — позови человека»). Логи в воздух — это разговор «вроде что-то мелькало, но я не успел прочитать».
запиши в хранилище:
время: «2026-05-30, 10:14:07»
задача: «обработать обращение клиента № 2207»
круг: 2
решил: «нужно проверить, есть ли просрочка по оплате»
инструмент: «1С → статус оплаты клиента № 2207»
вернулось: «оплата просрочена на 5 дней»
токенов: 1 840 # это деньги за шаг
время_шага: 1.3 сек # это задержка для клиента
ошибка: нет
# → через неделю пришла жалоба — открыл этот лог и за минуту видишь весь путь
Заметь главное: тут ничего не «придумано умного». Это ровно тот же круг цикла из темы 5.1, просто аккуратно записанный туда, откуда его можно достать. Наблюдаемость — это не сложная технология, это дисциплина: договориться записывать важное и складывать туда, где найдёшь.
⚠️ Камеры есть — смотреть надо
И вот где метафора с камерами ломается, а заодно — главная ловушка темы. Поставить камеры мало. Камеры, на которые никто не смотрит, ловят преступника ровно никогда. Точно так же логи, которые пишутся, но которые никто не открывает и не настраивает по ним сигналы тревоги, — это иллюзия контроля. Технически ты «наблюдаемый». Фактически ты узнаёшь о проблеме всё так же — от разъярённого клиента.
Поэтому наблюдаемость — это две вещи, и вторая важнее первой. Первая: писать логи (поставить камеры). Вторая, без которой первая мертва: смотреть в них — регулярно, а на важное настраивать автоматический сигнал, чтобы система сама дёргала человека, не дожидаясь жалобы. Гора неразобранных логов помогает примерно так же, как гора непросмотренных записей с камер: вроде есть, а толку ноль.
🎮 Что писать в лог, а что — лишнее?
Семь утверждений про наблюдаемость агента. По каждому реши: это верно (так и надо / так и есть) или неверно (миф или вредный совет). Жми кнопку — сразу увидишь разбор. Счёт появится после всех семи. Это не экзамен, а проверка чутья: что реально стоит видеть и почему.
📖 Ключевые понятия
- Наблюдаемость (observability)
- Способность заглянуть внутрь работы агента и увидеть, что он делал на каждом шаге: что «решил», какой инструмент позвал, что тот вернул, сколько времени и токенов ушло, где вылезла ошибка. Эта пошаговая запись и называется трассировкой (trace) — основа наблюдаемости. Камеры и чек-листы на кухне. Без неё агент — чёрный ящик: на входе вопрос, на выходе ответ, посередине туман.
- Лог (журнал)
- Запись того, что происходило, — как журнал заявок или кассовая лента, только для агента. Полезен, только если ведётся структурно (по полочкам, чтобы быстро найти нужное) и складывается в хранилище, а не мелькает в консоли и пропадает.
- Хранилище логов
- Место, куда логи пишутся на диск и откуда их можно достать за любой прошлый день, отфильтровать, построить тренд и настроить сигнал тревоги. Противоположность «логам в воздух» (в консоль), которые исчезают сразу после запуска.
- Три зачем наблюдаемости
- Отладка (понять, где и почему агент ошибся); контроль задержки (latency) и стоимости (сколько времени и токенов ест каждый заход); доверие и комплаенс (соответствие правилам и закону — чем обосновать решение агента перед клиентом или проверкой).
🛡️ Частые заблуждения
«Логи — это технический хлам для разработчиков, владельцу про них думать незачем»
Наоборот. Именно владельцу логи отвечают на бизнес-вопросы: почему клиент получил не то, во сколько нам обходится один заход агента, чем мы оправдаемся перед проверкой. Разработчик настраивает запись технически, но решает, ЧТО важно видеть и зачем, — тот, кто отвечает за деньги и репутацию. То есть ты.
«Если логи пишутся — значит, наблюдаемость есть и агент под контролем»
Камеры есть — смотреть надо. Логи, в которые никто не заглядывает и по которым не настроены автоматические сигналы тревоги, дают только иллюзию контроля. О проблеме ты по-прежнему узнаешь от клиента, просто теперь у тебя есть чем подтвердить, что ты её проспал. Наблюдаемость = писать И регулярно смотреть.
«Чем больше всего записываем в лог, тем лучше мы защищены»
Не количество, а структура. Свалка из миллиона строк, в которой не найти нужное, не защищает ни от чего — и стоит денег на хранение. Полезен лог, разложенный по полочкам (что решил, что позвал, что вернулось, сколько стоило, где сбой), по которому причину находишь за минуту, а не за неделю. Плюс отдельная аккуратность: что в логи попадать НЕ должно — например, лишние персональные данные клиентов.
🧠 AI-чутьё (AI Judgment)
Без логов — тихая деградация; в регулируемом — без аудита не пустят
Главная рамка темы для владельца: без наблюдаемости агент деградирует тихо. Он не падает с грохотом — он постепенно начинает чуть чаще ошибаться, чуть дольше думать, чуть дороже обходиться. И ты этого не видишь, пока накопленные мелочи не выльются в скандал или в счёт, от которого отвисает челюсть. О тихой деградации ты узнаёшь самым дорогим способом — от клиента, который ушёл, или из отчёта за квартал. Логи — это то, что превращает «вдруг всё развалилось» в «мы заметили тренд три недели назад и поправили».
Вторая рамка — про то, где наблюдаемость из «хорошо бы» превращается в «без неё нельзя». В регулируемых сферах — финансы, медицина, всё, что касается персональных данных, — есть аудит и есть ответственность за решения. И там фраза «мы не знаем, почему бот так ответил клиенту» — это не неловкость, а блокер. Решение, которое нельзя объяснить и подтвердить следом того, что делал агент, в работу попросту не пустят. Наблюдаемость тут не приятный бонус, а пропуск на вход. Если твоя сфера такая — вопрос «а это всё пишется и хранится?» задавай на самом первом совещании про проект, а не после.
И мостик дальше. Наблюдаемость отвечает на вопрос «что агент делал?». Но есть вопрос рядом, не менее важный: «а делал ли он это хорошо?». Видеть шаги — не то же самое, что измерять качество. Камеры показывают, что повар посолил, — но не говорят, вкусно ли вышло. Для «вкусно ли» нужна дегустация по чек-листу — и это уже про оценку (eval), следующая тема модуля.
🎯 Практика
Одно задание на пять минут — превращает «наблюдаемость» из слова в твой рабочий вопрос к любому AI-проекту.
- Возьми любой процесс у себя на работе, который ты бы хотел (или уже начал) отдать AI-агенту: разбор обращений, подготовка отчёта, проверка заявок — что угодно своё.
- Представь, что через месяц приходит жалоба: агент сделал что-то не то. Выпиши три вопроса, на которые тебе придётся ответить, чтобы разобраться. Например: «в какую систему он сходил?», «какие данные оттуда получил?», «сколько раз он так делал до этого?». Это и есть твой личный список того, что обязано быть в логах.
- Теперь задай главный вопрос команде (или себе, если проект ещё на бумаге): «Где это всё будет записываться и кто будет в это смотреть?» Если ответ «нигде» или «никто» — ты только что нашёл дыру, которую дешевле закрыть до запуска, чем после первого скандала.
Помнишь ту картинку с начала страницы — когда что-то пошло не так и пришлось восстанавливать по крупицам, кто что сделал? Теперь у тебя есть слово для того, чего там не хватало, и вопрос, который это закрывает: «а где у нас камеры на этой кухне?»