Название Краткое описание
Главная
System Lorebook Lorebook как более гибкая альтернатива System Prompt
Stepped Thinking Вызов нескольких вспомогательных инструкций перед генерацией основного ответа персонажа
Stepped Summary Генерация Summary несколькими последовательными запросами
No Assistant Реализация ролеплея с несколькими персонажами посредством использования нестандартного Instruct шаблона
Прочие скрипты

No Assistant

Описанный в данной статье метод промптинга во многом реализует поведение, схожее с методом No Assistant, который получил определённую популярность для Chat Completion. В случае Text Completion у нас есть прямой доступ к структуре формирования промпта, что позволяет реализовать NoAssistant-подобные инструкции без внешних расширений для таверны.

Кроме того, что данный подход убирает определённые биасы и имеет несколько других особенностей он позволяет организовать ролеплей с несколькими персонажами без использования механизма Group Chat в таверне, реализация которого является спорной в нескольких моментах.

А добавив пару регекспов мы сможем вывести аватарки для всех персонажей, карточки которых есть у нас в таверне. В конце мы получим такую картинку:

Ответ LLM Он же, но с форматированием

1. Скачайте и распакуйте данный архив

2. Импортируйте formatting.json в секции Advanced Formatting (кнопка "Master Import" вверху справа). Данный файл предоставляет шаблоны для Context Template и Instruct Template в формате ChatML. Если вам нужен другой формат модели, то вы можете сделать шаблон под нужный вам формат, используя предоставленный шаблон в качестве примера.

В качестве System Prompt можете использовать любой промпт, не содержащий макроса {{char}}, поскольку char'ом у нас будет выступать абстрактный рассказчик, а не конкретный персонаж в ролеплее. Лично я использую такой промпт:

You are an intelligent, skilled, versatile writer.

Your task is to write a role-play based on the information below.

Должно получиться так:


3. Импортируйте предоставленные лорбуки. Я их делю по блокам для лучшей структуризации. Описание лорбуков в архиве:

  • [NoAss] ⚙️ System.json - описывает начало и конец блока с инструкциями. Обратите внимание, что окончание блока с инструкциями требует соответствия с форматом модели (даны примеры для GLM и ChatML). Возможно, что это можно вынести в Instruct Template, но у меня возникли с этим проблемы, так что пока так
  • [NoAss] 📜 Rules (100).json - описывает общие правила ведения ролеплея. Какой язык, разрешено ли писать за {{user}} и так далее
  • [NoAss] 👥 Characters (200).json - в этой секции вам необходимо описать ваших основных персонажей в рамках ролеплея. Здесь есть пара нюансов:

    1. Для работы аватарок имя персонажа должно строго соответствовать имени персонажа в карточке.
    2. Лично я предпочитаю описывать свою персону в лорбуке, чтобы она оказалась внутри блока <characters></characters> наравне со всеми другими персонажами. Однако, вам ничего не мешает использовать стандартный функционал для описания персон в таверне и не переносить эту информацию в лорбук
  • [NoAss] 📋 Formatting (300) - определяет доступные XML-блоки, генерируемые LLM. Лично я использую только блоки <roleplay> и <narrator>, хотя в лорбуке ещё даны определения для <thoughts> и <intent>.
  • [NoAss] ⬇️ Infoblock (800) - определяет структуру инфоблока - небольшой строго-структурированный шаблон для отслеживания общего состояния сцены. В лорбуке предоставлена пара разных инфоблоков, позаимствованных из пресетов для корпосеток.

Из всех лорбуков только system, characters и formatting являются обязательным. rules и infoblock отражают мои личные предпочтения и не являются необходимыми для работы всей системы. Смотри LLMCrutches_SystemLorebook для понимания мотивации использовать лорбуки в качестве инструкций для text completion.

Число в скобках у названия лорбука (Formatting (300)) служит лишь визуальным разделителем доступных диапазонов для Order. Например для 👥 Characters (200) я резервирую диапазон 200-299. Это служит лишь для удобства настройки при использовании множества лорбуков и никак не влияет на функционал.


4. Создайте или выберите карточку, которая будет выполнять роль рассказчика для нашего режима. Лично я для этого буду использовать пустую карточку ♂️ Данжон Мастера ♂️

После того, как вы создали/выбрали карточку, закрепите за ней импортированные на прошлом шаге лорбуки. Сделать это можно кликнув на отмеченную ниже иконку в настройках карочки. Вам откроется окно с настройками лорбуков, ассоциированными с данной карточкой. В настройках добавьте все новые лорбуки в секцию Additional Lorebooks.

Этот вариант является более предпочтительным чем включать лорбуки глобально, поскольку он позволит нам переключаться между NoAssistance и классическими чатам, без необходимости включать/отключать пачку лорбуков при смене чата.

Кнопка настроек лорбуков карточки Результат после настроек

5. Импортируйте предоставленные regex, всего их в архиве 3 штуки, но только две являются обязательными:

Обязательные:

  • [noass]_avatars.json - форматирование и аватарки для сообщений персонажей
  • [noass]_narrator.json - форматирование для сообщений нарратора

Опциональные:

  • cut_infoblock.json - обрезка старых инфоблоков из контекста

6. ???
7. PROFIT! Если вы всё настрили правильно, то при ролеплее с нарратором он будет отвечать от лица персонажей, описанных в секции Characters и обрамлять все ответы в <roleplay> блоки. А regex'ы позволят нам отформатировать это в красивый вид с аватарками, и работать это форматирование будет даже во время стриминга. Кроме того, при необходимости, нарратор будет отвечать от лица персонажей, не описанных в лорбуке, так что вам не нужно заводить карточку/запись в лорбуке для персонажей, которые пропадут через несколько игровых ходов.

Edit

Pub: 15 Jan 2026 03:36 UTC

Edit: 15 Jan 2026 07:28 UTC

Views: 17