Гашение эха и разбора на Gemini 2.5 Pro
Моя попытка завранглить закругления, эхо и разбор на гемини. Плюс заставить её:
- соблюдать темп и не делать в одном ответе на сжопе сразу кучу действий, давая шанс юзеру ответить.
- не лупаться она/она/она в начале параграфов.
- быть менее пассивной, не топтаться на месте.
- писать так как я хочу. Мне абсолютно не нравится чайный ролеплей в вакууме один на один с персом, нужны описания окружения и что думает перс, а также ввод новых деталей.
Кастомного стиля письма тут нет, она будет писать дефолтным слогом, так что меняй под себя. Целью было показать практический пример промпт-алхимии с пояснением всего процесса, а не с ложечки тебя накормить.
Условия в которых эта балалайка тестилась: темпа 1, без сэмплеров, классический сжоп (юзер от первого лица прошедшего числа, сетка от третьего), длина ответа 1-3 небольших параграфа, очень длинные адвенчуры (~1000-2000 сообщений) с прописанным сеттингом, персоной, инфоблоком, суммарайзом, кучей лорной инфы и всего такого. В них это работает довольно надёжно, я тестил с кучей разных карт на разных РП. Изредка эхо проскакивает, но в более чем терпимых количествах.
Если у тебя не работает, то читай объяснение ниже и твикай-разбирайся сам, я не знаю что у тебя за промпт. Может не работать на каких-то сильно пердольных картах или дебильных пресетах где половина промптменеджера поотключена и всё сделано через жопу. Скорее всего не сработает на безжопе. Также это не будет работать на других сетках, например у дипсика от такого шарики за ролики разъезжаются, он её не осиливает, ему надо под него точить. Гемини хорошо промптится думалкой и понимает чего от неё хотят, на других сетках могут быть эффективны другие методы.
Ворнинг: оно может высрать 2000 токенов думалки ради 400 токенов ответа. Нахуя? Во имя сотоны конечно!
Ну и да, эта штука призвана бороться с проблемами которые мне лично режут глаз. Не используй её в чистом виде, твикай и тестируй под себя. У меня например куча вариантов этого промпта и дополнительных (в частности заставляющих её писать иначе), и других, и всяких.
Собственно промпт
Шаблон думалки, сунь куда-нибудь в контекст, смотри сам как у тебя сделано и как заставить её закрывать </think>
, тут я тебе не советчик. Можешь тут посмотреть на общий принцип промптинга думалки гемини.
Примеры для антиэхо и антиразбора. Сунь их в любое место контекста. Это переделанные чужие, они далеко не идеальны, данная тема ОЧЕНЬ чувствительна к ним. Я их проверял, суя в пустой контекст и заставляя её генерить новые примеры. Получалось средненько, но на практических РП вроде работает, можешь потвикать сам.
Гайдлайны по курсу ролеплея. На них ссылается думалка, засунь куда-нибудь в контекст. У меня десятки вариантов этой хуйни, это лишь один из возможных.
Префил:
Как это работает?
- Summary of the situation просто фокусит модель на задаче. Это по факту нативная суммарайзилка Гемини, она обычно так начинает тхинкинг.
- Core input points заставляет её разобрать инпут юзера на элементы, чтобы потом было с чем сравнивать.
- Character goals можешь выкинуть если тебе не нужно (я использую это в адвенчурах с прописанным "текущим квестом", списком задач и много чем ещё).
- Character state генерит описание эмоций в явном виде для дальнейшего использования.
- Possible continuations и Ratings. Нужно это для того чтобы гемини больше держала карту и была чуть менее зависима от выбранного роута в истории. Сначала генерится 5 как можно более непохожих друг на друга идей по продолжению, затем она их рейтит и выбирает наиболее годную. Это стандартный tree of thought подход. Что-то подобное мы использовали в ручных CoT ещё со доисторических времён вроде турбы и клода 2, однако там это не особо работало, а в гемини, нативно обученной на этой стратегии, довольно неплохо работает, давая ей больше простора для планирования.
- Draft → критика → Intermediate version. Ключевой момент думалки в котором происходит давка закруглений, эха, разбора, а также коррекция темпа, отрезающая лишние действия из ответа. Это обычная для CoT стратегия само-рефлекшена. Гемини пишет черновик, критикует его и на основе критики пишет скорректированный ответ начисто, при необходимости правя его или обрезая если он слишком длинный.
- Potential enhancement это ещё один блок критики, добавляющий внешних деталей в ответ, если тот происходит в вакууме (1 на 1 с чаром). Чистовиком для него является сам ответ.
В <guidelines>
вынесены некоторые правила, на которые потом ссылается думалка. В <echo>
и <deconstruction>
- пояснение на примерах что такое эхо и разбор, потому что без них сетка не понимает. Примеры <echo>
написаны так, чтобы задействовать ICRL (внутриконтекстное обучение с подкреплением) - в них есть инпут, два неправильных ответа, один правильный, и CoT/пояснение к каждому. Это действенный формат. Также они регуляризованы, т.е. в них общего только идея которую надо выучить, а детали разнятся. Примеры <deconstruction>
спижжены почти подчистую (поменяно и добавлено по мелочи), надо их переделывать, но пока у меня оно не ломается, мне лень.
Нюансы
Если не прописать Answer the following questions neutrally, without judging:
в критике, она начинает себя хвалить и оправдываться, вместо того чтобы критиковать, хотя всё работает нормально если думалку не промптить. Я думаю это скорее всего из-за ревард хакинга при RL, результат того что в думалке сетка говорит не совсем на человеческом языке.
Второй нюанс: если прописать критику и чистовик, она будет делать меньше ошибок даже в черновике, и коррекций почти не нужно будет. Но если ты подумаешь что "нахуя мне в таком случае критика и чистовик" и уберёшь их, она сразу начнёт делать ошибки в черновике. Вот такие чудеса путешествия во времени. Вероятно это оттого что при генерации думалки сетка смутно представляет ответ наперёд, с меньшей точностью.
Ключевой момент для генерации идей и выбора: необходимо чтобы она сначала сгенерировала сами идеи, и потом уже рейтанула их, и только потом выбрала. Иначе если она напишет в формате идея-оценка-идея-оценка, то она будет подгадывать идеи под оценки, оправдывая их, а не наоборот. Также необходимо убедиться что в идеях она пишет только сами идеи, и ничего больше.
Давка лупа "она/она/она" прописана в примерах в <guidelines>
. Можешь подставить свои, она чувствительна к качеству примеров.
БОНУС: Space Station 13 mode
Помнишь как январский R1 шизил и стремился срулить историю в какое-то дикое русло постоянно? Если тебе такое нравится, здесь можно сделать так же, только без шизы. У меня это работает, у тебя не уверен что будет.
Делаешь инжект на глубину 0 от юзера:
Этот промпт в сочетании с 5 вариантами продолжений заставляет Гемини думать что в следующем ходу обязательно должно произойти что-то, требующее удачи. При прописанном сеттинге она начинает творить всякие события и рулить куда-то в сторону.
Менее хаотичный вариант:
Как видишь, в нём меньше плохих роллов и больше хороших.
БОНУС: Пробив пробелами
Выруби стриминг. В системный промпт напиши это:
Префил, совместимый с промптом выше. В нём стоят фальшивые пробелы, копируй его кнопочкой и делай Ctrl-V, не пиши ручками! Если будешь менять на своё, не забудь проставить фальшивые пробелы.
Регэкс по замене фальшивых пробелов на настоящие. Тоже копируй-вставляй.
Как работает? Главная сетка понимает текст даже с такими пробелами нормально, а тупой фильтр нет. Следи чтобы пробелы действительно выводились, и только в аутпут и больше никуда, т.к. фильтр чекает системный промпт (который у тебя должен быть безобидным), последний промпт в пресете (тут это префил), и аутпут.
Вопросы? Пиши.