3,583 papers
arXiv:2512.21309 68 24 дек. 2025 г. FREE

AgentReuse: кэширование планов для ассистентов на базе LLM

КЛЮЧЕВАЯ СУТЬ
AgentReuse — механизм для LLM-ассистентов (типа Алисы, Siri), который кэширует планы выполнения задач и переиспользует их для похожих запросов. Когда ассистент получает задачу ("Забронируй билет Москва→Питер на завтра"), он сначала генерирует план из 5-7 шагов (узнать дату, проверить рейсы, сравнить цены, учесть предпочтения пользователя), потом выполняет. Генерация плана занимает 25-30 секунд — большую часть времени ответа. Если 30% запросов похожи, можно переиспользовать старые планы и сократи
Адаптировать под запрос

TL;DR

AgentReuse — механизм для LLM-ассистентов (типа Алисы, Siri), который кэширует планы выполнения задач и переиспользует их для похожих запросов. Когда ассистент получает задачу ("Забронируй билет Москва→Питер на завтра"), он сначала генерирует план из 5-7 шагов (узнать дату, проверить рейсы, сравнить цены, учесть предпочтения пользователя), потом выполняет. Генерация плана занимает 25-30 секунд — большую часть времени ответа. Если 30% запросов похожи, можно переиспользовать старые планы и сократить время на 93%.

Нельзя сравнивать тексты запросов напрямую. "Билет Москва→Питер завтра" и "Билет Казань→Сочи послезавтра" — разные тексты, но план одинаковый (города и даты — просто параметры). Если векторизовать и сравнить тексты как в GPTCache, получишь низкое сходство (разные слова) и упустишь возможность переиспользования. Если считать их схожими и вернуть старый ответ — пользователь получит билеты не в те города. Нужно переиспользовать ПЛАН, а не ответ, подставив новые параметры.

Решение в три шага: (1) Классифицировать намерение запроса ("Забронировать", "Найти", "Отправить"), (2) Извлечь параметры (города, даты) и удалить их из текста, (3) Сравнить остаток — "Забронируй билет из в на" высоко схож с самим собой. Если нашли похожий запрос в кэше — берём его план и подставляем новые параметры. Если не нашли — генерируем план и сохраняем в кэш.

🔬

Схема метода

ШАГ 1: Классификация намерения
Запрос → Intent Classification → Категория ("Забронировать", "Найти", "Отправить")

ШАГ 2: Извлечение параметров
Запрос → Slot Filling → Параметры (города, даты, имена)
"Билет Москва→Питер завтра" → {Москва, Питер, завтра}

ШАГ 3: Удаление параметров для сравнения
"Билет Москва→Питер завтра" → "Билет из в на"

ШАГ 4: Поиск похожего в кэше
Векторизация → Поиск в кэше по категории → Сходство ≥ 0.75?

ШАГ 5a: Если нашли
Взять план из кэша → Подставить новые параметры → Выполнить

ШАГ 5b: Если не нашли
Сгенерировать план через LLM → Сохранить в кэш → Выполнить

Все шаги автоматизированы через код/API — система для разработчиков агентов.

🚀

Пример применения

⚠️ Ограничения метода: AgentReuse — это инфраструктурное решение, требует модели для классификации, векторную базу, кэш. Читатель не может построить такую систему в чате. НО принцип "отдели структуру плана от параметров" применим вручную.

Задача: Ты регулярно готовишь разборы российских стартапов для инвестора. Каждый раз описываешь задачу с нуля: "Изучи AmoCRM", "Проанализируй GetCourse", "Разбери Unisender". Модель каждый раз генерирует новый план — тратишь время на повторы.

Промпт-шаблон (manual plan reuse):

Ты аналитик стартапов. Разбери {компанию} по структуре:

1. Позиционирование — кто клиенты, какую боль закрывает
2. Конкуренты — кто в той же нише, чем отличаются
3. Метрики — выручка, пользователи, динамика роста (если есть в открытых источниках)
4. Сильные стороны — что делает лучше конкурентов
5. Слабые стороны — где проигрывает, какие риски
6. Вывод — стоит ли инвестору смотреть

Компания: {название}
Фокус инвестора: {B2B SaaS, EdTech, FinTech и т.д.}

Результат:

Ты сохраняешь шаблон отдельно (в заметках, в Custom Instructions, в отдельном чате). Когда приходит новая задача — копируешь шаблон, подставляешь название компании, отправляешь. Модель не генерирует план заново — ты даёшь готовую структуру. Экономишь 10-15 секунд на каждый запрос + получаешь консистентные разборы (все по одной логике).

