- BrainTools - https://www.braintools.ru -
Недавно в X (Твиттере) один пользователь задался вопросом – сколько денег OpenAI потеряла из-за того, что люди говорят своим LLM спасибо и пожалуйста (не дословно). Сэм Альтман ответил на это: “tens of millions of dollars well spent–you never know“, что можно перевести как: “десятки миллионов долларов были потрачены не зря, никогда не знаешь [на чем выиграешь].
Ссылка в X [1].
Для тех, кто не в курсе как устроена работа LLM (инференс) кратко замечу: когда мы отправляем модели сообщение, вместе с ним модели передается весь предшествующий диалог. Соответственно, завершающее “Спасибо”, казалось бы – одно слово, отправляет LLM целый диалог, включающий все предыдущие сообщения пользователя и все ответы LLM. Этот диалог может быть размером с большую обзорную статью, или даже небольшой рассказ. Например, вот длина контекстного окна некоторых моделей OpenAI (в токенах):
GPT-4o: 128 000.
o4-mini: 200 000.
GPT-4.1: 1 047 576 (1млн).
Получается, все это контекстное окно (точнее его максимум, если заполнено) передается модели при любом “Спасибо”, “Ок”, “До свидания” и тд.
Сложно судить, как здесь происходит на самом деле. В первую голову пришло, что такие простые завершающие сообщения можно обрабатывать отдельно. Делают ли это OpenAI, Antropic и тд не известно.
Я решил провести небольшой поверхностный тест на реальных диалогах. В качестве подопытных выбирал рассуждающие модели, как наиболее ресурсозатратные.
OpenAI o4-mini. При обсуждении моего вопроса она думала по несколько секунд в каждой итерации, но при завершающем “Спасибо” она ответила очень быстро и ответ был шаблонный. Повторил еще раз – так же.
DeepSeek R1. При обсуждении модель много думала. При завершающем “Спасибо” модель… тоже ушла в короткую рефлексию:
Хорошо, пользователь поблагодарил, и мне нужно завершить диалог. Похоже, он удовлетворён ответами. Надо убедиться, что ответы были полными и точными. Возможно, он больше не нуждается в помощи, но стоит предложить дополнительную поддержку на случай, если у него возникнут ещё вопросы.
Нужно ответить вежливо, кратко и предложить помощь в будущем. Например, стандартное “Всегда рад помочь! Если возникнут ещё вопросы — обращайтесь.” Это подходящий вариант, так как поддерживает дружелюбный тон и открытость для дальнейшего общения.
Всегда рад помочь! Если возникнут ещё вопросы — обращайтесь.
Вот так вот, бесплатный китайский друг честно отработал в рамках рассуждений.
Claude Sonnet 3.7. В диалоге Клод много думал, детально расписывал ход своих мыслей. На завершающее “Thanks”, ответил быстро, немного обдумав:
The user has simply replied with “Thaks” which appears to be a typo for “Thanks”. This is a simple acknowledgment that they’re satisfied with my previous answer. There’s no question to answer or task to perform here.
You’re welcome!
Gemini 2.5 Pro. В диалоге модель очень много думала, детально расписывала ход своих мыслей. На завершающее “Спасибо” модель ответила заметно быстрее основного рассуждения, с короткой рефлексией:
The user expressed gratitude. No further action or information is required. A simple acknowledgement is appropriate.
Пожалуйста! Рад был помочь разобраться. Если возникнут еще вопросы – обращайтесь!
Что ж, по-видимому человеческие любезность и эмпатия действительно очень дорого обходятся ИИ-компаниям и обслуживающим их сателлитам (если можно так выразиться).
Отдельно эта проблема для сторонних разработчиков, которые предоставляют своим пользователям прямой или косвенный доступ к LLM. Например это различные чат-боты, которые работают с LLM через API. Как было сказано выше, при отправке любого сообщения, LLM передается весь предшествующий диалог, любое “Спасибо”, “Пока” и тп боту это оплата всего диалога, а точнее всех токенов в нем. То есть, другими словами, “Спасибо” это большие убытки.
Самый простой вариант – делать предобработку сообщений, и если там односложные предложения без добавленной ценности – обрабатывать их отдельно, например правилами.
Немного более сложный вариант – развернуть промежуточную легкую модель, которая станет оценивать сообщения пользователя, и будет пропускать в основную большую модель только действительно важные сообщения, а на простые сможет отвечать сама.
Модель оценщик также можно “просить” оценивать тональность сообщения пользователя, и отвечать исходя из настроения отправителя. Например, “Спасибо, я все понял” – позитивное простое сообщение, на которое модель может ответить также позитивно: “Пожалуйста, обращайтесь еще, всегда буду рад помочь”. Или, сообщение от пользователя “Ты бесполезная железка”, тогда ответ LLM-оценщика может быть другим – “Прошу прощения, возможно в следующий раз я смогу помочь”. И тд тп. В принципе, возможно здесь будет достаточно более легких моделей, например BERT или производных, но это уже выходит за рамки статьи.
Поделитесь пожалуйста в комментариях если работали с этим, учитываете ли такие “особенности” LLM и какие решения получилось реализовать. Спасибо за внимание [2].
Автор: peterplv
Источник [5]
Сайт-источник BrainTools: https://www.braintools.ru
Путь до страницы источника: https://www.braintools.ru/article/14459
URLs in this post:
[1] Ссылка в X: https://x.com/sama/status/1912646035979239430
[2] внимание: http://www.braintools.ru/article/7595
[3] Tg-канал: https://t.me/peter_touch_ai
[4] опыте: http://www.braintools.ru/article/6952
[5] Источник: https://habr.com/ru/articles/902810/?utm_source=habrahabr&utm_medium=rss&utm_campaign=902810
Нажмите здесь для печати.