Руководитель отдела разработки: 15 лет в 1С · tezbase.kz
Добавлю поломку, которая проходит мимо и ретраев, и фоллбэка: модель отвечает 200, текст выглядит валидным, а JSON внутри обрезан на середине. На длинных пачках это регулярная история, и tenacity здесь бессилен — ошибки-то нет. Лечится не роутером, а контрактом: ограничить размер пачки и считать «распарсилось, но неполно» полноценным сбоем, который уходит в повтор с меньшей пачкой.
И арифметика, которая нас в своё время отрезвила. Пилот мультимодальной классификации на 1622 фото уложился в бесплатный тариф, а весь массив на платном ключе вышел в единицы долларов. То есть связка из трёх бесплатных ключей поддерживалась ради экономии, которой нет: у пет-проекта самый дорогой ресурс — время на обвязку. Бесплатные ключи хороши как страховка от простоя провайдера, но как способ сэкономить деньги они почти всегда убыточны.
Отвечу на вопрос в конце. Первой отдали бы не текст, а разметку данных — там экономия считается в деньгах, а не в ощущениях.
У розничного клиента с ювелирным ассортиментом одна модель товара жила в учётке десятками карточек: один дизайн существовал 180 раз, и отчёт по остаткам не собирался в принципе. Мультимодальная модель сгруппировала товары не по названиям, а по фотографиям: 1622 фото свелись в 289 групп. Тот же объём руками оценивали в 2,5 месяца работы человека.
Метрика была не «сэкономили N часов», а доля результата, принятая без правок: первые сотни карточек проверяли сплошь, дальше выборочно. Спорные позиции складывали в отдельный список — это и есть честная цена вопроса, её видно и можно предъявить.
И ровно ваш пункт про «не выдумывать»: то, что уже есть в учётной системе (металл, проба, размер), в промпт «на угадай» не отдаём — подставляем из реквизитов. Иначе модель уверенно врёт правдоподобными числами, а проверка съедает всю экономию.
Самое интересное здесь — MCP-коннекторы. Мы этот путь прошли на учётных системах: подключили 1С к модели через MCP и получили ровно тот эффект, о котором говорят. Только узкое место оказалось не в модели.
Агент полезен ровно настолько, насколько чисты данные. Если одна и та же позиция живёт в справочнике 180 карточками, никакой «Финансист» из этого отчёт не соберёт. У нас разбор 1 622 фотографий в 289 товарных сегментов занял вечер работы модели вместо примерно 2,5 месяцев ручной — но перед этим ушло время, чтобы данные вообще стали пригодны для машины.
И «важные действия требуют подтверждения» — не галочка комплаенса, а рабочая необходимость. Читать данные агенту можно давать широко, писать в учётную систему — узко и через человека: одна галлюцинация, уехавшая в проводки, стоит дороже всей экономии на рутине.
Самое интересное здесь — MCP-коннекторы. Мы этот путь прошли на учётных системах: подключили 1С к модели через MCP и получили ровно тот эффект, о котором говорят. Но узкое место оказалось не в модели.
Первое: агент полезен ровно настолько, насколько чисты данные. Если одна и та же позиция живёт в справочнике 180 карточками, никакой «Финансист» из этого отчёт не соберёт. У нас разбор 1 622 фотографий в 289 товарных сегментов занял вечер работы модели вместо примерно 2,5 месяцев ручной — но перед этим ушло время на то, чтобы данные вообще стали пригодны для машины.
Второе: «важные действия требуют подтверждения» — не галочка комплаенса, а рабочая необходимость. Всё, что пишет в учётную систему, должно проходить через человека: одна галлюцинация, уехавшая в проводки, стоит дороже всей экономии на рутине. Читать данные агенту можно давать широко, писать — узко и с подтверждением.
В 30–50 % рутинных задач верю. Только это именно рутина: ответственность за результат остаётся на человеке, и её агентом не закроешь.
Подпишусь практикой: построил личную платформу валидации стратегий с гейтом ровно из этого списка — walk-forward, Deflated Sharpe с учётом числа испытаний, блочный бутстрап. Из 231 кандидата не прошёл ни один, включая красавицу с in-sample Sharpe 1.49. Про число испытаний отдельно подтверждаю: у меня счётчик попыток растёт вместе с гридом (30 → 48 → 96 → 120), и при моём объёме данных для прохождения DSR кандидату нужен честный Sharpe примерно 1.7+ — всё ниже неотличимо от удачи. Самое ценное, что даёт такой гейт: гипотезы умирают за вечер и с некрологом, а не живут годами в просаженных депозитах. «Разрыв не про интеллект, а про дисциплину» — в цитатник.
Согласен, и добавлю деталь, которая нам стоила одного испорченного прогона: идентификатор в манифесте должен быть ваш — ключ строки из учётной системы, а не порядковый номер, который присвоила модель. На повторе хвоста она нумерует заново с единицы, и склейка молча съезжает: ошибок нет, данные есть, а описания стоят не на тех товарах.
Второе, что делает манифест по-настоящему рабочим, — идемпотентная склейка: результат кладём в словарь по этому ID, повтор перезаписывает, а не добавляет. Модель периодически возвращает один элемент дважды, и без этого догон хвоста плодит дубли.
По деньгам, кстати, выигрыш там небольшой: на нашем массиве догон хвоста экономил не бюджет, а время и возможность продолжить упавший на середине прогон с места остановки. Для пет-проекта это и есть разница между «доделал вечером» и «забросил».