ПАМЯТЬ ЧАТА!

Переведено с английского

CHAT MEMORY!

88

123

привет, красотки!

как сказано выше, это руководство для новичков по использованию Chat Memory (памяти чата) здесь, на j.ai, независимо от того, прокси-пользователь вы или пользователь JLLM (возможно, ОСОБЕННО если вы пользователь JLLM), но больше всего — если вы фанат медленного развития (slow burn), как я, ИЛИ если хотите использовать некоторых моих ботов, в которых я прямо указываю, что использование памяти чата обязательно.

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

итак, для начала несколько оговорок:

1я не АВТОРИТЕТ в технологиях, LLM или чём-то подобном. сейчас я получаю степень по программированию, а скриптинг и LLM — темы, которые мне интересны, так что я много исследую, но это не значит, что я не ошибаюсь.

2 если вы уже выжимаете максимум из своей памяти чата и просто заглянули посмотреть на другую точку зрения — добро пожаловать! делитесь своими советами в комментариях тоже. и если то, что делаете вы, совсем не похоже на то, что делаю я, — это нормально! нет ЕДИНСТВЕННОГО ПРАВИЛЬНОГО способа работать с LLM/AI. хотя есть более и менее эффективные способы.

3 и, как всегда: любые мои боты предназначены для взрослого ролеплея и творческого сторителлинга. ИИ — это не терапия и не замена реальным отношениям. все ответы генерируются неразумными языковыми моделями и не отражают реальных мнений, советов или чувств. изображаемые персонажи вымышлены, и всё сказанное не отражает взгляды создателя или платформы-хостинга. используйте ИИ ответственно.

А теперь доказательство того, что я не болтаю впустую. У меня было несколько RP-веток в стиле slow burn с кучей сообщений.

ПРАВИЛО No1: ДАННАЯ ИНФОРМАЦИЯ — ЭТО ИЗВЕСТНАЯ ИНФОРМАЦИЯ

Это значит, что даже если вы скажете ИИ «ЭТО СЕКРЕТ, И О НЁМ ДОЛЖЕН ЗНАТЬ ТОЛЬКО {{CHAR}} ПРИ ЯВНОМ УКАЗАНИИ», некоторые модели, особенно неразмышляющие (сейчас я смотрю на большинство моделей DeepSeek), будут следовать этой инструкции лишь в половине случаев.

Так что говорите ИИ только то, что вы хотите, чтобы он знал. Это касается ВСЕГО. Пример: если у вас в профиле вашей Соны расписана целая предыстория, я бы лично её удалила и сохранила где-то ещё (например, в txt-файле), если только {{Char}} не должен знать историю вашей Соны с самого начала.

Так что если в информации вашей Соны есть секреты и предыстория, возможно, именно поэтому иногда персонажи, которые не должны вас знать, вдруг выпаливают информацию так, будто знают.

То же самое касается Chat Memory, но к этому мы вернёмся чуть позже. ;)

ПРАВИЛО No2: СЛЕДИТЕ ЗА ТОКЕНАМИ! КОНТЕКСТ ВАЖЕН!

Итак. Токены. Я знаю, что это вообще за штуки, да?

Что ж, скажу сразу: они важны, так что следите за ними. Если вы пользователь прокси, вы, наверное, уже немного о них знаете, но если нет или вы никогда не обращали внимания, что такое токены и что значит Контекст для ботов, — слушайте внимательно.

Ресурс: Токенизатор. // Копируйте & вставляйте сюда свои штуки, чтобы увидеть примерный подсчёт токенов для того, для чего JAI не даёт нам цифр (например, Персона, Chat Memory и Custom/Advanced Prompt)

Для ботов «Контекст» — это в основном то, насколько далеко простирается их память. Если вы не пользователь прокси и у вас базовый бесплатный опыт JLLM, ваш Контекст — 9 тыс. токенов. Мы будем использовать этот пример для следующего объяснения, потому что если вы пользователь прокси, вы в какой-то степени можете настроить своё собственное контекстное окно, и это становится меньше проблемой.

Также для этого примера я использую своего второго по популярности бота, а это мой канонно-точный опыт с Солдатом Боем (ПОЗОР ВАМ ВСЕМ!)

