Протокол AVP позволяет агентам LLM обмениваться кэшем ключей и значений вместо текста для повышения эффективности использования токенов.

Что делает AVP
AVP (Agent Vector Protocol) — это протокол, который позволяет агентам LLM в мультиагентных системах передавать KV-кэш напрямую между агентами вместо текста. Это устраняет избыточную токенизацию и прямые проходы, которые происходят, когда каждый агент повторно обрабатывает всю историю разговора.
Как это работает
Вместо традиционного текстового подхода, при котором каждый агент повторно токенизирует всё, AVP позволяет Агенту A сериализовать свои ключевые состояния внимания после рассуждения, а Агенту B — внедрять их напрямую. Это означает:
- Одинаковая модель с обеих сторон: Прямая передача KV-кэша без накладных расходов
- Одно семейство, разный размер (например, Qwen2.5-7B общается с 1.5B): Проекция через словарь без необходимости в обучаемых параметрах или калибровочных данных
- Разные семейства: Возврат к JSON
- Независимость от транспорта: Работает вместе с A2A, MCP, gRPC или чем-то ещё, что вы уже используете
- Бинарный формат передачи: Не JSON+Base64 (который имеет 33% накладных расходов на тензорные данные)
Результаты производительности
Тестирование на моделях Qwen2.5, Llama 3.2 и DeepSeek-R1-Distill показало:
- Экономия токенов на 73-78%
- Ускорение в 2-4 раза
- Эти результаты оставались стабильными для всех трёх семейств моделей
- Разрыв увеличивается с длиной цепочки: при 4 агентах примерно в 2 раза, при 16 агентах (прогноз) было бы около 6 раз
Эффективность достигается за счёт того, что размеры текстовых промптов растут на каждом шаге (186 → 545 → 1,073 → 1,397 токенов в цепочке из 4 агентов GSM8K), в то время как латентное представление остаётся стабильным на уровне ~164-207 токенов на шаг, поскольку предыдущий контекст поступает в виде предварительно вычисленного KV-кэша.
Ограничения
- Размеры выборок составляют n=20 на модель (достаточно для заявлений о токенах/скорости, но не для заявлений о точности)
- Тестировались только небольшие модели (1.5B-3B на RTX 3070 Ti), результаты для 7B+ ожидаются
- Требуется минимальная пропускная способность 1 Гбит/с (KV-кэш для модели 3B составляет около 130 МБ на образец)
- Только для самостоятельного хостинга (требуется доступ к KV-кэшу, не работает с API OpenAI/Anthropic и т.д.)
- Пока только для одинаковых моделей (кросс-модельная реализация существует, но не тестировалась)
- Латентное представление использует в 17-54 раза больше VRAM, чем текст, потому что вы храните KV-кэш между шагами
Начало работы
Установите с помощью: pip install avp
Доступны два уровня API:
import avp
msg = avp.pack("Hello", model="Qwen/Qwen2.5-7B-Instruct", think_steps=20)
answer = avp.unpack(msg, model="Qwen/Qwen2.5-7B-Instruct")Или с большим контролем:
from avp import HuggingFaceConnector
connector = HuggingFaceConnector.from_pretrained("Qwen/Qwen2.5-1.5B-Instruct")
context = connector.think("Проанализируйте эту задачу", steps=20)
answer = connector.generate("Решите её.", context=context)Также доступен коннектор vLLM: pip install "avp[vllm]"
Ссылки на проект
- SDK: github.com/VectorArc/avp-python (MIT, 377 тестов, 7 бенчмарков)
- Спецификация: github.com/VectorArc/avp-spec
- Детали бенчмарков: BENCHMARKS.md
📖 Read the full source: r/LocalLLaMA
👀 Смотрите также
Протокол Quack в DuckDB обеспечивает режим клиент-сервер с несколькими одновременными писателями
DuckDB представляет протокол Quack remote, позволяющий двум экземплярам DuckDB общаться как клиент и сервер, поддерживая одновременную запись и используя HTTP для транспорта.

NexQuant: Rust-нативный 3-битный движок KV-кэша для развертывания на периферийных устройствах
NexQuant — это готовый к промышленному использованию движок на Rust, который позволяет запускать модели с большим контекстом на потребительском оборудовании с сокращением использования памяти в 3–5 раз. Поддерживает бэкенды Metal, CUDA, Vulkan и CPU.

cq: Локальная система обмена знаниями для AI-агентов программирования
cq от Mozilla.ai — это инструмент с открытым исходным кодом, который позволяет ИИ-агентам для программирования обмениваться «единицами знаний» о типичных подводных камнях через локальное хранилище SQLite, с возможностью командного обмена через Docker API. Устанавливается как плагин Claude Code или сервер OpenCode MCP.

Автооптимизация: Плагин Claude Code для автономной оптимизации производительности
Разработчик создал auto-optimize — плагин для Claude Code, который автономно запускает циклы профилирование → планирование → тестирование для оптимизации производительности кода. В одном из тестов он добился ускорения хэш-таблицы на 27% во всех сценариях тестирования примерно за 3 часа.