Depository of News

Шесть мест, где за два месяца в проде ломался LLM-конвейер над лентами закупок, и почти все вне промптов

newsdepo.com · world

<p>У нас есть внутренняя система, которая ищет закупки под профиль сервисной ИТ-компании. Раз в час она читает ленты 14 закупочных площадок через платный агрегатор (сервис, который собирает извещения о закупках с сотен площадок), ещё две площадки читает напрямую и реже. Каждое извещение проходит детерминированный фильтр по названию, для новых записей, прошедших фильтр, система заводит карточку закупки, запись у себя в базе, и дешёвая LLM ставит по карточке вердикт. Этот шаг мы зовём предскорингом. Для тендеров-кандидатов система выкачивает документацию, далее средняя LLM собирает из файлов единый текст технического задания и затем оценивает закупку по 18 критериям с обоснованиями: 14 критериев считает LLM, 4 считает код. Решение «идём или нет» принимает человек на гейте - точке, дальше которой без него ничего не происходит. Тендерные заявки тоже подаёт человек.</p><p>В системе используется 3 разных LLM, ниже я зову их «дешёвой», «средней» и «старшей». Дешёвая - это Claude Haiku 4.5, средняя - Claude Sonnet 5, старшая - Claude Opus 5, она собирает коммерческое предложение и в этой статье почти не участвует. Всё, что LLM получают и отвечают, пишется в трассу, полный лог каждого обращения с токенами и длительностью, и большинство чисел ниже взяты из неё.</p><p>С первого живого прогона с начала июля по начало сентября наша тендерная система завела 4 452 карточки закупок, 3 890 из них отфильтровала ступень предскоринга (то есть жёсткие правила и дешёвая LLM вместе). В статусе тендера-кандидата побывали 580 карточек закупок, 61 из них жёсткие правила задним числом вернули в отсев, они включены в те же 3 890, а ещё 43 карточки закрыты вручную из других статусов или заведены вручную сразу тендерами-кандидатами, минуя предскоринг. Также 198 отклонил человек на гейте, 270 закрыл человек, как отменённые или просроченные, до решения по существу, 23 стали заявками, 18 ждут решения на 6 сентября, ещё 10 в прочих статусах, от четырёх нынешних кандидатов до одной проигранной. Еще из важного: 75% отказов человека по всей базе имеют код «не наш профиль» (это слабость дешёвой ступени, которую мы держим сознательно, к ней вернусь ниже). К началу сентября журнал разработки насчитывал почти 300 записей, большая их часть - про то, как тендерный конвейер ошибался в проде.</p> <a href="https://habr.com/ru/articles/1078926/?utm_source=habrahabr&amp;utm_medium=rss&amp;utm_campaign=1078926#habracut">Читать дальше &amp;rarr;</a>

Read full article →