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

Содержание
В магазине, для которого я делаю 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. Его мусорный ответ ловит проверка валидности и повторный запрос, а модели в системе остаются настройкой: заменить любую можно без правки кода.
Сверху стоит код, и он важнее выбора моделей:
- Сумма должна быть больше нуля и выглядеть разумно, индекс должен иметь 7 цифр и быть в базе. Не прошло, значит повтор запроса.
- Индекс исправляется по базе, а не по мнению модели.
- Перевод с одним депозитом всегда идёт на проверку человеку.
- Разошлись модели, значит жёлтый статус: этикетка не печатается, пока человек не подтвердит.
Что это сравнение не доказывает
Зато теперь понятно, сколько это стоит в работе: $3–6 в месяц за распознавание плюс вторая модель. Таблица устареет с первой же новой моделью. Эталон останется, и следующую модель можно прогнать через те же 41 заказ за те же центы.
Умар Турсунов
Собираю с нейросетями приложения, сайты, программы, ботов и драйверы. От идеи до работающего продукта.
Поделиться

Silk Road
Заказ из чата становится этикеткой
Фото и свободный текст из рабочего чата становятся строкой для печати этикеток. Всё сомнительное проверяет человек.
- 93 %
- $0,0033
- 220