БлогРазбор

Как модель для заказов выбирали за $0,72

Пять моделей, 41 настоящий заказ и один честный подсчёт. Самая дорогая точнее не стала, а самая дешёвая придумывала здания.

Латунные весы на лаймовом фоне. На одной чашке несколько монет, на другой маленькая посылка, чашки стоят ровно.
Содержание
  1. Сначала эталон
  2. Условия одни на всех
  3. Результат
  4. Что стояло за промахами
  5. Вторая модель как детектор ошибок
  6. Что это сравнение не доказывает

В магазине, для которого я делаю Silk Road, заказы приходят в рабочий чат: фото и свободный текст. Их 25–⁠30 в день, в пик около 60. Сотрудник переносил всё руками в программу печати этикеток, а ошибка в одной цифре индекса отправляла телефон за ¥300 000 не туда. Читать это теперь должна модель. Вопрос был в том, какая.

Выбор обошёлся в 72 цента. Лучшая модель стоит три десятых цента за заказ, а самая дорогая из пяти не стала точнее дешёвых.

  • 41настоящий заказ в эталоне
  • 61 %заказов, где адрес есть только на фото
  • 5моделей на одних и тех же данных
  • $0,72цена всего сравнения

Сначала эталон

Сравнивать модели без правильных ответов нельзя, поэтому сначала я собрал 41 реальный заказ за три дня, с 17 по 19 октября. Разметили их четыре агента, по одному на группу полей. Потом скрипт проверил разметку на правила заказчика: 41 из 41 без нарушений. Два самых спорных заказа я дополнительно посмотрел сам. Сырые заказы и эталон лежат только у меня на компьютере, в репозиторий попадают одни обобщения.

Разметка сразу поменяла задачу. В 25 заказах из 41 адреса нет в тексте вообще: он на фото документа или на скриншоте. Значит, модель без зрения мне не подходит, и главный срез сравнения должен быть именно по этим 25 заказам.

Заодно нашлось то, чего я в первых образцах не видел. Точка вместо разделителя тысяч в сумме. Индекс с пробелами или склеенный с адресом. Даты и в виде ДД/ММ, и в виде ММ/ДД в одном чате. Всё это теперь разбирает код и покрывает тестами, модели такое не доверяю.

Условия одни на всех

Один промпт, одна схема JSON, низкий effort, запросы через OpenRouter с запретом на сбор данных: это настоящие адреса и телефоны. Модель только извлекает поля, а правила и форматы остаются за кодом. Подсказка из базы индексов такая же, как в боевом боте. Ответы закэшированы, поэтому пересчитать метрику можно бесплатно.

Метрика жёсткая. Заказ считается верным, только если сошлись сразу все критичные поля: сумма наложенного платежа, телефон, индекс, адрес, имя, слот доставки и тип. Для адреса порог похожести 0,9. Одна ошибка, и заказ не засчитан.

Результат

Модель За заказ Все поля Все поля, фото Адрес с фото В месяц при 30 и 60 заказах в день Секунд на заказ
Gemini 3.8 Flash $0,0033 93 % 96 % 100 % $3 и $6 5,2
Claude Haiku 5.5 $0,0008 90 % 92 % 92 % $0,7 и $1,4 1,9
DeepSeek v4.1 Flash $0,0019 88 % 92 % 92 % $1,7 и $3,4 1,2
Claude Sonnet 5.5 $0,0110 88 % 92 % 96 % $10 и $20 2,4
GPT-6 Luna $0,0005 85 % 80 % 84 % $0,5 и $0,9 1,3

Sonnet на этом прогоне потратил $0,45 из $0,72. За эти деньги он дал 88 %, столько же, сколько DeepSeek, который дешевле почти в шесть раз. Лидеру он проиграл пять пунктов и при этом втрое дороже него.

Gemini выиграла там, где решается всё: адрес с фото она прочитала верно во всех 25 заказах. Она же самая медленная, 5,2 секунды против 1,2 у самой быстрой. В этой задаче я плачу за точность, скорость мне важна меньше. И в таблице у неё есть пометка: с 2027 года цена вырастет вдвое.

Что стояло за промахами

Проценты сами по себе мало что объясняют. Важнее, как именно модель ошибается, потому что разные ошибки ловятся по-разному.

  • Один заказ сломал всех. Покупатель ошибся в цифре индекса, и все пять моделей честно переписали как в подписи. Это работа кода: он сверяет индекс с базой и предлагает исправление.
  • Два заказа спорные сами по себе. В одном слот доставки обрезан на 19-, и модели дописывают его до 19-21. В другом написание здания спорное. Строго говоря, это вопросы к эталону. Вместе с тем индексом это как раз три промаха Gemini, своих ошибок у неё на этом наборе нет.
  • Haiku теряет здание и комнату с фото и убирает пометку юрлица из имени.
  • DeepSeek один раз выдал мусор: сумма 5 и пустой индекс. Сбой разовый, у одного провайдера, два повтора из трёх были верны. Ещё он потерял адрес из подписи и перепутал здание с комнатой.
  • GPT-6 Luna придумывает названия зданий с фото. Самая дешёвая модель в таблице и единственная, которую я считаю опасной: выдуманное здание выглядит как обычный адрес, и в списке оно не бросается в глаза.

Вторая модель как детектор ошибок

Когда две модели разных вендоров разбирают один заказ и результаты сравниваются, расхождение само показывает, куда смотреть. Это дешевле, чем надеяться на одну модель, и честнее: человек получает только спорное.

Пара Совпали На проверку Пропущено
Gemini и DeepSeek 35 из 41 6 3: индекс чинит код, один случай оказался расхождением нормализации в самом подсчёте, один спорный эталон
Gemini и Haiku 34 из 41 7 2: индекс чинит код, заказ с депозитом и так всегда идёт человеку

По цене и точности просилась Haiku, в рекомендации сравнения стояла она. Я оставил вторым голосом DeepSeek. Его мусорный ответ ловит проверка валидности и повторный запрос, а модели в системе остаются настройкой: заменить любую можно без правки кода.

Сверху стоит код, и он важнее выбора моделей:

  1. Сумма должна быть больше нуля и выглядеть разумно, индекс должен иметь 7 цифр и быть в базе. Не прошло, значит повтор запроса.
  2. Индекс исправляется по базе, а не по мнению модели.
  3. Перевод с одним депозитом всегда идёт на проверку человеку.
  4. Разошлись модели, значит жёлтый статус: этикетка не печатается, пока человек не подтвердит.
Демо на вымышленных данных: заказ без индекса уходит сотруднику и после ответа становится зелёным.

Что это сравнение не доказывает

Зато теперь понятно, сколько это стоит в работе: $3–⁠6 в месяц за распознавание плюс вторая модель. Таблица устареет с первой же новой моделью. Эталон останется, и следующую модель можно прогнать через те же 41 заказ за те же центы.

Умар Турсунов

Нейрокреатор

Собираю с нейросетями приложения, сайты, программы, ботов и драйверы. От идеи до работающего продукта.

Обсудить задачуОбо мне

Silk Road

Бот, Mini App и панель

Заказ из чата становится этикеткой

Фото и свободный текст из рабочего чата становятся строкой для печати этикеток. Всё сомнительное проверяет человек.

  • Telegram
  • Mini App
  • Панель
  • 93 %заказов без ошибок в полях
  • $0,0033за распознавание заказа
  • 220автотестов