Доклад · ~25 минут

Агенты, которые общаются
памятью, а не текстом

Новое направление — латентная коммуникация — позволяет агентам обмениваться внутренними представлениями напрямую: скрытыми состояниями или KV-кешами (Liu, 2026). Что для этого нужно и что уже работает

Кирилл Остапенко

Как сейчас

Сегодня агенты общаются текстом: это медленно и с потерями

Каждое сообщение заставляет отправителя сгенерировать текст, а получателя — заново его прочитать (Liu, 2026).

Главный агент прочитал 100 стр. текст текст текст помощник 1 помощник 2 помощник 3 перечитывает перечитывает перечитывает

Цена перечитывания

Claude API: обычный ввод $2–4 / млн токенов, чтение из кеша $0.20 — в 10–20 раз дешевле.

Кеширование снижает эту цену только внутри одной модели (Heo et al., 2026).

Текст — канал с низкой пропускной способностью

Внутренние представления сжимают в строку токенов, а получатель распаковывает её обратно (Fu et al., 2025). Медленно — получатель ждёт, пока отправитель допишет; с потерями — состояние сжато в слова (Rossi et al., 2026).

Основы · где лежит кеш

KV-кеш — это ключи и значения, которые каждый слой внимания вычисляет для каждого прочитанного слова

текст: «A dog is a type of» эмбеддинги — вход первого блока блок трансформера × 12 внимание Q K V MLP скрытое состояние между блоками логиты — оценка для каждого из 50 257 слов словаря следующее слово: «animal» KV-кеш слой 1: K, V для «A», «dog», «is» … слой 2: K, V для «A», «dog», «is» … … слой 12: K, V для «A», «dog», «is» … запрос Q не хранится — пересчитывается Эксперимент 1 передаёт KV-кеш слайды 5–7 Эксперимент 2 — скрытое состояние слайды 8–9

Чтение и генерация

Чтение текста (prefill) заполняет кеш. Генерация (decode) добавляет по одному слову и обращается к уже сохранённым ключам и значениям (Fu et al., 2025).

Размер в GPT-2

12 слоёв × (K + V) × 768 чисел = 18 432 числа на слово. Текст в 1000 слов — около 37 МБ (16 бит на число).

Модели

GPT-2 (12 слоёв), DistilGPT2 (6 слоёв, дистиллят GPT-2), Pythia-160m (другое семейство). У всех векторы по 768 чисел.

Видение

Завтра: получатель переиспользует кеш отправителя и не читает текст заново. Больше вызовов за те же деньги

Кеш богаче текста и передаётся сразу целиком, без медленной пословной генерации (Fu et al., 2025).

Главный читает 1 раз KV-кеш помощник 1 помощник 2 помощник 3 не перечитывают Чтобы это сбылось, нужны три условия — по ним и пойдём: 1 · Пониманиеиспользует смысл 2 · Экономиядешевле перечитывания 3 · Совместимостьмежду разными моделями

Что уже показано

Cache-to-Cache (Fu et al., 2025): передача кеша вместо текста — +3–5% точности и в 2,5× быстрее.

Heo et al. (2026): перенос кеша внутри семейства Qwen — в 2,7–25× быстрее перечитывания.

Cheng et al. (2026): прирост на бенчмарке сам по себе не доказывает, что передано содержание.

Условие 1 · понимание

Чтобы проверить, что получатель использует содержание, подмените память на чужую

Систему не трогаем, подаём такую же корректную память, но от другого примера (по Cheng et al., 2026). Здесь: GPT-2 читает задачу, память идёт в DistilGPT2 через маленький обученный адаптер.

своя память правильный ответ чужая память от другого примера неправильный ответ Ответ меняется вместе с памятью → модель использует её содержимое.

Почему не хватает вероятностей

Один и тот же прирост совместим и с использованием содержания, и с общим эффектом, который просто сдвигает получателя (Cheng et al., 2026).

Задача «два ключа»: вероятность правильного ответа выросла, а правильных ответов 0 из 32.

→ Считать нужно правильные ответы, а не вероятности.

У Cache-to-Cache при такой проверке передача, привязанная к конкретному примеру, не обнаружена (Cheng et al., 2026).

Условие 1 · результат

Своя память — 31 правильный ответ из 32, чужая — 1: ответ зависит от того, чья это память