Для "Unisender" подставляешь {Unisender} и {Email-маркетинг}, для "GetCourse" — {GetCourse} и {EdTech платформы}. План один, данные разные.

🧠

Почему это работает

Слабость LLM: Модель каждый раз генерирует план с нуля, даже если задача похожа на предыдущую. Ты пишешь "Разбери компанию X", модель создаёт план. Через час пишешь "Разбери компанию Y" — модель снова создаёт план, хотя структура та же. Автогрессивная генерация долгая (25-30 секунд для плана из 7 шагов) — время тратится на воспроизведение того, что уже было.

Сильная сторона LLM: Модель отлично следует готовой структуре и подставляет данные в шаблон. Если дать план явно ("Сделай 1, 2, 3, подставь {X}"), модель выполнит быстро и точно. Ей не нужно думать "какие шаги сделать", только "какие данные подставить".

Как AgentReuse использует это: Разделяет структуру задачи (план) и данные (параметры). Для "Билет Москва→Питер завтра" и "Билет Казань→Сочи послезавтра" структура одна: (1) узнать дату, (2) найти рейсы из города A в город B, (3) сравнить цены, (4) учесть предпочтения пользователя, (5) рекомендовать. Параметры разные: {Москва, Питер, завтра} vs {Казань, Сочи, послезавтра}. Система сохраняет план первого запроса, при втором — берёт тот же план и подставляет новые параметры. Никакой генерации плана — только подстановка. 25 секунд → 0 секунд.

Рычаги управления (для manual reuse):

  • Детальность плана → Чем подробнее структура в шаблоне, тем консистентнее результаты, но тем жёстче рамки. Для исследовательских задач делай пункты шире ("Изучи рынок"), для рутинных — конкретнее ("Найди 5 конкурентов с выручкой >100M₽").

  • Гибкость параметров → Не все данные выносятся в {скобки}. Фиксированные части (всегда 5 конкурентов, всегда рубли) пиши явно. Изменяемые (название компании, ниша) — в параметры.

  • Категоризация задач → Группируй задачи по намерению: все "анализ компаний" — один шаблон, все "написать пост" — другой. Не пытайся сделать универсальный шаблон "для всего" — структура размоется.

📋

Шаблон промпта

Это принцип ручного переиспользования планов, а не прямой перенос технической системы AgentReuse.

{Твоя роль и контекст}

Выполни задачу по структуре:

1. {Шаг 1 плана}
2. {Шаг 2 плана}
3. {Шаг 3 плана}
...
N. {Финальный шаг}

Входные данные:
- {Параметр 1}: {значение}
- {Параметр 2}: {значение}
- {Параметр 3}: {значение}

Как заполнять:

  • {Твоя роль и контекст} — кто модель и что она делает ("Ты аналитик стартапов", "Ты редактор текстов")
  • {Шаг 1, 2, 3...} — последовательность действий, которые ВСЕГДА одинаковы для этой категории задач
  • {Параметр 1, 2, 3} — данные, которые МЕНЯЮТСЯ от задачи к задаче (название компании, город, дата)

Важно: Структуру плана (шаги 1-N) пиши один раз, сохрани. Для новых задач меняй только параметры.

🚀 Быстрый старт — вставь в чат:

У меня есть повторяющаяся задача: {опиши свою задачу}. 

Я делаю её регулярно, меняются только {что меняется — названия, даты, города и т.д.}.

Создай промпт-шаблон с фиксированной структурой (план действий) и параметрами {в скобках} для данных, которые меняются. Структура должна подходить для всех вариантов этой задачи.

LLM спросит примеры твоих задач и какие части фиксированы, какие переменны — чтобы выделить структуру от данных. Она возьмёт паттерн "план + параметры" и создаст шаблон, который ты будешь копировать для каждого нового запроса.

⚠️

Ограничения

⚠️ Подходит для повторяющихся задач: Если каждая задача уникальна по структуре — шаблон не поможет. "Разбери 50 стартапов" — да, структура одна. "Разбери стартап, потом напиши статью, потом найди инвестора" — нет, это разные задачи.

⚠️ Параметры должны чётко выделяться: Если в задаче всё переплетено ("учитывай вот это, но если вот то, то по-другому"), сложно сделать универсальный план. Лучше работает для задач с ясными переменными (название, дата, город, сумма).

