← Назад к списку публикаций
Препринт SR-2026-02 Сентябрь 2026 Идентификатор: doi:10.5281/zenodo.smolnikov.kivok

Kivok-0.3b и концепция сверхлегкого слоя принятия решений: локальный скоринг за 50 мс без обращения к облачным LLM

Кирилл Смольников <smolnikov.c@yandex.ru>
Исследовательский центр Смольникова, Лаборатория компактных моделей
Аннотация (Abstract)

В статье рассматривается проблема избыточности применения тяжелых генеративных моделей (LLM) для промежуточных задач маршрутизации, классификации намерений и предварительной оценки рисков в агентных циклах. Предложена архитектура Decision Layer на базе специализированной легковесной модели Kivok-0.3b (322 млн параметров). Модель оптимизирована для работы непосредственно на центральном процессоре (CPU) и выдает типизированные вердикты (choice, score, bool) со средней задержкой 38-48 мс. Внедрение Kivok-0.3b в контур агента позволяет на 78% снизить общий расход токенов основного генеративного слоя, устранить сетевые задержки обращений к облачным API и обеспечить абсолютную локальность критических проверок безопасности.

1. Введение и мотивация

В типовой многошаговой агентной сессии до 60-70% вызовов модели сводятся к элементарным проверкам: "Является ли данный шаг завершающим?", "Нужен ли доступ к сети для ответа на этот вопрос?", "Представляет ли команда rm -rf опасность?". Отправка каждого подобного запроса во внешнюю языковую модель (Claude 3.5, GPT-4, Llama-3-70B) влечет серьезные издержки:

  • Сетевая задержка (RTT): Запрос к удаленному API занимает от 800 до 2500 мс даже для получения одного токена ответа.
  • Финансовая неэффективность: Прогон десятков тысяч токенов контекста через провайдерские тарифы ради одного бинарного флага.
  • Утечка контекста: Передача конфиденциальных фрагментов файловых путей и логов во внешние системы.

2. Концепция Decision Layer

Мы разделяем функции агента на два четких контура: контур суждений (System 1 / Decision Layer) и контур генерации и рассуждений (System 2 / Generative Core).

Decision Layer не генерирует свободный текст. На вход подается текущее состояние системы и целевой вопрос. На выходе формируется строго типизированная структура данных:

  • bool - проверка истинности предиката (например, допуск/блокировка);
  • choice - выбор оптимального кандидата из N вариантов с распределением вероятностей;
  • score - нормализованная оценка по шкале [0.0, 1.0] (уверенность, степень риска, соответствие критерию).

3. Архитектура модели Kivok-0.3b

Kivok-0.3b базируется на многоязычном трансформерном энкодере с контекстным окном до 1024 токенов и размером весов 644 МБ (в формате FP16). В архитектуру добавлена специализированная многозадачная проекционная голова:

Входной текст (Запрос / Команда / Состояние) | v +-------------------------------------------------------+ | Многоязычный токенизатор (Vocabulary: 250k tokens) | +-------------------------------------------------------+ | v +-------------------------------------------------------+ | Трансформерный энкодер Kivok (322M параметров) | | 12 слоев, Hidden size: 1024, Attention heads: 16 | +-------------------------------------------------------+ | +-----------+-----------+ | | v v +------------------+ +-------------------+ | Multi-Class Head | | Scalar Score Head | | Intent / Choice | | Risk [0.0 - 1.0] | +------------------+ +-------------------+ | | v v p(choice) = Softmax s = Sigmoid(Wx + b)

4. Процедура обучения на датасете RuDecide

Обучение модели проводилось на синтетически расширенном корпусе RuDecide, включающем 120 000 русскоязычных и англоязычных пар (команда, контекст, вердикт). В обучающую выборку вошли сценарии системного администрирования, работы с Git, вызовы SQL-запросов и диалоговые намерения.

Функция потерь объединяет кросс-энтропию для категориального выхода и среднеквадратичную ошибку для калибровки скоринга риска:

L_total = L_CE(intent, y_intent) + lambda * L_MSE(risk, y_risk)

5. Экспериментальная оценка и результаты

Замеры производительности проводились на 4 различных аппаратных платформах без использования видеокарты (чистый CPU-инференс в ONNX Runtime и PyTorch):

Платформа / Процессор Формат весов Задержка (медиана) P99 задержка Потребление памяти
Серверный AMD EPYC 7702 (2 vCPU) INT8 Quantized 34.2 мс 42.1 мс 410 МБ
Intel Core i7-12700H (Ноутбук) FP16 41.5 мс 51.8 мс 680 МБ
ARM Cortex-A76 (Raspberry Pi 5) INT4 GGUF 89.0 мс 112.4 мс 245 МБ
Облачный вызов Claude 3.5 Sonnet (API) Cloud FP8 1 420.0 мс 2 890.0 мс N/A (Облако)

6. Влияние на экономику токенов в реальных сценариях

Мы протестировали интеграцию Kivok-0.3b в 50 типовых сессиях CapyAgent по рефакторингу кода и поиску ошибок. Kivok взял на себя первичную фильтрацию безопасных команд чтения (cat, ls, grep), роутинг обращений к локальным инструментам и отсечение заведомо некорректных вызовов.

Итог: Количество обращений к основной модели сократилось на 64%, а общий расход входящих токенов снизился на 78.4%. Время реакции агента на промежуточных шагах уменьшилось с 1.6 с до 0.08 с.

Цитирование (BibTeX)
@article{smolnikov2026kivok,
  title={Kivok-0.3b и концепция сверхлегкого слоя принятия решений: локальный скоринг за 50 мс без обращения к облачным LLM},
  author={Смольников, Кирилл},
  journal={Препринты Исследовательского центра Смольников},
  volume={1},
  pages={1--14},
  year={2026},
  publisher={Smolnikov Research},
  url={https://smolnikovresearch.ru/research/kivok-decision-layer/}
}