"Финал и подкапотные подробности истории со спасением проекта. Дни 6 и 7 __Итак, подходит deadline сдачи проекта (Дни ____1____, ____2____, ____3____, ____4____, ____5____).__ 7:19 __SGR Team__: Выгрузку прислать не можем! Пайплайн вылетел ночью на неожиданных данных. Добавили try catch, больше параллелизма и запустили доделывать. 8:49 __SGR__: 27k сущностей, где-то 1k не хватает. 9:28 __SGR__: У нас не хватает несколько сотен сущностей, есть три категории ошибок: (1) в 20 сущностях у нас нет ссылок на документы. __Pipeline__ - чините! (2) агент не может написать код инструмента в пайплайн (3) есть классы документов с несколькими PDF. На такое мы были не готовы Договариваемся, что eval team добавит новые три сущности в ground_truth (по одной на категорию ошибок). Это и новые документы в GT и очень неприятные кейсы в целом. 10:03 __SGR__: Третий класс ошибок исправлен 10:30 __SGR__: Второй класс ошибок исправили. Пришлось разрешить агенту адаптироваться. 11:50 __SGR__ присылает выгрузку на 27407 сущностей. 12:48 __Pipeline__ присылают фикс на последнюю категорию ошибок 14:11 Передаем клиенту данные на независимую проверку. Точность 83.8%(Карта ошибок в комментариях). Следующий день 13:24 __PM__ говорит, что команда клиента взяла 25 случайных продуктов и вручную сравнила наши данные с ожидаемыми. Они нашли **4 ошибки среди 25*60 полей Может, нам повезло с выборкой, может клиент тестировал не очень внимательно (на приемке, ага), может __eval team__ просто собрали такой хардкорный датасет/бенчмарк. Но по факту, команда за 6 дней работы вместе подняла видимую клиенту точность на их выборке с ~60% до 99.7%. Что дальше? А дальше проект может катиться по колее. Процессы поставлены, люди знают, что делать. Добавление еще трех источников документов - не вызывает никаких вопросов. Как добавлять новые edge cases и контроллировать качество - тоже. Причем клиенту завели документ, куда он может добавлять ошибки (обязательно со скриншотами), чтобы потом __eval team__ переносила их в ground truth, а SGR улучшала качество. Те 4 ошибки тоже торжественно занесли в документ. Как оно работает под капотом? Первый промпт: ""__Вот тебе PDF с кучей сущностей. Заполни шаблон анализа закономерностей__"". Да, там два предложения плюс SGR схема на 160 строчек кода (в ней где-то 20 каскадов на 80 полей) Второй промпт: ""__Вот тебе PDF с кучей сущностей и анализ закономерностей. Напиши tool, который сможет разобрать название любого компонента и заполнить специфичные для него поля. Жесткие требования прилагаются.__"" Второй промпт работает как линейный SGR NextStep Agent. Пайплайн берет код полученного инструмента и запускает его. Если же есть проблемы/вопросы - добавляет edge cases в контекст и повторяет попытку. Система сгенерировала 687 инструментов себе в пайплайн, общим размером 109922 строчек кода (или 4.5MB). Этот код не видел ни один человек (только я видел stack traces, когда ставил архитектуру). Размер и качество этого кода не имеют значения, пока у нас есть общий результат работы проекта - точность, скорость и стоимость. (1) Точность работы - 83.8% на бенчмарке из самых сложных кейсов и 99.7% при оценке клиентом. (2) Скорость работы - можно получить результаты за ночь (против 3.5-7 дней раньше). При желании можно и быстрее - выкрутив параллелизм. Лимиты - не проблема. (3) Стоимость работы всего этого комбайна, включая разработку, эксперименты и полные прогоны пайплайна - $26.6 (против $800+ в попытках предыдущей команды). Скриншот расходов OpenAI по дням - в комментариях. Архитектура не является ничем выдающимся - это побочный эффект от решения задачки, которую __eval команда__ оформила в качественный ground truth датасет. В этом проекте мы вложили половину времени - целых три дня - на сбор и запуск тестов. И это позволило получить нужный результат за оставшиеся три дня. По итогам команды говорят, что получился классный тимбилдинг и экспресс-практикум. Даже не против повторения подобного, но без стресса (дней 8 вместо 6). А ведь все начиналось вечность назад как проект, который уже не спасти. Спасибо, что читали эту историю и проживали ее вместе с командой проекта Hail Mary!** Ваш, @llm_under_hood 🤗"