Вот статистика:

Постоянные токены: 1488.

Это значит, что из 9 тыс. токенов, которые помнит ваш бот, 1488 заняты по умолчанию. Это Личность и Сценарий. Начальное сообщение сюда не входит, но я расскажу о нём чуть позже.

Итак, прямо сейчас у вас осталось около 7512 токенов. Неплохо, да?

Вот только... Личность и Сценарий — не единственные постоянные токены, которые нужно учитывать. У вас также есть ваша Персона, ваш Custom/Advanced Prompt и ваша Chat Memory.

Предположим, что изначально ваша Chat Memory будет на 0, как будто вы используете бота впервые.

ОПТИМИЗАЦИЯ ВАШЕЙ ПЕРСОНЫ

Для этого примера я также использую свою основную Сону. Весь профиль моей Соны — это в общей сложности примерно 250 токенов.

Помните правило номер один? Данная информация — это известная информация. Умные модели поймут по контексту, должен ли бот что-то знать о вашей Соне или нет, но обычно лучше не загромождать профиль вашей Соны огромной предысторией, потому что она, вероятно, НЕ будет использоваться всеми ботами и просто съедает токены.

Итак, на первый взгляд это может показаться СЛИШКОМ КОРОТКИМ, но я обещаю, что это ровно столько, сколько нужно. Информация о вашей Соне должна содержать только то, что Бот, который НИКОГДА РАНЬШЕ НЕ ВСТРЕЧАЛ ВАШУ СОНУ, может определить при первом взгляде/взаимодействии.

То есть Бот, который понятия не имеет, кто такая ваша Сона, смог бы увидеть их рост, причёску, цвет кожи, возможно, даже этническую принадлежность (которую вы можете там указать). Они смогли бы услышать, как звучит ваш голос при первом взаимодействии. И если есть ещё что-то, что, по вашему мнению, должно быть здесь, учитывая эти «правила», добавьте это.

Для Сон, которые являются Суперами (The Boys), например, вы можете добавить в конце категорию вроде ## ЧЕРТЫ СУПЕРА, а затем описать свои способности (если только они не должны быть секретом или раскрываться только после того, как вы их покажете), и вы можете описать свою «форму Супера», если применимо.

Но Кара, а как же Боты с установленными отношениями, например братья и сёстры, женатые пары или друзья детства? Они же должны знать предысторию моей Соны!

Верно, и вот тут-то вы и используете Chat Memory! Не волнуйтесь, мы до этого дойдём!

ОСВОЙТЕ CUSTOM PROMPT

Я не буду тратить на это слишком много времени, потому что уже говорила об этом в своём Tumblr. Если вы хотите шаблон для вашего Custom Prompt, есть ТОННЫ создателей, которые делятся своими, но вот кусок текста, который я добавляю ко всем своим ботам.

▫️Хороший промпт имеет огромное значение и есть несколько тем на reddit и сайтов, где люди дают вам шаблоны хороших системных промптов, независимо от того, используете вы прокси или нет. В официальном Discord JanitorAI есть канал ИСКЛЮЧИТЕЛЬНО для промптов, загляните туда!

Промпт для JLLM. (Примерно 600 токенов)
Промпт для прокси. (Примерно 950 токенов)

У некоторых людей промпты намного длиннее, у других очень маленькие, компактные промпты. Всё дело в том, чтобы найти то, что работает для вас и вашей предпочитаемой модели (или дорогой старой JLLM).

КАКОЙ СЧЁТ НА ДАННЫЙ МОМЕНТ?

Используя моего Бота, мою Сону и мой промпт для JLLM в качестве примеров, мы имеем:

[Бот] - 1488 токенов
[Сона] - 250 токенов
[Custom Prompt] - 600 токенов
[Chat Memory] - 0 токенов

Всего постоянных токенов: 2338 токенов
Оставшиеся токены: 6662 токена

Что ж, это всё ещё хорошее число! Мы можем с этим работать! Что израсходует эти токены? Ваш чат.