правильных ответов из 32 Порядок своя 31 чужая 1 Имя → ID своя 20 чужая 1 Два ключа своя 0 Имя → ID: таблица из 5 строк, отложенные примеры, которых адаптер не видел

Что это значит для агентов

Связать имя с его ID в переданной таблице — работает: 5 из 5 запусков, 20–27 / 32 (в среднем 74%). Чужая память — 1/32, перепутанные связи — 1/32, без памяти — 0/32.

Работает и в форме предложения «Bob is 12345» — 5 из 5, 70%.

Ответить по сочетанию двух ключей сразу — нет: 0 из 32.

→ Одну связь из памяти получатель достаёт; две сразу — пока нет.

Условие 2 · экономия

Если главный агент уже прочитал текст, отдать память помощнику дешевле, чем дать ему перечитать

время работы помощника, мс Один помощник перечитывает текст 25 получает память 18 1,4× 32 помощника пачкой перечитывают текст 215 получают память 30 7×

Условие выигрыша

Главный агент читал текст для своей задачи — эта работа уже сделана и в счёт не входит.

Оговорка

Если читать текст только ради передачи, она окупается начиная примерно с 7 помощников на одну память.

Замер: последовательность из 32 символов, CPU, PyTorch.

На больших моделях

Heo et al. (2026), Qwen3 14B→32B: перенос кеша в 2,7–25× быстрее перечитывания. Условие безубыточности объясняет, почему протокол ускоряет длинные контексты и проигрывает на коротких (Liu, 2026).

Условие 3 · совместимость

Можно ли совсем без обучения? Между копиями одной модели — да

Вместо целого кеша — самый простой вид памяти: вектор одного слова. Без адаптера.

модель 1 читает «dog» её вектор слова A thing is a type of … animal? насколько правильная категория выросла сильнее остальных: настоящий вектор 0.53 случайный вектор 0.08 две копии GPT-2 · 35 из 36 слов · 5 категорий · без обучения

Контроли

Корреляция эффекта с длиной вектора: 0,002.
Перемешанные метки: 0 из 200 достигли реального эффекта.

Второе отношение («снег → холодный»): 8 / 9.

Не работает

Слабая добавка во все слова фразы. Передача результата модели 2 дальше по цепочке.

→ Эффект даёт содержимое вектора, а не сила сигнала.

Условие 3 · поворот

Без переводчика эффект слабый: 9% у копии той же модели и почти ноль у модели другого семейства

доля эффекта по сравнению с настоящим словом (= 100%) без переводчика простой линейный переводчик GPT-2 → GPT-2 9% 100% → DistilGPT2 дистиллят GPT-2 11% 98% → Pythia другое семейство 0.7% 89%

Объяснение

Модели обучены читать на входе эмбеддинги слов, а скрытые состояния лежат в другой области пространства представлений (Peng et al., 2026). У независимо обученных моделей эти пространства ещё и не совпадают; у DistilGPT2 оно унаследовано от GPT-2.

Переводчик

Линейное отображение, обучено на 2000 слов, не входящих в тест: 89–100% эффекта.

Согласуется с Heo et al. (2026): линейный перенос кеша внутри семейства — 73–98% качества на 4 из 6 пар. Для разных семейств C2C, LCF и XKV обучают переводчик.

→ Агентам на разных моделях нужен слой-переводчик или общий формат.

Итог

Агенты, обменивающиеся памятью, возможны — но пока только при трёх оговорках

✓ПониманиеСвязь «имя → ID» из переданной памяти: 5 из 5 запусков, 20–27 из 32; с чужой памятью — 1 из 32. Ответ по двум ключам сразу — пока нет.
≈ЭкономияДешевле перечитывания, когда главный агент уже прочитал текст для себя: 1,4–7×. Иначе — от ~7 помощников на одну память.
≈СовместимостьБез обучения — только между «родственниками». Разным моделям нужен переводчик или общий стандарт.

Статья: github.com/kroq86/fasm-mac/blob/main/papers/kv-handoff/paper.md

Литература: Fu et al. 2025 (arXiv:2510.03215) · Rossi et al. 2026 (2605.22863) · Heo et al. 2026 (2608.03893) · Cheng et al. 2026 (2608.04893) · Liu et al. 2026, XKV (2608.20617) · Liu 2026, обзор (2606.05711) · Peng et al. 2026, StateBridge (2608.13317)