6:00 10.08
С Днём Безжопа!
Безжоп (NoAss)
NoAss (No Assistant / Без Ассистента) - это экспериментальный метод промптинга, направленный на устранение файнтюна на инструкции в различных LLM (Claude
, Gemini
, DeepSeek
). Этот файнтюн напрямую влияет на выдачу и ролевой отыгрыш LLM.
Файнтюн на инструкции
Каждая LLM генерирует самовоспроизводящуюся последовательность "Вопрос-Ответ", используя специальные внутренние имена - особые токены, которые определяют роль сообщения (User
/Model
/System
и т.д.).
Модели от Anthropic используют упрощенную версию специальных ролевых токенов:
/n/nHuman:
(также используется как EOS-токен) и /n/nAssistant:
вместо привычного ChatML:
<|start_header_id|>user<|end_header_id|>
и <|start_header_id|>model<|end_header_id|>
Однако, когда LLM пытается писать за Пользователя
, EOS/стоп-токен прерывает генерацию. Без стоп-токена LLM продолжала бы генерировать обе стороны диалога самостоятельно.
На практике контекст выглядел бы так:
В этом примере LLM сгенерировала всё - и часть
Пользователя
, и частьМодели
. Однако в реальности LLM останавливается перед ответомПользователя
, позволяя вам вставить свой запрос.
Влияние на выдачу / Предвзятость инструкций
Формат чат-комплишена обучает LLM интерпретировать ввод Пользователя
как инструкцию, которую нужно выполнить, создавая один конкретный ответ. Этот формат часто приводит к предвзятой, перегруженной монологами выдаче и характеризуется "закруглениями".
Закругления - стилистическая особенность, когда модель задает риторические вопросы Пользователю
, поощряя дальнейшее взаимодействие.
Что ты будешь делать?
Теперь мяч на твоей стороне.
Это делает LLM чрезмерно сговорчивой и неспособной противоречить запросу
Пользователя
, даже если просьба абсурдна.
Более умные модели с хорошим промптом, вероятно, разберутся в абсурдности и останутся в образе:
Однако даже они иногда подыгрывают самой глупой чуши, даже если это совершенно не соответствует персонажу:
Концепция Безжопа
Основная идея Безжопа - заменить User
и Model
на {{user}}
и {{char}}
. Это заставляет LLM воспринимать диалог как историю, новеллу или игру, а не как стандартный обмен "Вопрос-Ответ". Сообщения Пользователя
вставляются в историю с точки зрения Персонажа.
Проблемы (и возможные решения):
- Требуется иной способ реализации инструкций.
- SillyTavern (без расширений) не подходит для реализации Безжопа.
- Поскольку большинство API для LLM используют формат JSON, единственный возможный способ "безжопить" - это "утопить" префиксы
User
иModel
в контексте, что означает, что всё РП должно происходить непосредственно в префилле.
Расширение для Безжопа
Расширение NoAss – это дополнение для SillyTavern, которое реализует метод промптинга "Безжоп" для всех LLM, поддерживающих префилл.
Основные функции
- Расширение "склеивает" всю историю чата в одно сообщение от роли
Model
. Это заставляет LLM воспринимать её как префилл, эффективно убирая префиксыUser
иModel
из "поля зрения" модели. - Добавляет префиксы/суффиксы для сообщений
{{user}}
и{{char}}
. - Добавляет Zero Prefill (по умолчанию ZWJ), если префилл заканчивается на
\n
или пробел, чтобы избежать ошибок с конечными пробелами.
Основная цель – заставить модель генерировать непрерывное повествование, а не диалог User
-Model
. Это помогает снизить предвзятость модели и отойти от шаблона "Вопрос-Ответ".
Установка и настройка расширения
- Установите расширение NoAss.
Если у вас есть git: Extensions → Install extension (вверху справа) → Вставьте ссылку https://gitgud.io/Monblant/noass
Если у вас нет git: Скачайте zip-архив с https://gitgud.io/Monblant/noass → Распакуйте в SillyTavern/data/default-user/extensions → переименуйте папку noass-master в noass → Перезагрузите таверну
- В расширении нажмите кнопку
Enable NoAss
. - Импортируйте пресет для расширения из пака (папка noass sets):
- Для Каноничного Безжопа -
Canon
- Для Безжопа с Рассказчиком -
Narrator
- Для Прозового Безжопа -
Prose
- Для Тегового Безжопа -
Tag
- Для Каноничного Безжопа -
- Или скачайте:
- Для СМС Безжопа -
SMS
- кликабельно
- Для СМС Безжопа -
Пресеты Безжопа
Благодарности ©
Большая часть информации была взята у них:
- noass_ext,
- noass_extra,
- NoAss-GigaSchizoKostyl,
- NoAss-GigaSchizoKostyl-Redux,
- how2claude,
а также у XML-сенсея.
Кстати, у меня даже есть почта: typified_expositions_lover@proton.me