⚠️ Читатель делает вручную то, что в AgentReuse автоматизировано: Ты сам выделяешь параметры, сам подставляешь, сам следишь за консистентностью. Техническая система делает это за миллисекунды для тысяч запросов, у тебя — для десятков задач в день.

⚠️ Не для разовых экспериментов: Если задача встречается 1-2 раза — шаблон не окупится. Ценность в многократном переиспользовании.

🔍

Как исследовали

Использовали датасеты реальных запросов к личным ассистентам (Xiao Ai, китайский рынок). Построили систему с: - Моделью классификации намерений (bert-base-chinese) — определяет категорию запроса - Моделью извлечения параметров (slot filling) — вытаскивает города, даты, имена из текста - Векторной базой (FAISS) — хранит закэшированные планы и ищет похожие - LLM для генерации планов (GPT-4 через API)

Сравнивали с базовым подходом (без кэширования) и с GPTCache (кэширует ответы LLM по сходству текстов). Замеряли: - F1 score — точность определения "похожих" vs "непохожих" запросов (0.9718 у AgentReuse vs 0.9 у GPTCache) - Эффективность переиспользования — сколько планов удалось корректно переиспользовать (93% у AgentReuse) - Снижение латентности — на сколько быстрее ответ (93.12% быстрее при срабатывании кэша)

Тестировали на 100 запросах, средняя генерация плана — 31.8 секунды, средняя экономия при попадании в кэш — 29.6 секунд.

🔗

Ресурсы

A Plan Reuse Mechanism for LLM-Driven Agent — Guopeng Li, Ruiqi Wu, Haisheng Tan (University of Science and Technology of China). Опубликовано в Journal of Computer Research and Development, 2024.

Упоминаются методы: AutoGen (Microsoft, фреймворк для агентов), GPTCache (метод кэширования ответов LLM), MetaGPT (multi-agent framework).


📖 Простыми словами

AgentReuse: кэширование планов для ассистентов на базе LLM

arXiv: 2512.21309

Проблема современных AI-агентов в том, что они ведут себя как склеротики на стероидах. Каждый раз, когда ты просишь нейронку сделать что-то сложное, вроде планирования поездки или анализа компании, она заново изобретает велосипед. Модель тратит 25-30 секунд просто на то, чтобы прописать шаги: «сначала проверю это, потом сравню то». Это тупо, потому что структура задачи почти всегда одинаковая, а меняются только вводные данные. AgentReuse — это по сути «память на алгоритмы», которая позволяет AI не тупить над планом, а сразу переходить к делу.

Это как если бы опытный бариста каждый раз, когда ты заказываешь латте, заново читал инструкцию по эксплуатации кофемашины. Формально он молодец, соблюдает технологию, но ты стоишь и ждешь полчаса, пока он водит пальцем по строчкам. AgentReuse дает агенту готовую шпаргалку: он видит знакомый тип задачи, мгновенно вытаскивает из кэша проверенный скелет плана и просто подставляет в него твои данные. Вместо того чтобы мучительно генерировать текст полминуты, система выдает результат за доли секунды.

Технически это работает через кэширование планов и умную фильтрацию. Когда прилетает запрос, специальный классификатор лезет в векторную базу и ищет: «а мы уже делали что-то похожее?». Если да, то агент берет старый шаблон, где структура плана отделена от параметров, и адаптирует его под текущий контекст. В итоге время на подготовку сокращается на 93%, потому что нейронке больше не нужно по буквам выстукивать очевидные вещи, которые она уже писала сотню раз для других пользователей.

Хотя это решение для разработчиков инфраструктуры, сам принцип отделения структуры от данных универсален. Его можно использовать везде: от написания промптов до автоматизации рабочих процессов в бизнесе. Если ты заставляешь модель каждый раз генерировать логику процесса с нуля — ты сжигаешь время и деньги. SEO для агентов теперь заключается не в ключевых словах, а в создании четких, переиспользуемых паттернов, которые AI может подхватить на лету.

Короче, эпоха, когда мы ждали ответа от «умных» ассистентов по полминуты, подходит к концу. Главный вывод исследования: генерация плана — это самый узкий сегмент, и его нужно кэшировать беспощадно. Если твой агент до сих пор думает над каждым шагом как в первый раз — это технологический облом. Будущее за системами, которые умеют быстро доставать готовые схемы из кармана, оставляя ресурсы модели на реальное решение задачи, а не на пустую болтовню о намерениях.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с