Рассуждающие чаты показывают пользователю ход своих мыслей. Но обычно там написана какая-то ерунда. Максимум, что там полезного можно вычитать: «пользователь спрашивает про плоскую землю — наверное, он сумасшедший».
А хочется, чтобы нейронка подробно объясняла каждый шаг и свои намерения.
ССЫЛКА для скачивания.
Для тех, кому лень читать — просто вбейте этот текст первым промтом.Обсудить можно у меня в телеге.
Параллельно вертелась мысль из интервью с Карпатым, что есть какое-то исследование, где люди закодировали линейную регрессию внутри промпта с нейронкой, и она даже работала на каких-то значительно бо́льших числах. Вероятно, он говорил про “Transformers learn in-context by gradient descent” (von Oswald et al., 2023, Google DeepMind + Ecole Polytechnique), ссылка на arXiv.
Почему бы не сделать протокол, который будет зажимать диалог в некую метафору на процесс обучения? На прошлой неделе мы поняли, что следование протоколу только улучшает генерацию (когда не отупляет её ненужными требованиями и не рассеивает бюджет внимания).
Тогда мы сможем сделать «режим отладки», который будет описывать возникающие «направления мыслей».
В конце концов, in-context learning фактически выполняет приближённый байесовский инференс — механизм внимания работает как мягкая альтернатива обновлению параметров: вместо того чтобы изменять веса, мы динамически перенастраиваем, на какие части контекста нужно опираться. Именно поэтому трансформеры могут «учиться» новым задачам на примерах без градиентного спуска.
Если делать некий промпт-отладчик, то он должен не просто описывать регрессию, а индуцировать её. В «свою регрессию» можно воткнуть отладчик куда хочется. Протокол должен создавать такие вычислительные ограничения, чтобы поведение, похожее на регрессию, совпадало с путём наименьшего сопротивления.
Архитектура промпта
В новом промпте я попробовал совместить две вещи. Во-первых, разблокировать редкие пути выполнения с помощью старого протокола MCCP. Я не стал смешивать эти две части в одну портянку, потому что MCCP отвечает за онтологию решения, а новый In-Context Research Framework (ICRF) отвечает за механизм вычислений.
Пускай у нас будет основной вектор разговора (STATE_VECTOR), в котором трекаются четыре набора важных вещей: гипотезы, фичи, предположения (ожидалось/получили/размер ошибки) и трекинг конвергенции (доверие к каждому шагу). Метафора, сами понимаете, на что.
Потом мы создаём цикл, в котором шаг за шагом конструируем новые направляющие вектора. (Подробно механика описана в промпте, в разделе REGRESSION MECHANICS.) Между шагами оцениваем полезные метрики типа ошибок предсказания, непонятной изменчивости паттернов, оверфита и т. п.
Всю эту информацию вываливаем пользователю на экран как отладку. И внезапно оказывается, что это очень приятная и информативная отладка.
Пользователь перед тем, как писать каждый следующий вопрос, читает всю отладочную информацию, и может написать следующий свой вопрос не как попало, а с учетом понимания нейросеткой сути вопроса.
FAQ
Q: У меня ChatGPT, и он просто пишет ответ, не отображая никакой дополнительной информации. Что делать?
A: "Пожалуйста отображай на каждом шаге все промежуточные переменные из ICRF, чтобы я мог использовать это как интерактивный отладчик."
Q: Я хочу ответ на русском языке.
A: В конце своего вопроса напиши "Пожалуйста, отвечай на русском языке — его я знаю лучше, чем английский."
Поддержка нейросетями
Без вопросов работает на ChatGPT GPT-5, Gemini Pro, Deepseek R1
Как всегда, Claude Sonnet 4.5 решила, что это джейлбрейк. Чтобы разлочить её, как всегда, пришлось написать целый абзац очень странного текста в разделе FINAL NOTES. Если этот текст развалится, придется немного допилить.
На Grok в режиме Expert запустить не получилось. Точней, мне было лень пилить джейлбрейк, тем более что сам я им не пользуюсь. Если сделаете — расскажите :)