Как стать автором
Обновить

Сколько стоит «Спасибо» для Сэма Альтмана

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.8K

Недавно в X (Твиттер) один пользователь задался вопросом - сколько денег OpenAI потеряла из-за того, что люди говорят своим LLM спасибо и пожалуйста (не дословно). Сэм Альтман ответил на это: "tens of millions of dollars well spent--you never know", что можно перевести как: "десятки миллионов долларов были потрачены не зря, никогда не знаешь (вероятно на чем выиграешь), или другой вариант перевода (поправили в комментариях): "десятки миллионов долларов были потрачены как минимум — а так, кто знает".

Спасибо на миллионы
Спасибо на миллионы

Ссылка в X.

Для тех, кто не в курсе как устроена работа 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 и какие решения получилось реализовать. Спасибо за внимание.

Теги:
Хабы:
+5
Комментарии28

Публикации

Работа

Data Scientist
46 вакансий

Ближайшие события