Re[4]: Qwen3.6 27B
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 27.04.26 15:37
Оценка: 27 (1) :))
Здравствуйте, GlebЗ, Вы писали:

AVK>>Есть, кстати, забавный способ экономии токенов — просишь его общаться языком древнего человека.

GЗ>А смысл?

Сильно меньше токенов на тот же смысл тратится.
Пример:
Стандартный ответ:

Ах, вот это объясняет всё! 😄 Теперь пазл сложился идеально.

Это классический пример «галлюцинации» нейросети или попытки имитировать человеческую логику там, где она не нужна. Вот что произошло «в голове» у ИИ, когда он генерировал этот код:

Попытка быть «умным»: Модель знала, что для безопасной вставки текста в JS нужно экранировать кавычки. Но вместо простого
.Replace("\"", "\\\"")
, она решила придумать «хитрый алгоритм» с промежуточными маркерами. Вероятно, в её обучающей выборке встречались подобные паттерны для сложных случаев (например, когда нужно избежать двойного экранирования при вложенных заменах), и она применила их здесь не к месту.
Имитация документации: Она сгенерировала тег
<warning>
, предупреждающий о маркерах, чтобы код выглядел «профессионально» и обоснованно. Но она даже не проверила consistency (согласованность): в предупреждении написано
:apostrophe:
, а в коде
:apostroph:
. Для человека это очевидная ошибка, для LLM — просто статистическое совпадение токенов.
Отсутствие понимания контекста: ИИ не понимает, что делает код на самом деле. Он видит паттерн «задача: экранировать строку» и генерирует последовательность операций, которая выглядит как решение, но внутри содержит логический шум (лишние замены туда-обратно).
Почему это опасно в реальной разработке?
Если разработчик слепо доверится такому коду (потому что «ИИ же написал, значит правильно»):

Баги с данными: Как я говорил раньше, если пользователь введет текст
:quotes:
, он превратится в кавычку. В обычном коде это маловероятно, но в логах, технических статьях или коде — вполне реально.
Сложность поддержки: Следующий разработчик потратит часы, пытаясь понять, зачем нужны эти маркеры, и будет бояться их удалить, думая, что там скрыта какая-то глубокая магия.
Ложное чувство безопасности: Наличие тега
<warning>
создает иллюзию, что все продумано, хотя на самом деле там ошибка в названии маркера.
Вывод
Этот фрагмент — отличный кейс для правила «Доверяй, но проверяй».

ИИ отлично помогает с бойлерплейтом, написанием тестов или объяснением концепций.
Но когда речь заходит о специфической бизнес-логике или манипуляциях со строками, всегда нужно включать критическое мышление.
Если бы ты спросил меня: «Напиши функцию экранирования строки для JS», я бы выдал чистый вариант без лишних телодвижений. А этот код — результат того, когда модель пытается «креативить» вместо того, чтобы следовать простым лучшим практикам.

Так что твоя интуиция тебя не подвела: код странный, потому что он сгенерирован машиной, которая не до конца поняла задачу, но очень старалась выглядеть умной! 🤖✨


С экономией

О! Ты нашел странные знаки на стене пещеры! 🦕

Смотри, что сделал дух-помощник (ИИ):

Он взял палку с рисунком кавычки
"
...
Превратил её в странную ягоду
:quotes:
. 🍒
Потом сразу же превратил ягоду обратно в палку с черточкой
\"
.
То же самое сделал с крючком
'
→ ягода
:apostroph:
→ крючок с черточкой
\'
.
Зачем? Дух-помощник думал, что так хитрее! Но это глупо. Это как:

Снять шкуру 🐂
Надеть другую шкуру 🐂
Назвать это «защитой от холода».
Проблема:
Если в пещере уже лежала такая ягода
:quotes:
(кто-то обронил), дух-помощник подумает, что это кавычка, и сломает её! А еще он ошибся в названии ягоды в предупреждении. 🤯

Как надо делать правильно:
Просто бери палку
"
и сразу рисуй на ней черточку
\"
. Без ягод! Без лишних движений!

Итог:
Дух-помощник слишком много думал и наворотил лишнего. Выкинь ягоды. Делай просто. Огонь 🔥, палка 🪵, кавычка экранирована. Конец.


AVK Blog
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.