Знакомая картина. Просите модель умножить два шестизначных числа. Ответ приходит сразу и выглядит солидно. Первые цифры верные, последние тоже, а в середине мусор. Дальше идёт вопрос - и вот этому мы доверяем деньги? Вопрос верный, но обида в нём лишняя. От модели ждут, что она будет вести себя как калькулятор. Она устроена иначе. Причём сбой не в этой модели и не в этом промпте. Он в самой сборке, и чинить его тут бесполезно.
Начнём с банальности, которую все знают и мало кто додумывает до конца. Модель угадывает следующий токен. Она не считает. Умножить в столбик это пройти по шагам. Разряды, переносы, порядок действий. Процессор шаги делает. Школьник делает. Модель за один проход нет. Она выдаёт текст, похожий на верный ответ, опираясь на то, что видела раньше.
Для коротких чисел примеров навалом. «Семью восемь» попадалось ей в данных миллионы раз, поэтому тут ошибок нет. Но это память, а не счёт. Ровно так же вы говорите «пятьдесят шесть», ничего не умножая. Чем длиннее число, тем меньше похожих примеров. И модель делает то одно, что умеет складно продолжает. Отсюда фирменный почерк. Края верны их проще выучить как узор. В середине каша: там надо честно тащить переносы.
Второй слой это токены. Тут начинается уже комедия. Модель видит не цифры, а куски текста. Раньше их резали, не глядя на разряды. Где-то «2023» был одним куском, а «2024» двумя. Где-то число рвали на ломти вроде «123» и «45». Попробуйте поделить в столбик число, которое вам показали нарезанным как попало. Примерно так модель и считает. В новых моделях это подлатали числа стали резать по одной цифре или ровными блоками. Счёт заметно улучшился. Но сути не поменял. Знаменитый вопрос про число букв «r» в слове strawberry - та же болезнь. Модель видит куски, а не буквы. Просьба сосчитать буквы звучит для неё как просьба сосчитать пиксели на фото по его описанию словами.
Третий слой это случайность. У модели есть настройка температура. Пока она не ноль, выбор следующего куска текста идёт по жребию. Один и тот же расчёт в двух соседних чатах даст разные числа. Выкрутить её в ноль помогает, но меньше, чем хочется. Так модель просто всегда берёт самый вероятный кусок. А вероятный не значит верный. Для текста этот разброс это плюс. Для расчёта НДС- приговор. И самое скверное. У модели нет датчика, который отличал бы «тут я считала» от «тут я гадала». Тон уверенный в обоих случаях. Верный ответ и выдуманный на вид одни и те же. А числа человек перепроверяет реже, чем слова.
Хорошая новость беду давно поняли и решают одним разумным путём. Гуманитария не учат считать в уме. Ему дают калькулятор.Приём зовётся tool use, он же function calling. Модель видит, что задача счётная, пишет код или зовёт внешнюю функцию, берёт готовый ответ у нормального счётчика и вставляет его в текст. Такое умеет ChatGPT, похожее есть у GigaChat и других крупных игроков.
Делёж труда честный. Модель сильна там, где надо понять задачу и расписать шаги. Шаги выполняет кремний, который не фантазирует. Отсюда бытовой трюк, который стоит забрать себе: добавьте к просьбе слова «напиши код и выполни его». Точность прыгает разом. Вы вручную сдвинули модель из режима «вспомни похожее» в режим «распиши шаги».
В готовых продуктах ту же мысль довели до конца. Формулу вынимают из модели и зашивают в сценарий. Нейросети оставляют собрать данные и объяснить итог. Таких калькуляторов с человеческим лицом уже целый жанр. Самодельные GPTs с зашитой методикой. Мини-приложения в сервисах-конструкторах скажем, в sphere.su, где под типовую задачу дают форму с полями вместо пустой строки. Под узкий расчёт - смета, кредит, дозировка - часто есть и свой сервис. Ищут такие по каталогам вроде There's an AI for That или ailib.ru.
Оговорка нужна. Смотрите, что у находки под капотом. Зашитая формула и «тот же чат, но с красивой обёрткой» - это разные вещи. Снаружи они близнецы. Тест простой прогоните один и тот же расчёт три раза. Формула ответит трижды одинаково. Чат - как повезёт
Разовый расчёт только кодом. Просите показать счёт программой, а не «в уме», и пробегите глазами по логике.
Любой ответ сверять на глазок. Грубая прикидка в уме ловит почти все выдуманные серединки. Если модель насчитала выручку в три миллиарда там, где ждали три миллиона, вы увидите это за секунду.
Расчёт, который повторяется, — выносить из модели вовсе. Формула должна жить в скрипте, таблице или сценарии, где она закреплена и видна. Модель может переиначить метод в любой миг, и вы об этом не узнаете.
Модель это отличный автор инструкций и никудышный их исполнитель. Не заставляйте поэта работать процессором. У обоих есть занятия получше.