гораздо дороже, чем один вызов большой языковой модели. Агент, основанный на цикле ReAct, автономно итеративно использует инструменты поиска, строит гипотезы, извлекает фрагменты и синтезирует финальный ответ без участия пользователя. Агент ISTOK, разработанный автором, использует пять инструментов: VectorSearch (гибридный плотный поиск + BM25 через Milvus), Search (полнотекстовый поиск в PostgreSQL), OpenChunk для чтения полных фрагментов документов, GetDocumentChunks для оглавлений и CallOperator как крайнюю меру после 2–3 собственных попыток. Для управления ограничением контекстного окна агент сначала пробовал суммаризацию с помощью большой языковой модели, но счел её дорогой и ненадёжной; теперь используется скользящее окно (хранить последние 6 сообщений, удалять старейшие сообщения от инструментов) с суммаризацией как запасной вариант (не более 2 за сессию). Вызовы большой языковой модели также дифференцированы: дешёвые эмбеддинги и реранжировка, лёгкая генерация для простых шагов, средняя для типичных рассуждений и тяжёлая только для итогового синтеза или суммаризации. В реальном пилоте с ~1200 документами и 1800 ежемесячными запросами ассистент в среднем делал 1 вызов большой языковой модели, 2,3 последующих обращения пользователя, 34% эскалаций, закрывал вопрос за 27 минут и использовал ~18 000 токенов. Агент в среднем совершал 6,4 вызова большой языковой модели, 0,3 последующих обращения, 11% эскалаций, закрывал вопрос за 4 минуты и использовал ~15 500 токенов. По прямым затратам закрытый вопрос ассистента стоил ~52 рубля (с учётом затрат на оператора), а агента — ~17 рублей, то есть в три раза меньше. Преимущество агента исчезает для простых фактологических вопросов или когда база знаний пуста, так как он тратит итерации впустую. Агент логирует использование

Показать ещё ↓