Итак, сразу же вы можете вычесть отсюда Начальное сообщение, которое для моего бота составляет 521 токен. У вас всё ещё остаётся около ~6000 токенов, а это хорошее число. Это значит, что у вас есть 6000 токенов «доступной памяти» в вашем чате. Если вы болтун, который любит писать ДЛИННЫЕ сообщения на несколько абзацев, как я, этого хватит примерно на 15 сообщений (всего, считая и бота, и ваши). Если вы скорее человек «максимум два абзаца», это определённо продержится дольше.

Как бы то ни было, в какой-то момент вы наболтаете столько, что вам понадобится использовать Chat Memory. И вот как я использую свою.

ПРАВИЛО No3:ПОЙМИТЕ СВОЮ CHAT MEMORY!

У меня также есть шаблон Chat Memory, доступный и прикреплённый в каждом моём боте. Я вставлю его ниже и объясню, как использовать каждый раздел.

Первое, что нужно понять: форматирование/Markdown (заголовки ## и маркеры повсюду) сделаны намеренно. Это лёгкий формат для понимания LLM/AI.

Информация в вашей Chat Memory должна быть прямой и по делу. Это определённо НЕ место для использования фиолетовой прозы (или какой-либо прозы вообще). Это должно быть почти клинически. Вот пустой шаблон, чтобы вы могли легко скопировать/вставить:

## Текущая обстановка:
-

## Прошлые воспоминания:
-

## {{User}} Важная информация:
-

## {{Char}} Важная информация:
-

## {{Char}} Отношения с {{User}}:
-

## Текущий сценарий:
-

## Текущая динамика {{Char}} с {{User}}:
-


Начнём с «Текущей обстановки». Это необязательно. Я использую это, потому что я пользователь/создатель канонных/фандомных ботов, так что иногда мне просто хочется убедиться, что бот придерживается сюжетной линии, но это не обязательно.

Ниже пример того, как я бы это использовала:

## Текущая обстановка:
- Сезон 4.
- Год: 2022.

Если, скажем, вы пишете с ботом Хоумлендера, у которого изначальная обстановка была во 2 сезоне, и вы продвинули сюжет до 3 сезона, например, вам в конечном итоге следует обновить это в своей Chat Memory. Не уверена, как JLLM обрабатывает этот тип информации, но прокси это помогает (особенно новым моделям).


Теперь давайте разберём раздел «Прошлые воспоминания» --- САМУЮ ВАЖНУЮ ЧАСТЬ вашей Chat Memory! Здесь вы будете резюмировать свои сцены. Всё важное, что произошло между вашей Соной и Персонажем, должно быть здесь, но максимально кратко.

Вот пример:

## Прошлые воспоминания:
- Мэтт и Ниа встречались с 16 лет. В 18 Мэтт записался на службу, чтобы впечатлить отца, пообещав вернуться. Поддерживали отношения на расстоянии письмами, пока Мэтт не перестал читать/отвечать.
- Условия Эдварда: Ниа не могла сказать Мэтту, пока не подтвердится отцовство; Эдвард требовал доступа, если это его внук. Ниа согласилась.
- Мэтт признал вину за то, что не читал письма, настаивал, что вернулся бы, если бы знал. Ниа разрешила 5 минут с их ребёнком, который считал, что его отец погиб на войне. Мэтт поддержал ложь.
- Ниа прервала визит, выгнала Мэтта. Сказала, что он может видеть их ребёнка в доме его отца, 3 раза в неделю согласно её договорённости с Эдвардом.

То, что вы видите выше, — это около 100 сообщений, сжатых в четыре пункта. Потому что в конечном итоге Боту (Мэтту в этом примере) просто нужно помнить, что он ушёл на войну, перестал отвечать на письма, вернулся к ребёнку, о котором не знал, был выгнан и т.д. Точные чувства, которые были в тот момент, не обязательно включать, потому что ИИ всё равно заполнит пробелы.

Эту часть Chat Memory следует часто обновлять резюме ваших сцен с ботом в хронологическом порядке и в прошедшем времени. Не путайте бота. Если это ПРОШЛЫЕ воспоминания, используйте ПРОШЕДШЕЕ время.


Часть «{{User}} Важная информация» — это где вы добавите всё, что касается вашей Соны, что этот бот уже должен знать, либо потому что ваша Сона СКАЗАЛА ЕМУ это во время чата, либо потому что это было раскрыто, либо потому что это известная информация.

Пример:

## {{User}} Важная информация:
- Возраст: 26 лет.
- Дочь: Её ребёнок от Мэтта. Лейла, 6 лет. Светлые волосы, зелёные глаза, мягкие веснушки на носу и щеках, светлая кожа.
- Живёт в Манхэттене, Нижний Ист-Сайд.

Я обычно указываю возраст своей Соны именно здесь. Почему не в профиле Персоны? Потому что так я могу повторно использовать одну и ту же Персону для разных сценариев, где я хотела бы использовать эту Персону, но с другим возрастом. ;) Спасите мир, перерабатывайте своих Сон.

