Экономия токенов при работе с кэшем и автоматизация процессов

Как я экономлю токены: часть 1

~55-65% расхода приходится на чтение кэша. И это при том, что я аккуратно с ним работаю. При обычном использовании эта доля расходов выше

Кэш в данном случае это весь контекст, которым оперирует агент: в него записывается системный промпт, ваши инструкции и память, ваши сообщения и ответы агента

Снижаю частоту чтения кэша

При каждом шаге модель перечитывает весь кэш. Шаг это и размышления модели, и вызов инструментов, и сообщения. Задача сделать так, чтобы шагов было меньше

  1. Стараюсь писать вопросы, задачи и комментарии одним большим сообщением вместо нескольких коротких

Каждое сообщение заставляет модель перечитывать все 100-200-300 тысяч токенов контекста из кэша. Если вы написали 10 коротких сообщений в сессии с контекстом на 300 тысяч токенов, то модель прочитает 3 миллиона токенов из кэша. И это не считая вызова инструментов и размышлений, которых тоже будет больше, чем если бы сообщение пришло одно из нескольких пунктов

  1. Автоматизирую вызов инструментов через скрипты

Например, раньше агент делал несколько действий: писал файл, проверял файл на ошибки отдельным скриптом, коммитил, проверял состояние коммита, если коммит упал — разбирался почему и делал его снова

Сейчас агент одной командой пишет файл и запускает скрипт, который проверяет путь к файлу, форматирует код на соответствие требованиям, коммитит, если гит не ответил сразу — делает повтор. Всё это одним шагом, без агента. Если коммит прошёл — присылает короткий ответ о нём, если не прошёл — присылает короткий ответ с конкретной причиной

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

Есть и отдельное требование на чтение файлов. Обычно, когда агенту надо прочитать несколько файлов, он это делает через несколько отдельных вызовов. Чтобы сэкономить на этом, у меня теперь есть инструкция, что вызов чтения нескольких файлов делается одной командой

В общем, я постоянно анализирую, что происходит в сессиях и ищу, что можно скомпоновать, упростить, механизировать, чтобы сэкономить токены и ускорить процесс работы

22