В час пик на кухне ресторана шипит масло, стучат ножи, летят заказы. Шеф-повар не может ждать, пока помоют сковороду — у него под рукой всегда есть помощник, который заранее готовит чистую. Так же работают современные LLM-агенты: они управляют кодом, планируют задачи, общаются с пользователем, порождая длинные цепочки сообщений.
Эти цепочки быстро перегружают модель. Даже в пределах допустимой длины контекста качество ответов падает — модель путается в старых деталях. Явление окрестили «гниением контекста». Чтобы сохранить осмысленность, разработчики встраивают стратегии инженерии контекста: часть истории сбрасывают в файлы, часть пересказывают кратко, а для сложных подзадач заводят отдельный чистый контекст. Плата за такую гигиену — внезапные остановки. После каждого преобразования модель заново просчитывает KV-кэш (кэш ключей и значений слоёв внимания), и агент спотыкается, прежде чем выдать следующий токен.
SmoothAgent решает проблему кардинально: он выносит преобразования в фоновый поток. Рядом с основным агентом работает «теневой» — он асинхронно применяет заданную стратегию (оффлоадинг, суммаризацию) к очередному сегменту контекста и строит готовый KV-кэш для преобразованного префикса. Когда основной агент достигает лимита и требует чистки, ему сразу подсовывают заранее подготовленный контекст. Это напоминает кухонную бригаду, где отдельный повар моет и сушит сковороды ещё до того, как они понадобятся шефу.
Технически большинство операций по преобразованию контекста обладают свойством «разложимости на сегменты»: переработка одной части истории не зависит от того, что появится позже. Это позволяет диспетчеру с опережающим планированием втискивать фоновые задачи в свободные интервалы, не мешая основному потоку. В экспериментах на GPU NVIDIA H100 с моделями Qwen3-8B и Qwen3-32B хвостовая задержка упала в среднем на 62%. При суммаризации пиковая задержка до первого токена снизилась до 11.9 раз — вместо секундного ступора агент продолжал генерировать ответ так же плавно, как шеф-повар переворачивает блины на раскалённой плите.
Такой подход превращает инженерию контекста из неизбежного зла в незаметную фоновую процедуру. Асинхронная предобработка KV-кэша раскрывает структурное свойство, применимое к любым побочным вычислениям в конвейере генеративного ИИ. В перспективе опережающие вычисления могут войти в состав RAG-систем, многоагентных сред и облачных сервисов — всюду, где дорогостоящую обработку можно выполнить заранее. Агент перестаёт быть поваром-одиночкой и становится отлаженной бригадой, где каждый занят делом без суеты. В итоге пользователь получает плавный диалог, а модель — чистую сковороду для каждого нового блюда.
Метафора «гниение контекста» пришла из наблюдения, что даже в пределах официального окна модель начинает ошибаться на повторяющихся шаблонах — почти как человек, теряющий нить в длинной цепочке однотипных действий.