Длинная цепочка инструментов дорога, и цена роста экспоненциальна

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

На цепочке из трёх вызовов это незаметно. На цепочке из десяти вызовов это становится заметным: каждый новый вызов требует в десять раз больше токенов, чем сам по себе, потому что нужно читать всю предыдущую историю. Стоимость растёт как O(n²) вместо O(n).

Оптимизация цены

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

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

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