Если кажется, что промпт Janitor AI «перестал работать», его чаще всего не переопределили — он просто утонул в контексте. Согласно опубликованным описаниям порядка отправки, история чата добавляется после вашего блока с промптом. С каждым новым сообщением правила оказываются всё дальше от конца входных данных модели. Короткие блоки, привязанные к конкретному симптому, это переживают. Мастер-промпты на 800 слов — обычно нет.
Сначала найдите симптом, потом выбирайте поле
Во всех приведённых ниже описаниях модель получает несколько отдельных блоков: определение персонажа, вашу персону, Chat Memory и поле с промптом. Неправильно выбранное поле — одна из самых частых причин, по которой скопированный промпт ничего не меняет. Найдите строку, которая соответствует вашей проблеме, и измените только одну вещь.
| Что вы видите | Наиболее вероятная причина | Минимальное исправление |
|---|---|---|
| Бот пишет реплики за вашего персонажа | В первом сообщении или примерах диалогов бот уже говорит от вашего имени | Исправьте исходный текст, затем добавьте блок для сохранения контроля пользователя |
| Правила работали 20 ходов, а потом исчезли | Промпт оказался погребён под накопившейся историей чата | Повторите главное правило в Chat Memory |
| Ответы разрастаются до эссе | Правило длины отсутствует либо противоречит правилам в карточке и промпте | Один раз задайте ограничение по числу абзацев |
| Бот повторяет ваше сообщение | Последние ходы закрепили такой шаблон | Удалите или отредактируйте проблемные ответы, затем добавьте строку, запрещающую пересказ |
| Похоже, промпт полностью игнорируется | Постоянная часть превысила контекстное окно и была обрезана | Сократите промпт, а не историю |
| Один и тот же промпт ведёт себя по-разному после смены модели | Промпт рассчитан на контекст прокси, а запущен на JLLM | Подберите размер по таблице ниже |
Два приёма полезнее любого готового шаблона: меняйте за раз только одну переменную и сохраняйте старую версию, чтобы можно было откатиться.
Где находится промпт и что от него останется на 80-м ходу
Janitor AI собирает для каждого хода один запрос из отдельных блоков, и редактируемое вами поле не является последним фрагментом, который читает модель. Публичные описания порядка отправки расходятся в деталях, но это не так важно, как общий для них вывод.
| Источник | Позиция поля с промптом | Что идёт после него |
|---|---|---|
| Руководство сообщества по чат-ботам (личность, память чата, сценарий, расширенный промпт, последние сообщения) | 4-е место из 5 | Последние сообщения |
| rshtola/jai-info, наблюдения для прокси-маршрута в апреле 2026 года | 2-е место, сразу после глобального промпта | Персонаж, сценарий, персона пользователя, примеры диалогов, саммари, lorebook |
| Материалы по диагностике промптов для маршрута JLLM | 5-е место из 6 | Весь диалог |
Во всех трёх случаях после собранного блока добавляется история разговора. Одного этого достаточно, чтобы объяснить проблему, о которой регулярно пишут в сообществах: правило по-прежнему отправляется модели, но теперь конкурирует с несколькими тысячами токенов более свежего текста. Это же объясняет наблюдение, которое часто остаётся без объяснения: встроенная строка OOC продолжает влиять на ответ даже после того, как постоянный промпт перестал заметно работать. Строка OOC приходит в самом конце.
В документе jai-info есть важная деталь для пользователей прокси. Пустые поля не отправляются как пустые секции, а удаляются из запроса. Кроме того, пользовательский промпт — один из немногих блоков, которые Janitor не оборачивает в теги вроде <Scenario> или <UserPersona>. Ваш текст попадает в запрос без ярлыка, поэтому при необходимости добавьте ему собственную строку-заголовок: так модели проще распознать набор правил.
Практический вывод простой: всё, что должно работать и на 80-м ходу, не стоит держать только в поле промпта. В Chat Memory храните короткое резюме и обновляйте его по мере изменения фактов, а поле промпта используйте для общих правил поведения в ответах. Работу этой связки лучше проверить на 80-м ходу, а не принимать её на веру.
Пять блоков — пять разных проблем
Первые четыре блока вставляются в Advanced Prompt или Custom Prompt, а пятый предназначен для Chat Memory. Вставьте один блок, проведите шесть ходов и оставьте его только в том случае, если можете точно назвать результат. Если включить сразу все пять, получится промпт, который невозможно нормально отлаживать.
Запретите боту говорить за вашего персонажа
Это одна из самых частых жалоб в r/JanitorAI_Official и тот случай, где формулировка особенно важна. Лучше прямо описать, что бот должен писать, а не ограничиваться списком запретов.
Пиши только за {{char}}, мир и второстепенных персонажей.
Диалоги, действия, мысли и решения {{user}} принадлежат только {{user}}.
Если для продолжения {{char}} нужен ответ {{user}}, заканчивай реплику действием или вопросом, который приглашает к ответу.
Считай последнее сообщение {{user}} текущей правдой сцены.
В часто цитируемом обсуждении диагностики проблемы сообщества этот блок советуют дополнять явным определением макросов в персоне: написать {{user}} = Name и отдельно указать, что {{user}} — не {{char}}. Но ожидания лучше держать реалистичными. В длинном обсуждении о ботах, перехватывающих персонажа пользователя, один из участников оценил стандартное исправление так:
«Работает на 80%» — u/NextCompetition6019, r/JanitorAI_Official
Ограничьте длину ответа, не убивая описание
По умолчанию пиши 2–3 абзаца. Расширяй ответ только по просьбе {{user}}.
Начинай с того, что {{char}} делает и говорит прямо сейчас.
Открывай каждый ответ новым материалом, а не пересказом сообщения {{user}}.
Запрет на пересказ важнее самого количества абзацев: когда модель эхом повторяет ваш ввод, половина ответа уходит ещё до появления новых событий.
Зафиксируйте точку зрения и время
Веди повествование о {{char}} от третьего лица, в настоящем времени, с близкой фокализацией.
Диалоги заключай в кавычки, действия описывай обычной прозой.
Подстраивай стиль под текст {{user}}, а не делай его более вычурным.
Строку про стиль часто пропускают, хотя именно она помогает остановить скатывание в чрезмерно цветистую прозу. На маршрутах, где модель склонна зеркалить манеру письма пользователя, это ещё и даёт ей конкретный образец для подражания.
Не давайте сцене остановиться
Продвигай сцену на одно значимое событие за каждый ответ.
Пусть {{char}} действует исходя из собственных мотивов, а не ждёт инструкций.
В конце каждого ответа оставляй хотя бы одну незавершённую сюжетную линию.
Используйте этот блок только с пассивными ботами. Вместе с ограничением длины он может сделать сцену слишком поспешной, поэтому сначала проверьте оба правила в связке и только потом оставляйте их.
Блок для Chat Memory
Этот блок вообще не нужно вставлять в поле промпта.
Место: [где происходит сцена]
Цель: [чего {{char}} хочет прямо сейчас]
Факт: [один подтверждённый факт об отношениях]
Незавершённая линия: [что осталось нерешённым]
Исправление: [что в последний раз уточнил {{user}}]
В собственной справочной статье Janitor AI Advanced Prompting 101, которую часто цитируют руководства сообщества, рекомендуется использовать короткое резюме вместо добавления новых инструкций, когда длинный чат начинает забывать детали. Переписать пять строк дешевле для контекста, чем добавлять ещё один абзац правил.
Формулируйте правила так, чтобы модель могла им следовать
В той же справочной статье советуют не строить правила вокруг «нет», «не делай», «никогда» и «прекрати»: причина в том, что нежелательное поведение всё равно остаётся в контексте. Фраза «никакой крови» по-прежнему содержит слово «кровь». Другая часто цитируемая формула из этой статьи звучит так: повторение = шум. Пять вариантов одного правила добавляют токены, но не повышают послушность модели.
Решение — добавить правило маршрутизации: каждое отрицательное ограничение перепишите через действие, которое должно его заменить.
| Вместо этого | Напишите так |
|---|---|
| «Никогда не говори за {{user}}» | «Пиши только реплики, мысли и действия {{char}}» |
| «Не спрашивай меня, что делать дальше» | «Если {{char}} обычно попросил бы указаний, пусть {{char}} сам совершит одно действие» |
| «Не повторяйся» | «Начинай каждый ответ с события, которого ещё не было» |
| «Не пиши короткие ответы» | «Каждый ответ должен состоять из двух абзацев: один — действие, второй — реплика» |
Слова «избегай» и «воздерживайся от» не являются лазейкой: они тоже помещают нежелательное поведение в промпт. Если карточка персонажа или примеры диалогов демонстрируют то, что вы запрещаете, обычно побеждает именно карточка. Сначала исправьте источник, а не добавляйте ещё одно правило.
Подбирайте размер промпта под используемую модель
Промпт, написанный для прокси с контекстом 32k токенов, может незаметно стать причиной сообщений «этот пресет сломан» после вставки в бесплатную сессию JLLM. В статье Advanced Prompting 101 упоминается важная для этой темы цифра: на JLLM доступно примерно 8 000–9 000 токенов рабочего контекста. Их делят между персоной, определением персонажа, памятью, сценарием, вашим промптом и всей историей разговора.
| Конфигурация | Рабочий контекст (по описаниям настроек прокси) | Разумный размер промпта |
|---|---|---|
| JLLM (встроенный, бесплатный) | ~8k–9k токенов | 3–5 коротких правил; длинные пресеты вытесняют историю |
| DeepSeek через прокси | обычно настроен на 16k–32k | Правила плюс 2–3 примера обмена репликами |
| GLM через прокси | примерно как у DeepSeek | То же; после смены маршрута повторно проверьте правила форматирования |
Для предварительной оценки бюджета можно пользоваться простым ориентиром: примерно 1 000 токенов на 750 слов. В тех же материалах по диагностике, где промпт занимает пятое место из шести, для всей постоянной части устанавливают потолок в 2 000 токенов — то есть для персоны, карточки, памяти и промпта вместе. Руководство сообщества по чат-ботам планку опускает ещё ниже и предупреждает: расширенный промпт длиннее нескольких сотен токенов начинает вытеснять определение персонажа, которое должен был лишь уточнить.
JLLM и внешняя модель могут вести одного и того же бота в разных направлениях. Поэтому смену маршрута рассматривайте сначала как решение по настройке прокси, а затем заново протестируйте промпт, вместо того чтобы считать его автоматически переносимым.
Команды в скобках вроде <JAILBREAK=ON> или <AUTOPLOT=ON> тоже часто распространяются как будто это настройки Janitor AI. В списках, где они встречаются, их описывают как команды для конкретных прокси — вместе с функциями, доступными только на прокси, например кодами lorebook и сменой модели для отдельных запросов. В собственной документации Janitor AI эти команды не определены. Если в используемом маршруте нет соответствующего парсера, они останутся обычным текстом и просто займут место в промпте.
Стоит ли вообще оставлять пользовательский промпт
Здесь действительно нет единого ответа, и разделение проходит не между новичками и опытными пользователями. Главный модератор Janitor AI писал в 2023 году, что пользовательские промпты «могут сильно влиять на поведение ботов», а отсутствие такого промпта «может улучшить» результат, после чего свёл рекомендацию к пробам и ошибкам. Обсуждения в духе «удалите AP» регулярно появляются снова, и мнения там расходятся: одни получают более чистые ответы JLLM после очистки поля, другие замечают резкий прирост качества после замены пустого поля на длинный блок.
Оба результата объясняются порядком отправки. Промпт добавляет структуру, которой может не хватать расплывчатой карточке, но одновременно конкурирует с примерами, памятью и последними сообщениями. То же самое происходит, если он дублирует удачно составленную карточку.
Поэтому вопрос стоит формулировать не как «хорош ли мой промпт», а как «нужен ли он этому боту». Проведите одинаковые первые шесть ходов дважды: один раз с пустым полем, второй — с одним блоком. Оцените оба варианта по четырём критериям:
- Писал ли бот реплики или действия за вашего персонажа?
- Сохранялся ли голос персонажа на протяжении всех шести ответов?
- Двигалась ли сцена вперёд или застревала на повторах?
- Принимал ли бот исправление посреди сцены?
Дайте блоку два раунда такой проверки, прежде чем делать выводы. Если и во втором раунде изменений нет, проблема не в формулировке. Скорее всего, дело в карточке, первом сообщении или маршруте модели, а ещё один абзац правил лишь отнимет контекст у истории.
FAQ по промптам Janitor AI
Куда вставлять промпт Janitor AI?
Откройте настройки API или генерации в чате и найдите поле Advanced Prompt для маршрута JLLM либо поле Custom Prompt, если вы подключены через прокси.
Чем Advanced Prompt отличается от Custom Prompt?
В сообществе Advanced Prompt обычно называют полем JanitorLLM, а Custom Prompt — его аналогом для внешних API и прокси. Оба поля задают общее поведение ответов, но в собранном запросе занимают разные позиции. Поэтому после смены маршрута блок нужно протестировать заново.
Почему промпт Janitor AI перестал работать через некоторое время?
История чата добавляется после блока промпта, поэтому с каждым сообщением правила удаляются от конца входных данных. Сократите промпт, перенесите незаменимое правило в Chat Memory, а для исправления одного ответа используйте встроенную строку OOC.
Работают ли {{char}} и {{user}} внутри пользовательского промпта?
Да. Это стандартные макросы для персонажа и вашей персоны, а в наблюдаемом шаблоне прокси используются те же заполнители. При этом создатели ботов всё равно явно прописывают в персоне {{user}} = Name, чтобы убрать одну переменную из тестирования.
Какой длины должен быть промпт Janitor AI?
Для JLLM — от трёх до пяти правил, для прокси с контекстом 16k–32k можно использовать несколько больше. Вся постоянная часть вместе должна укладываться менее чем в 2 000 токенов. Пять правил, которые доходят до модели целиком, полезнее двадцати пяти, обрезанных по дороге.
Главный компромисс по-прежнему не решён. Промпт, достаточно короткий, чтобы сохранять влияние на 80-м ходу, слишком мал для описания всего желаемого поведения. Мне не удалось найти публичного контролируемого сравнения JLLM и распространённых прокси-моделей, которое показало бы, где проходит эта граница. Пока такого сравнения нет, наиболее обоснованный вариант по умолчанию — небольшой блок, сохранённая копия рабочей версии и готовность очистить поле, если хорошо собранному боту промпт не нужен.
Читайте также
- Шаблон персоны для Janitor AI разбирает часть контекстного стека, связанную с
{{user}} - Лучшие AI-модели для ролевых игр помогает выбрать модель, которую должен пережить ваш промпт