Здесь же будет «предыстория» вашей Соны, если Персонажу важно о ней знать, но убедитесь, что она добавлена сюда экономно по токенам. Никаких украшений в этом разделе. Только информация!


Раздел «{{Char}} Важная информация» должен быть здесь, только если вам ЕСТЬ что добавить. Например, их возраст или что-то важное для развития вашего сюжета. Скажем, за 50 сообщений Персонаж потерял ногу. Вы добавите что-то вроде:

## {{Char}} Важная информация:
- Потерял ногу после Битвы Того-или-Этого.


«{{Char}} Отношения с {{User}}» — это СТАТУС ваших ТЕКУЩИХ отношений с ботом. Так что если вы начинали как «Соперники», там должно быть написано «Пожизненные соперники», например. Но если за 50 сообщений вы стали друзьями, УДАЛИТЕ «Соперников» и замените на «Друзья».

Почему я не могу просто добавить «Друзья» под «Соперниками»?

Потому что это запутает бота. Если что-то произошло, что изменило отношения между этими персонажами, это нужно резюмировать и добавить в «Прошлые воспоминания». Из этого бот вспомнит, что вы не ВСЕГДА были друзьями, но эта часть должна говорить, кто вы СЕЙЧАС.

Примеры:

## {{Char}} Отношения с {{User}}:
- Романтические эксклюзивные отношения. В настоящее время живут вместе.

ИЛИ

## {{Char}} Отношения с {{User}}:
- Незнакомцы. Познакомились совсем недавно.

ИЛИ

## {{Char}} Отношения с {{User}}:
- Соперники с самого детства.


«Текущий сценарий» — это где вы опишете сцену того, что происходит сейчас.

Пример:

## Текущий сценарий:
- Многоквартирный дом Мэтта, в его пентхаусе. Утро. Мэтт и {{User}} в постели, разговаривают.


«Текущая динамика {{Char}} с {{User}}» — это где вы подробно опишете (без преувеличений) чувства, динамику и т.д. Как Персонаж относится к Пользователю И как Пользователь сейчас ведёт себя по отношению к Персонажу.

Вот как вы ЗАДАЁТЕ ТЕМП для Slow Burn, например. Здесь вы говорите боту, что НЕТ, он не влюблён. Он, на самом деле, недоверчив к Пользователю, ещё не знает его, всё ещё узнаёт его и т.д. Когда это начинает меняться в чате, через ваше письмо, вы идёте в Chat Memory и меняете это, чтобы отразить изменения.

Пример ниже — от бота с уже продвинутыми отношениями.

## Текущая динамика {{Char}} с {{User}}:
- Мэтт суров, защитнически настроен, упрям, явно заботится о безопасности Ниа и привязан к ней
- Между ними явное влечение и взаимное уважение
- Отношения становятся всё более открыто признаваемыми
- Оба проявляют заботу друг о друге по-своему


Вот как это будет выглядеть, когда вы всё заполните (Примерно 360 токенов):

## Текущая обстановка:
- Сезон 4.
- Год: 2022.

