---
title: "ИИ-журнал"
id: "2063"
type: "page"
slug: "ai-log"
published_at: "2026-09-28T14:18:11+00:00"
modified_at: "2026-09-28T14:21:43+00:00"
url: "https://pastukhov.com/agents/test/docs/ai-log"
markdown_url: "https://pastukhov.com/agents/test/docs/ai-log.md"
excerpt: "Разбор отличий и сбоев оплачивает владелец, поэтому должно быть видно, за что именно он платит.…"
---

# ИИ-журнал

[https://pastukhov.com/agents/test/docs/ai-log.md](https://pastukhov.com/agents/test/docs/ai-log.md)

Разбор отличий и сбоев оплачивает владелец, поэтому должно быть видно, за что именно он платит. **ИИ-журнал** показывает три вещи: какие задачи выполнил ИИ, сколько они стоили и почему какая-то задача вообще не была запущена. Заодно он отвечает на главный вопрос — «а мы точно не платим на каждом прогоне?».

Нет, не платим. Повторные прогоны сравнивают картинки по отпечатку и попиксельно, детерминированно и бесплатно. Агента спрашивают только тогда, когда появилось что-то новое или сломалось. Поэтому **пустой журнал — это хороший знак**: значит, набор тестов стабилен и лишних обращений не было.

## Таблица задач

Каждый запрос к ИИ — одна строка. В ней видно тип задачи, её состояние, цель (какой снимок, сборка или тест), время и задержку, израсходованные токены — отдельно входные и выходные — и стоимость. У задач, где ИИ оценивал важность, рядом стоит его уверенность в ответе.

Типы задач в журнале такие:

- Классификация отличия — понять, что это: ошибка, шум или намеренное изменение.
- Разбор сборки и пояснение сборки — собрать падения в группы и объяснить их словами.
- Разбор группы сбоев — уточнить причину внутри уже собранной группы.
- Генерация покрытия — предложить тест для непокрытого места.
- Починка теста — подготовить изменение файла теста.
- Разбор замечания, предложение действия, правка правила или действия — работа по экранам и замечаниям.

Строку можно отфильтровать по типу и раскрыть: видно, что агент читал и что ответил. Тела входных данных открыты только администраторам — в них может попадать текст ваших страниц. Полный запрос живёт в чате с агентом, а здесь хранится его служебная копия.

## Итоги и бюджеты

Над таблицей — сводка: общий расход, разбивка по типам задач, средняя задержка и доля сборок, на которых ИИ вообще вызывался. Отдельная полезная цифра — **расход на один найденный дефект**: считаются только дефекты, подтверждённые человеком из групп сбоев. Так видно реальную цену пользы, а не просто счёт за токены.

У бюджета есть лестница состояний, и она честно называет своё положение:

- Израсходовано меньше половины — всё в порядке.
- Израсходовано от половины до 80 % — предупреждение.
- Израсходовано от 80 до 100 % — критично, пора смотреть расход.
- Лимит превышен — новые задачи ИИ отклоняются, пока не изменят пределы.

Если предел не задан вовсе, продукт так и пишет — предела нет, а не подставляет ноль или бесконечность. Пределы меняются здесь же: потолок токенов на задачу, попытки починки на тест и на сборку, число одновременных кампаний и предохранитель на повторяющуюся ошибку. Это те же предохранители, что останавливают починку тестов, — и точно так же **они ничего не одобряют**, а только ограничивают расход.

## Инструменты модели

Отдельной строкой показана работа внешних инструментов, которыми пользуется модель: сколько было вызовов, сколько описаний инструментов ей передали и сколько ответов она получила. Это накладные расходы, которые обычно не видны: описания инструментов тоже занимают место во входных данных и стоят денег. Если они начинают перевешивать саму задачу, это заметно здесь, а не в общем счёте.

## Почему отказано

Бывает, что задача не запустилась. Это не ошибка, а сработавший предохранитель, и причина записывается в журнал. Причины такие:

- Потолок токенов на задачу исчерпан.
- Бюджет починок этого теста исчерпан с его последнего успешного прогона.
- Бюджет починок этой сборки исчерпан.
- В проекте уже идёт другая кампания починки.
- Ошибка повторяется — предыдущая починка уже пробовала её исправить.
- Визуальный ИИ выключен для этого проекта.

Каждый отказ остаётся в журнале с причиной — он не исчезает молча. По нему видно, стоит ли поднимать пределы или дело в том, что агент и правда не нужен.

Дальше: как понять, какие места приложения не защищены тестами, — в разделе [Покрытие](/agents/test/docs/coverage)
.

[← Оглавление документации](/agents/test/docs)
