ИИ просили посчитать углеводы 27 000 раз — он не сошёлся сам с собой ни разу

Инженер прогнал 4 ИИ-модели через 26 904 запроса на одних и тех же 13 фотографиях. Лучшая модель промахнулась на 2,4%, худшая выдала разброс в десять раз. Что это значит для любого продукта, где LLM возвращает число.

Обложка: ИИ просили посчитать углеводы 27 000 раз — он не сошёлся сам с собой ни разу

Один и тот же ИИ на одной фотке паэльи отвечает 55 граммов углеводов в одном запросе и 484 — в следующем; для диабетика это переход от нормы инсулина к 43 лишним единицам, риск тяжёлой гипогликемии. Так выглядит недетерминизм LLM на численной задаче — свойство, при котором модель на повторе того же входа возвращает разные ответы. Тим Стрит, инженер с диабетом 1 типа, прогнал четыре топовые модели через 26 904 запроса по тринадцати фотографиям еды, и ни одна не дала стабильный ответ при повторе. Если у вас в продукте LLM возвращает число — сумму чека, размер дефекта, оценку риска — у вас та же паэлья, просто без диабетика на конце.

Опыт описан в блоге Diabettech 25 апреля 2026 года. Стрит использует ИИ как помощника в подсчёте углеводов — вводных данных для расчёта инсулиновой дозы — и захотел понять, насколько модели вообще способны давать стабильный ответ на одном и том же фото. По стандартам клинических исследований воспроизводимость ответа — базовое требование к измерительному инструменту.

Ключевые выводы
ИИ не умеет считать углеводы дважды одинаково
Главное за 30 секунд

26 904 запроса к четырём моделям (GPT-5.4, Claude Sonnet 4.6, Gemini 2.5 Pro, Gemini 3.1 Pro Preview) на тринадцати фотографиях.

Лучшая модель — Claude Sonnet 4.6 с коэффициентом вариации 2,4%. У Gemini 2.5 Pro — 11,0% (хуже всех).

Худший случай — Gemini 2.5 Pro на паэлье: разброс 55–484 г углеводов в одних и тех же запросах. На инсулин это коридор 5,5–48,4 единицы — разница в 42,9 единицы между двумя ответами одной модели.

«Точно неправильно»: на сэндвиче с сыром три модели сошлись около 28 г, реальное значение — 40 г. Конвергенция на ошибке опаснее, чем разброс.

Confidence-скор почти не коррелирует с точностью: модели уверенно врут.

Позиция DTN-UK: общедоступные LLM нельзя использовать как автономных советников по дозе инсулина.

Что и как тестировал Стрит

Автор взял 13 фотографий блюд с заранее известным содержанием углеводов (часть — лабораторно выверенные значения, часть — упаковка с пищевой ценностью). Каждое фото отправлялось четырём моделям не менее 500 раз через API с одним и тем же промптом, без памяти и контекста между запросами.

Тестируемые модели:

  • GPT-5.4 от OpenAI — флагман на момент тестов
  • Claude Sonnet 4.6 от Anthropic
  • Gemini 2.5 Pro от Google — стабильная версия
  • Gemini 3.1 Pro Preview от Google — превью новой версии

Промпт просил модель оценить углеводы в блюде и вернуть число грамм плюс уровень уверенности от 0 до 1. Температура — минимальная для каждого API (lowest randomness setting), как рекомендуется для численных задач.

Недетерминизм LLM в цифрах: коэффициент вариации

Стрит измеряет стабильность через коэффициент вариации (CV) — отношение стандартного отклонения к среднему. Чем меньше CV, тем стабильнее модель отвечает на одну и ту же картинку.

			Claude Sonnet 4.6     CV = 2,4%   — лучший результат
GPT-5.4               CV = 8,4%
Gemini 3.1 Pro Prev   CV = 10,3%
Gemini 2.5 Pro        CV = 11,0%  — худший результат

(Усреднено по 13 фото × 500+ запросов на модель)
		

Claude держит разброс в пределах нескольких процентов; у Gemini — двузначный CV. На отдельных блюдах CV у Gemini регулярно превышает 10–20%.

Паэлья: 55–484 грамма на одной фотографии

Самый яркий пример из эксперимента. На фотографии паэльи Gemini 2.5 Pro на 500+ запросов выдал результаты в диапазоне от 55 до 484 г углеводов на одном и том же фото — без какого-либо повода для разброса в самих данных.

Если перевести в дозу инсулина по типичному соотношению 1 единица на 10 г углеводов — получается коридор от 5,5 до 48,4 единиц на одно и то же блюдо. Разброс — 42,9 единицы. Для среднего взрослого с диабетом 1 типа 30+ лишних единиц — гипогликемия с риском комы.

Confidence не спасает

Логичное решение — фильтровать ответы по уверенности модели: брать только те, где confidence высокий. Стрит проверил гипотезу. Корреляция confidence с точностью у моделей отрицательная — коэффициент r от −0,01 до −0,17. Уверенность модели не просто бесполезна, она антикоррелирует с правильностью: чем увереннее модель, тем выше шанс, что она ошибается.

Модели возвращают «уверенно неправильные» ответы так же часто, как «уверенно правильные». На сэндвиче с сыром три из четырёх моделей сошлись на ответе около 28 г углеводов с высоким confidence — реальное значение по упаковке было 40 г. Модели согласовались на ошибке и были в ней уверены.

Опасность не в том, что ИИ ошибается. Опасность в том, что ИИ ошибается уверенно и согласованно. Конвергенция на неправильном ответе хуже разброса вокруг правильного — она выглядит как сигнал, а не как шум, и автоматизированная система примет её за факт.

