52 дня, 2340 строк, каждая сто... Заметка
DEV Community на русском

52 дня, 2340 строк, каждая стоимость зарегистрирована как ноль: ловушка "стоп-хук"

Студенческий побочный проект автора превратился в настоящий бизнес благодаря автономной работе среды искусственного интеллекта. Эта установка вышла за рамки выдачи инструкций, позволив системе работать самостоятельно, даже когда автор спал. Ключевым компонентом является "Stop hook", который автоматически срабатывает по завершении сеанса. Этот хук имеет решающее значение для отслеживания затрат на использование ИИ, поскольку автономные агенты могут незаметно потреблять ресурсы без прямого надзора.Первоначальный механизм отслеживания затрат не работал в течение 52 дней и более 2300 записей журнала, поскольку входные данные хука "Stop hook" не содержали необходимых данных об использовании и модели. Пересмотренный подход фокусируется на прямом чтении файла стенограммы сеанса, поскольку это единственный надежный источник данных. Эта стенограмма содержит подробные журналы ответов помощника, включая использование токенов и задействованную модель.Система использует таблицу тарифов, которая определяет стоимость за миллион токенов для различных моделей, таких как Haiku, Sonnet и Opus. Она также учитывает влияние кэширования ИИ на затраты, где чтение из кэша может быть значительно дешевле, чем обычный ввод. Реализована надежная обработка ошибок, чтобы гарантировать, что незначительные проблемы, такие как нечитаемые файлы или недопустимые строки журнала, не остановят весь процесс отслеживания.Скрипт включает тройной механизм резервного копирования для определения идентификатора сеанса, гарантируя, что даже при различных контекстах выполнения будет захвачен идентификатор сеанса. Наконец, для расчета затрат используется специальная техника округления для поддержания точности до шести десятичных знаков, что снижает ошибки арифметики с плавающей запятой. Кумулятивный дизайн записей журнала позволяет частично восстановить данные, даже если сеанс завершается неожиданно.