Обновить

При чтении раздела постов Хабра моё внимание привлекла публикация, где автор размышлял про опечатки в промптах. Хочется вынести пару собственных мыслей из комментария в отдельный пост.

Да, слова разбиваются на токены. В токенизаторе обычно много слов английского языка, слабее представлены уже остальные западноевропейские. Некоторые языки — например русский — у многих моделей выражены как соответствие одного токена на одну букву. В любом случае, кажется, что если изменить одну букву в слове, то всё сломается, и качество ответов катастрофически упадёт, поскольку искомый токен (или их последовательность) не получится.

На деле не всё так плохо. Без каких-либо особых усилий языковые модели легко выдерживают небольшое число опечаток в промпте и не снижают качество ответов (arXiv:2407.08989). Конечно, не последнюю роль играет, в каких словах сделана опечатка (arXiv:2411.05345).

Сейчас доступ к моделям с reasoning кое-где дают даже бесплатно. Такие чат-боты не пытаются быстренько ответить, а могут несколько секунд, пару минут или хоть чертверть часа размышлять над ответом, самостоятельно искать дополнительную информацию в Интернете и вызывать другие внешние инструменты. Если заглянуть внутрь, то обычно один из первых шагов размышлений — это перефразирование пользовательского запроса. Модель говорит сама себе: «Пользователь хочет X». Из ещё одной статьи известно, что простое перефразирование пользовательского запроса повышает качество ответов (arXiv:2309.10687).

Но это всё скучные исследования. Практическая демонстрация: возможно получить хороший внятный ответ хоть на запрос вида «Rgw suddwewbxw vwrqwwb X, E%1 cwxreia>». В примере ниже ChatGPT 5 Thinking сама догадывается, что пальцы пользователя соскочили на одну клавишу влево.

На самом деле этот пример я додумал из подсмотренного на подреддите /r/OpenAI. Три недели назад реддитор mimic751 показал, что ChatGPT без размышлений ответил на вопрос с огромным числом опечаток — у пользователя пальцы не попадали по клавиатуре и нажимали на кнопки рядом с нужными буквами. При этом в отличие от моего примера это был не строгий шифр, а мешанина из примерно десятка правильных нажатий с двумя десятками опечаток.

Как видно, опечатки в промптах нежелательны, но языковые модели из-за своей статистической натуры прощают очень многое.

Теги:
Всего голосов 12: ↑12 и ↓0+14
Комментарии5

Я попал к психиатру из‑за кодинга с AI

Со стороны программирование звучит как медитативное занятие. Сидишь себе за компом целый день, слушаешь музыку, пьешь вкусный кофе. У все меня примерно так и происходит. Сначала я не спеша пытаюсь выстроить в голове то, что требуется сделать. Именно «не спеша». И не потому что я такой опытный и мудрый, а потому что быстро я просто не умею.

У меня не получается сразу продумать все корнер кейсы, которые сильно могут повлиять на архитектуру. Я не могу быстро достать из памяти нужный паттерн, чтобы на лайвкодинге блеснуть своими знаниями. Поэтому сначала я медленно вчитываюсь в описание задачи, общаюсь с ПМом или коллегами, кто больше знает в этой доменной области, чтобы в обсуждении мой мозг начал работать в правильном направлении.

Все это звучит конечно логично, но явно 10x инженером так не стать. Да и будем честны, даже 2x тоже. В IT, где эффективность, это не один из критериев оценки сотрудника, а недостижимая цель, к которой стремятся все. Мой стиль работы — это проблема. Но благодаря появлению AI, эта проблема стала решена.

Я попал к психиатру из‑за кодинга с AI

Публикации