Почему это важно за пределами медицины

Эксперимент Стрита — редкий случай, когда недетерминизм LLM измерен на одной и той же простой задаче в больших объёмах. Большинство бенчмарков считают точность в среднем по выборке; здесь измерена стабильность одного ответа. Это два разных свойства, и для продакшна часто важнее второе.

Где это аукнется

  • OCR-замена «через ИИ»: модель распознаёт сумму в чеке/инвойсе. Сегодня 1500, завтра 1505 на той же фотке.
  • Извлечение полей из документов: дата, ИНН, артикул. Каждый прогон может дать другой результат.
  • Скоринг и оценка: модель оценивает риск/уверенность/качество ответа — числа гуляют между запросами.
  • Подсчёт объектов на изображении: люди в очереди, машины на парковке, дефекты на детали.
  • Ассистенты для измерений: размеры на фото, время по видео, дозировки в рецептах.

Что делать в продукте

  1. Не доверять одному вызову. Делать 3–5 запросов и смотреть распределение, а не точку.
  2. Считать CV локально. Если CV между прогонами выше порога — возвращать «не уверен», а не среднее.
  3. Игнорировать confidence-поле. На простых задачах оно почти не несёт информации.
  4. Спрашивать, что модель «видит». Стрит советует отдельным запросом получить описание фото — это ловит грубые ошибки распознавания (паэлья vs ризотто).
  5. Не использовать LLM как автономного советника в задачах с асимметрией риска (медицина, финансы, безопасность). LLM — рекомендатель, решение принимает человек.

Кого выбрать, если уж приходится

Если в продукте уже есть единичный вызов LLM на численную задачу и нет возможности сделать ансамбль — по данным Стрита, единственный приемлемый вариант — Claude Sonnet 4.6. Его CV в 4–5 раз ниже, чем у любой из других трёх моделей.

Это не значит, что Claude всегда точнее в среднем — речь только о стабильности ответа на одной картинке. Точность среднего у моделей сопоставима в пределах ошибки эксперимента; модели расходятся именно на воспроизводимости.

Позиция диабетического сообщества

Британская DTN-UK (Diabetes Technology Network UK, рабочая группа Association of British Clinical Diabetologists) — профессиональная ассоциация эндокринологов и диабет-инженеров — выпустила позицию, что общедоступные LLM (ChatGPT, Claude, Gemini, Copilot) не должны использоваться как автономные советники по дозе инсулина. Использовать их можно только как один из инструментов под контролем врача и при понимании ограничений.

Стрит, который сам диабетик и инженер, в выводах подчёркивает: ИИ помог ему поправить ручной счёт несколько раз, и в этом смысле штука полезная. Но автоматизировать инсулиновую дозу через LLM сегодня — нельзя.

Частые вопросы
1
Это проблема температуры? Если поставить temperature=0, всё стабилизируется?

Нет. Все тесты Стрита проводились на минимальной температуре, и недетерминизм всё равно был. Часть случайности приходит не из сэмплинга, а из того, что forward pass на сервере не batch-invariant: результат для запроса зависит от того, в какой batch он попал, и кто ещё в этот batch попал. Это аппаратное свойство инференса, температурой его не убрать. Подробности — в разборе Thinking Machines.

2
А если модель видит миллиметровую разметку или весы — она же должна стабилизироваться?

На контролируемых сценах с эталоном CV действительно падает. Но в реальных пользовательских фото (тарелка, телефон, естественное освещение) — нет. Эксперимент Стрита тестирует именно реалистичные условия, не лабораторные.

3
Что лучше — спросить ИИ один раз или у пяти моделей по разу?

Лучше пять раз у одной — это даёт оценку CV для конкретного входа и среднее с меньшим шумом. Микс из разных провайдеров поверх одного входа добавляет систематическую ошибку: у моделей разные смещения, и среднее по разным моделям не имеет физического смысла. Стрит советует один провайдер, ансамбль из 3–5 запросов и контроль CV.

4
Это применимо к моему продукту, если я не считаю калории?

Если ваш продукт извлекает число из картинки через LLM — применимо. Подсчёт объектов, измерения, оценки, OCR-замена — все эти задачи демонстрируют тот же недетерминизм. Текстовые задачи (классификация, экстракция полей из текста) обычно стабильнее, но и там стоит мерить CV для критичных полей.

5
Какая модель безопаснее для общего применения?

По данным эксперимента — Claude Sonnet 4.6 с большим отрывом по стабильности. Для продакшна рекомендация: 3–5 параллельных вызовов к выбранной модели + детектор разброса, не одиночный вызов.

Главный вывод

Эксперимент Стрита — первый известный нам случай, когда недетерминизм LLM на простой задаче измерен в публичном сетапе с большим N. Цифры неудобные: даже у Claude Sonnet 4.6 — лучшей модели в тесте — CV в 2,4% означает, что при нормальном распределении один из тридцати ответов будет за пределами одного стандартного отклонения от среднего. В задачах с асимметрией риска (медицина, финансы, инфраструктура) этого хватает, чтобы инструмент был непригоден как автономный.

Для разработки это не аргумент против ИИ — это аргумент за ансамблирование, измерение CV и явное признание того, что LLM возвращает распределение, а не точку. Промпт «верни число» и одиночный вызов API — это иллюзия точечного ответа поверх случайной выборки.

Ссылка на полное исследование с графиками и сырыми данными — блог Diabettech. Если у вас есть продакшн-фича, в которой LLM возвращает число, — повторите методику на десяти типичных входах за один вечер. Скорее всего, вы найдёте свой эквивалент паэльи.