Урок 2. Логирование: как понять, что происходит#
Цель: научиться логировать действия агента, чтобы быстро находить и исправлять ошибки.
Что такое логирование#
Логирование (logging) — это запись всех важных событий в работе агента:
- кто и когда обратился к агенту
- что агент сделал (прочитал данные, отправил сообщение, вызвал API)
- какие ошибки произошли
- сколько времени заняла каждая операция
Зачем это нужно:
- Отладка: если агент сломался, вы можете посмотреть логи и понять, на каком шаге произошла ошибка
- Мониторинг: видите, сколько запросов обрабатывает агент, какие запросы самые популярные
- Безопасность: видите подозрительную активность (например, слишком много запросов с одного IP)
Что логировать#
Обязательно логируйте:
-
Входящие запросы:
- дата и время
- ID пользователя (или анонимный идентификатор)
- текст запроса (или его суть)
-
Действия агента:
- какой API вызван
- какие данные переданы (без чувствительных данных!)
- результат (успех / ошибка)
-
Ошибки:
- дата и время
- описание ошибки
- стек ошибки (если есть)
- что делал агент в момент ошибки
-
Метрики:
- время выполнения запроса
- количество запросов в час / день
- количество ошибок
Не логируйте:
- пароли
- платёжные данные (номера карт, CVV)
- полные персональные данные (паспорта, ИНН) — только хеши или ID
Как логировать в no-code инструментах#
1. Google Sheets (простой вариант)
Создайте таблицу «Логи» с полями:
| Timestamp | UserID | Action | Details | Status | ErrorMessage |
|---|---|---|---|---|---|
| 2026-02-03 10:15:00 | 12345 | send_email | to: ivan@example.com | success | |
| 2026-02-03 10:16:00 | 12346 | call_api | API: OpenAI, model: GPT-5 | failed | Rate limit exceeded |
Каждый раз, когда агент выполняет действие — добавляется новая строка.
Как реализовать:
- в Zapier / Make / n8n добавьте шаг «Google Sheets → Add Row» после каждого важного действия
- передавайте в таблицу: timestamp, userID, action, details, status
2. Airtable (удобнее для анализа)
Создайте базу «Логи» с полями:
- Timestamp (дата и время)
- UserID (ссылка на таблицу Users)
- Action (single select: send_email, call_api, create_record)
- Status (single select: success, failed)
- ErrorMessage (long text)
Плюсы: можно фильтровать, группировать, строить представления (только ошибки, только успешные).
3. Встроенные логи платформ
Многие платформы имеют встроенные логи:
- n8n: Executions (история выполнений workflow)
- Zapier: Task History (история выполнения Zaps)
- Make: History (история сценариев)
- Coze: Logs (в панели управления ботом)
Используйте встроенные логи для отладки, но для долгосрочного хранения и анализа лучше дублировать в свою таблицу.
Как читать логи#
Сценарий 1: агент не отправил email
- Откройте таблицу логов
- Найдите запись с
Action = send_email - Посмотрите
StatusиErrorMessage - Если
Status = failed,ErrorMessage = "Invalid email address"→ проблема в формате email - Исправьте данные (или валидацию) и протестируйте снова
Сценарий 2: агент стал медленным
- Посмотрите метрику «Время выполнения» (если логируете)
- Найдите шаг, который занимает больше всего времени
- Оптимизируйте этот шаг (кеширование, batch-запросы, переход на более быстрый API)
Практический пример: логирование бота поддержки#
Логика:
- Пользователь пишет вопрос в бот
- Агент логирует:
Timestamp, UserID, Action: "incoming_message", Details: "Как оформить возврат?", Status: "received" - Агент ищет ответ в базе знаний
- Агент логирует:
Action: "search_kb", Details: "query: возврат", Status: "success" - Агент отправляет ответ пользователю
- Агент логирует:
Action: "send_response", Details: "response sent", Status: "success"
Если что-то сломалось:
- открываете таблицу логов
- фильтруете по
Status = failed - видите, на каком шаге произошла ошибка
- исправляете