Представьте, что у вас есть доступ к переключателям в мозгу LLM
Вы даете команду — и модель мгновенно становится более креативной, или, наоборот, перестает сикофансить и выдает только сухие факты. Это не магия промптинга и не тонкая настройка весов. Это прямое вмешательство в активации нейронов. На 2026 год инструменты для такой «нейрохирургии» перестали быть уделом лабораторий DeepMind. Появился готовый C++ патч для llama-server и пайплайн работы со Sparse Autoencoders (SAE), который любой может запустить на своем железе.
Внимание: это не простая настройка температуры или presence_penalty. Мы говорим о модификации внутренних представлений (activations) модели в реальном времени во время инференса. Если вы не готовы копаться в C++ коде llama.cpp и тренировать свои автоэнкодеры — этот инструмент покажется вам адом. Но результат того стоит.
1 Что такое Sparse Autoencoders и зачем они нужны
Модель вроде Llama 3.2 90B (актуальная версия на начало 2026) внутри — это черный ящик из миллиардов параметров. Активации — это сигналы, которые бегут по этому ящику при генерации каждого токена. Sparse Autoencoder — это отдельная небольшая нейросеть, которую обучают реконструировать эти активации, но с одним трюком: ее скрытый слой (latent) должен быть разреженным (sparse). В итоге SAE учится выявлять в шуме активаций отдельные «черты» или «признаки» (features).
- Признак «сикофансия»: активируется, когда модель пытается угодить пользователю, даже если это противоречит фактам.
- Признак «креативность/нарратив»: отвечает за генерацию связных историй, а не сухих перечислений.
- Признак «математическое рассуждение»: активируется при решении задач на логику.
Обучив SAE на датасете активаций, вы получаете карту, где каждому признаку соответствует вектор в пространстве активаций исходной модели. Найти эти векторы в 2025-2026 годах стало проще благодаря open-source библиотекам вроде TransformerLens и SAE Lens, которые поддерживают последние архитектуры.
2 Патч для llama-server: ловим и меняем активации на лету
Стандартный llama-server из репозитория llama.cpp (который к 2026 году уже вовсю используется для дистрибутивных вычислений на старом железе) не дает доступа к сырым активациям. Патч, о котором идет речь, добавляет хук в код инференса.
Суть проста: перед тем как активации попадут в следующий слой, ваш код может их прочитать, модифицировать и вернуть обратно. Патч написан на C++ и требует пересборки llama-server. Звучит страшно, но на практике — несколько строк в критических местах кода, которые позволяют загружать внешние «контрольные векторы» (steering vectors) в формате GGUF и применять их с заданной силой.
# Пример команды для применения патча (актуально для llama.cpp v0.15.0+)
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
# Применение патча из стороннего репозитория
patch -p1 < ../llama-server-activation-control.patch
make server -j8
"steering_vector": "creativity.gguf".Что можно делать с этим на практике? Примеры из 2026 года
Допустим, вы натренировали SAE и вычислили, какой вектор отвечает за «излишнюю осторожность и отказ отвечать». Вы сохраняете этот вектор в GGUF (да, тот же формат, что и для весов модели) и загружаете в пропатченный llama-server.
| Задача | Вектор | Эффект |
|---|---|---|
| Заставить модель парсить JSON без лишних слов | - «болтливость» + «структурированность» | Модель перестает добавлять пояснения и выдает чистый JSON. Работает лучше, чем тысячи промптов из статьи про удержания JSON. |
| Подавить сикофансию в ассистенте | - «сикофансия» | Модель перестает говорить «Как прекрасный AI-ассистент, я...» и сразу переходит к делу. Иногда становится излишне резкой. |
| Усилить креативность для генерации историй | + «нарратив» | Превращает сухой пересказ фактов в захватывающее повествование. Полезно для таких проектов, как AI Dungeon Master. |
Альтернативы? Их почти нет, и вот почему
Промптингом добиться такого же точного эффекта невозможно. Вы можете просить модель «быть более креативной», но это влияет на высокоуровневые решения, а не на низкоуровневые представления. Fine-tuning меняет веса навсегда и требует данных. Контроль через активации — это хирургический инструмент для реального времени.
- Прямое редактирование весов (Weight Editing): Более радикально, требует глубокого понимания архитектуры. Не для реального времени.
- Внешние контроллеры через API: Например, отправка активаций в отдельный сервис для анализа. Добавляет задержки и сложность. Патч llama-server делает все внутри одного процесса.
- Использование более новых «управляемых» моделей: Некоторые коммерческие API (например, Claude 4.5 на 2026 год) предлагают параметры для контроля тона и стиля. Но это черный ящик, и вы не владеете инфраструктурой. Наш метод — для тех, кто хочет полного контроля, как в статье про уход от политики приватности.
Кому это действительно нужно? (Спойлер: не всем)
Этот инструмент — не для быстрого хака. Он для тех, кто уже увяз в проблемах контроля над моделью.
- Исследователи механистической интерпретируемости: Те, кто хочет не просто читать статьи вроде «Механистическая интерпретируемость LLM», а ставить свои эксперименты.
- Разработчики нишевых продуктов: Например, создатели образовательных тренажеров, где модель должна строго придерживаться фактов, но при этом быть engaging. Или разработчики корпоративных агентов, которые переехали на локальную Llama 3 и теперь хотят убрать все артефакты поведения.
- Энтузиасты с мощным железом: Обучение SAE на активациях 70B+ модели — это не для старого ноутбука. Нужны серьезные GPU или хотя бы много CPU и терпения.
Итог: куда это все движется
К 2026 году low-level контроль над активациями перестал быть чисто академической темой. Патч для llama-server и готовые SAE-пайплайны — это первый шаг к тому, что я называю «программируемыми личностями» для LLM. Скоро появятся магазины готовых поведенческих векторов: скачал «Стивен Кинг.gguf», применил к своей модели — и она генерирует тексты в его стиле на уровне активаций, а не промптов.
Главный подвох? Управление одним признаком может неожиданно сломать другие. Усилили креативность — модель начала придумывать факты. Подавили сикофансию — она стала социопатом. Балансировка векторов станет новым искусством промпт-инжиниринга. И судя по холиварам в LocalLlama Discord, именно здесь сейчас идут самые интересные споры.
Совет напоследок: если вы решитесь этим заняться, начните с маленькой модели (например, Llama 3.2 8B) и готового датасета активаций. Не пытайтесь тренировать SAE с нуля на 400B модели — это как строить ракету, не зная, что такое огонь. А результат, когда модель наконец-то слушается ваших внутренних переключателей, того стоит.