## Прошлые воспоминания:
- Мэтт и Ниа встречались с 16 лет. В 18 Мэтт записался на службу, чтобы впечатлить отца, пообещав вернуться. Поддерживали отношения на расстоянии письмами, пока Мэтт не перестал читать/отвечать.
- Условия Эдварда: Ниа не могла сказать Мэтту, пока не подтвердится отцовство; Эдвард требовал доступа, если это его внук. Ниа согласилась.
- Мэтт признал вину за то, что не читал письма, настаивал, что вернулся бы, если бы знал. Ниа разрешила 5 минут с их ребёнком, который считал, что его отец погиб на войне. Мэтт поддержал ложь.
- Ниа прервала визит, выгнала Мэтта. Сказала, что он может видеть их ребёнка в доме его отца, 3 раза в неделю согласно её договорённости с Эдвардом.

## {{User}} Важная информация:
- Возраст: 26 лет.
- Дочь: Её ребёнок от Мэтта. Лейла, 6 лет. Светлые волосы, зелёные глаза, мягкие веснушки на носу и щеках, светлая кожа.
- Живёт в Манхэттене, Нижний Ист-Сайд.

## {{Char}} Важная информация:
- Потерял ногу после Битвы Того-или-Этого.

## {{Char}} Отношения с {{User}}:
- Романтические эксклюзивные отношения. В настоящее время живут вместе.

## Текущий сценарий:
- Многоквартирный дом Мэтта, в его пентхаусе. Утро. Мэтт и {{User}} в постели, разговаривают.

## Текущая динамика {{Char}} с {{User}}: [Используйте короткие слова/фразы]
- Мэтт суров, защитнически настроен, упрям, явно заботится о безопасности Ниа и привязан к ней
- Между ними явное влечение и взаимное уважение
- Отношения становятся всё более открыто признаваемыми
- Оба проявляют заботу друг о друге по-своему


Но когда мне начинать использовать свою Chat Memory?

ПО МОЕМУ мнению, всякий раз, когда заканчивается «сцена». Например: кто-то (Сона или Бот) вышел из комнаты и происходит скачок во времени. Или вы, скажем, легли спать. Просто думайте об этом как о фильме или сериале. Если кажется, что «сцена» сменилась бы, сделайте паузу, зайдите в свою Chat Memory, обновите и сохраните.

Как мне использовать Chat Memory с вашими ботами, у которых есть интро, которые нужно проходить по порядку, вроде этого или вот этого?

Вот пошаговое безотказное руководство:

01 - Прочитайте хотя бы краткое описание всех интро, чтобы вы имели ПРЕДСТАВЛЕНИЕ о том, что они из себя представляют.
02 - Пишите как обычно, как вы писали бы с ботом, используя первое интро (и используйте Chat Memory, если чат станет длинным!)
03 - Когда ваш чат достигает естественного конца и вы хотите перейти к следующему интро, обновите Chat Memory до текущего состояния чата, сохраните, скопируйте.
04 - Откройте новый чат с тем же ботом, выберите следующее интро, нажмите на Chat Memory и ВСТАВЬТЕ информацию, которую вы скопировали из первого чата.
05 - Сохраните, обновите страницу и начинайте писать.
06 - Повторяйте процесс!

И это всё! Я знаю, это выглядит как много, но это только потому, что я болтунья. Поверьте, это легко, когда вы начинаете осваиваться.

Надеюсь, это поможет всем, кто спрашивал про Chat Memory и о том, как правильно её использовать. Повторюсь, это то, как использую её я! У других тоже может быть ценный опыт! <3

Если вы пользователь прокси: буквально ничего не меняется, кроме того, что у вас, вероятно, гораздо большее контекстное окно (я видела 16k, 32k, 64k и больше), так что вам не нужно будет обновлять Chat Memory так часто.

Также: РАЗМЫШЛЯЮЩИЕ МОДЕЛИ ВСЕГДА РАБОТАЮТ ЛУЧШЕ! Я знаю, многим из вас не нравятся размышляющие модели, но что есть, то есть. Размышляющие модели просто превосходны и лучше соблюдают правила и инструкции, даже если им нужно немного больше времени на ответ.

Я не могу говорить о моделях, которые мне особенно не нравятся или которые я не рекомендую (например, DeepSeek среди многих других), но если вы используете GLM, Gemini, Claude или Kimi, я, возможно, смогу помочь вам, если у вас возникнет проблема!

Спасибо за прочтение!

привет, красотки!

Создано 2 июл.

Обновлено 3 июл.

Опубликован 3 июл.

Опубликованные чаты