Скриншот экрана создания персонажа в DenAI

Взаимодействие с ИИ полностью строится на карточках персонажей. Приложение поддерживает стандарт V2-Card. Персонаж хранится в виде обычного изображения (PNG), внутри метаданных которого «зашит» весь текст. Такую карточку можно загрузить в приложение для импорта или экспортировать созданного героя одной кнопкой.

На экране создания персонажа доступны загрузка аватарки, выбор фонового изображения чата, кнопки импорта/экспорта и несколько стандартных текстовых полей.

Greeting (Приветствие)

Первое сообщение, с которого физически начинается диалог. Это не инструкция для ИИ, а его стартовая реплика в истории чата. То, как заполнено это поле, имеет решающее значение, так как модель берет его за эталон: длина сообщения, стиль речи персонажа, использование звездочек для действий или скобок для мыслей будут напрямую копироваться ИИ в последующих ответах. Поле Greeting, как и обычные сообщения в чате, имеет частичную поддержку Markdown и LaTeX (заголовки, списки, математические выражения и т.д.).

Поля персонажа

Далее идут поля, назначение которых интуитивно понятно по их названиям:

  • Description (Описание): Основной массив информации о персонаже. Здесь прописывается его история, ключевые черты и внешность.
  • Personality (Личность): Характер и манера поведения (например: «грубый, преданный, говорит сарказмом»).
  • Scenario (Сценарий): Сеттинг, глобальный контекст и текущие обстоятельства, в которых разворачивается действие.
  • Prompt (Промпт персонажа): Специфические инструкции, применяемые именно к этой карточке (например, требование использовать определенный сленг).

Технически для языковой модели нет принципиальной разницы между блоками Description, Personality, Scenario и Prompt. При отправке запроса приложение собирает их содержимое в один большой системный текст. Разделение необходимо главным образом для совместимости со стандартом V2-Card при экспорте и для личного удобства. При желании можно написать все инструкции и описание характера в одно поле Description — модель воспримет информацию точно так же. Однако для удобства и на случай, если карточкой захочется поделиться с другими пользователями, рекомендуется разделять данные по их прямому назначению.

Все вышеперечисленные поля (включая Greeting) поддерживают макросы {{user}} и {{char}} для автоматической подстановки имени пользователя и персонажа в промпт, а также синтаксис /* комментируемый текст */ для частичного скрытия технической информации от модели.

Книги знаний

Также к персонажу можно прикрепить книги знаний (лорбуки). На основе ключевых фраз в чате приложение будет производить поиск по этим базам данных и динамически добавлять найденную информацию в контекст. Количество подключаемых книг не ограничено, однако задействовать более 1–3 лорбуков одновременно не рекомендуется, иначе память ИИ забьется избыточными данными, а качество ответов снизится.