Вневременное мышление и искусство промптинга. attention.. attention. внимание.. attention. внимание. время.. attention. внимание. время. промптинг.

Может ли ИИ чему-то научиться, читая промпт? Вот один из примеров того, что сегодня требуется воспринимать ан-масс на почти бытовом уровне.

Мы хорошо знаем, что когда ИИ-модель отвечает, она в этот момент не учится, её веса заморожены. Обучение – это отдельная операция, связанная с обратным пересчётом десятков и сотен миллиардов весов, которая потребовала бы непропорционально много ресурсов.

Давеча пытал ИИ на тему эффективных стратегий промптинга, т.е., стратегий объяснения ему, чего я от него хочу. Когда задача выходит за рамки “расскажи про ….” и подходит хотя бы к “дай прогноз погоды на завтра”, дело обрастает толпой условностей: что сначала, поиск, или идти на известный сайт? а надо ли идти на сайт, если прогноз есть прямо в поиске? При этом, рекомендации должны быть достаточно общими, чтобы и прогноз погоды, и пианино на Авито обрабатывались единообразно, и, одновременно, достаточно конкретным, чтобы учесть все общие нюансы.

Конечно, в какой-нибудь Claude Opus можно засунуть портянку инструкций, не отличимых от полного бреда, размером с небольшой роман (нынче это принято называть “навык”), и он сориентируется. Подозреваю, на деле он просто проигнорит всё, кроме заголовков, потому что как чего делать он и сам знает. Но мы используем более компактные модели и нам приходится включать голову.

И вот ИИ подкинул мне интересную концепцию, говорит: “заведи в промпте аббревиатуры для моделей поведения и ссылайся на них”. И дал красивый пример.
Я ему: “постой-ка, научи, как ты это делаешь”.
Он мне: “ну, вот ты их должен объявить в начале промпта, использовать в однотипных ситуациях, выделять рюшечками и давать по ним обратную связь – он, мол, тогда учится”.

Я делаю стойку, спрашиваю: “что значит “учится”?”
Он замялся, говорит: “ну, вот это не совсем чтобы учится, веса-то заморожены, но когда ты даёшь обратную связь, у него в поле внимания динамически усиливается связь аббревиатуры с ситуацией и, по сути, это тоже похоже на то, что он учится”.

Продолжаю выяснять: “откуда там обратная связь? у нас же статический промпт, он каждый раз как заново.”
Отвечает: “ну, ведь внимание содержит метрику упорядоченности по “времени” появления сентенций в промпте, и он относительно этой развёртки выстраивает смысловую нагрузку токенов, как будто это динамически”.

Перевожу теперь на русский язык: механизм внимания, при помощи которого ИИ “видит” ваше сообщение, технически устроен так, что различает “раньше” и “позже”. И если вы в сообщении воспроизводите некоторую развёртку событий, например – чат, или последовательность tool calls, то алгоритм внимания будет математически соотносить части этого сообщения в памяти особым образом, чтобы это отразить.

И если в начале чата вы что-то декларировали, то упоминание этого же элемента позже будет усиливать связь между декларацией и местами употребления. Т.е., чем больше повторений, тем больше привязка во внимании повторяющегося элемента к “корню” его возникновения. Получается такой неявный индекс.

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

Примерно так:

System prompt:
Definitions:
SBN - Save-Before-Next: Save progress before next step.
...
Сообщения (положительная обратная связь):
...[SBN]: will save something -> окружение аббревиатуры утвердительное, это даёт одно плечо
...
Сообщения (коррекция - отрицательная обратная связь)
You forgot [SBN], return and repeat. -> окружение отрицательное, это даёт "координатную растяжку" и позволяет уже "видеть" аббревиатуру как протяжённый объект, соответственно, это его калибрует.

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

А в новом, описанном случае сама схема (начертание) и реализует обратную связь. И да, там под капотом проведено многократное сопоставление каждого токена с каждым (ну, почти), но это конечный фиксированный процесс префилла, который к моменту инференса уже закончен. В момент инференса никаких “корректирующих возвратов” не происходит, всё внимание читается “с листа”.

И нам здесь важно увидеть не то, что мы старый и новый кейсы можем метафорически привести друг к другу, а, как раз, то, что у нас появляется качество, позволяющее их различить: в одном случае необходимость динамики в явном “физическом” вемени для проявления эффекта есть, а в другом – нет.

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

И если мы его так воспринимать откажемся, то действительно хороших промптов нам не написать.

Автор: dmiche

Источник