Сервис проверки санкций своими руками. Прогресс LLM на примере одной бизнес-задачи
3 года я мечтал сделать агрегатор санкционных листов. Они существуют в разном виде - дорогие lexisnexis и worldcheck, несколько бесплатных, ограниченных в коммерческом использовании, но для определенной задачи мне нужен был свой.
Несколько раз я подходил к этой задаче и плакал - самих списков в мире очень много. Это в новостях говорят "США ввели санкции" и кажется, что это супер-просто, но даже в США этих списков больше десятка: OFAC SDN, OFAC Non-SDN, Department of State Terrorist Organizations, DoD Chinese Military Companies, чего только нет...
Но при этом задача важная - если Вы отправляете SWIFT-перевод и у Вас есть тёзка в стоп-листах, то перевод может затянуться до пары месяцев. А если банк-отправитель вовремя не ответит на доп запрос (или Вы сами прощелкаете пуш в мобильном приложении), то можно и вообще влететь на необходимость получения лицензии какого-нибудь ведомства, вроде OFAC.
В чем сложность со списками?
Всего в мире списков более 300 (!!). Почти каждый из них публикуется в своём формате. Где-то это XML, где-то CSV, где-то просто на сайте выложили, а кто-то прошаренный и делает REST API. Разобрать формат каждого из этих списков - потребуется год, не меньше.
Год работы хорошего программиста - это сколько? $150k с налогами? Ну даже если представить, что он будет волшебным - не будет говорить, что вот здесь задача фронт-энда, здесь нам нужен хороший devops и т.д.
Отбить $150k на этой задаче будет сложновато. Заменить в банках lexisnexis и worldcheck не получится - банки сейчас чувствуют себя хорошо и экономить ради сомнительного решения силами одного программиста никто не станет. В итоге надежда на коммерсов, у которых тоже свои проверенные поставщики услуг (какой-нибудь спарк-интерфакс в каждой стране есть).
То есть пройдёт год, потратишь $150k, не будешь уверен, что программиста можно отправить на свободные хлеба - вдруг что-то сломается, новые списки появятся, новые задачи, которые просят у тебя существующие 2 клиента, а окупаемость всё ещё не настала. Такая вот пессимистичная картинка, когда делаешь проект за свои деньги, а не за инвесторские. С инвестором понятно, что мы захватим быстро мир...
Первый опыт реализации с LLM
Когда LLM модели немного подросли до сносного программирования, я вспомнил про эту задачку и решил попробовать. Начать я решил с SDN списка OFAC - он всё-таки самый известный и сразу же всё разрушилось - я сам ничего не понял в XML'ке, попробовал скормить XSD описание в LLM и оно банально не влезло в контекст.
85 кбайт занимает только описание структуры, 1693 строчки. Уровень IQ на этом "бенчмарке" у нас оказался с LLM моделями одинаковый - вроде по-отдельности даже что-то понимаешь, но как между собой связаны все эти сущности - не ясно. Все основные модели провалились. Хочется добавить здесь какую-то дату, но, честно говоря, я не помню - допустим год назад.
Claude code, наше время
Очередной заход я сделал буквально неделю назад. В этот раз я вооружился подпиской на Claude Code за $100 в месяц. Я скачал XSD описание и вбил какой-то нехитрый промпт (как там кстати эта тема, еще есть курсы по промптингу?)
На удивление с первого же раза у нас получилось что-то работоспособное. То есть 3 года я не мог это сделать, а тут чудо случилось за один час (!)
За недельку я отладил эту штуку, загрузил с десяток других стоп-листов, убедился, что ежедневное обновление более-менее стабильно работает и получился бесплатный поиск по санкционным спискам. Ну а что Вы думали - ради этой SEO-ссылки с хорошим "якорем" я и писал эту заметку.
После того как я рассказал о новой фиче в телеграм-канале для тех, кто мониторит санкции и международный банкинг, я сразу получил кучу запросов, так что пока богатым я не стал (ждите следующую статью с фотками с личной яхты), но и точно не зря
Какие выводы?
Пока большая часть мира живёт в состоянии "да ничего не поменялось" - дети читят в школе с домашкой, взрослые читят в офисных коридорах, симулируя в переговорках интеллект, вот и весь ИИ, о котором столько шума.
Можно было бы сказать, что теперь миллиардную компанию можно создать за ночь, но, будем объективны, с примером выше, максимум lexisnexis сократит со временем половину персонала - банки и через 10 лет будут пользоваться их дорогими плохими продуктами. Просто потому что они могут себе это позволить (если кризис не ударит, конечно).
Но есть два смежных интересных юскейса:
1. Solopreneurship. Если у вас рождаются бизнес-идеи, то вы теперь можете реализовать их не через ангельские инвестиции в миллион долларов, сбор технической команды, которая будет с важным видом рассаживаться месяц на стульях и уточнять какие бесплатные орешки в вашем стартапе выдают, вы можете всё протестить самостоятельно за неделю. Бюджет - $100 / месяц.
2. Софт "под себя" на одну задачу. Один из наиболее ярких примеров - я в этом году первым опубликовал состав 19-го пакета санкций ЕС. Первее всяких reuters'ов, интерфаксов, санкционных юристов и прочих "конкурентов". Я попросил claude написать парсел для RSS ленты официального сайта с законодательными актами ЕС и проверять раз в минуту.
Это пример задачи, которую невозможно аутсорсить. Ну, в смысле, даже смысла никакого нет. Ну что я с этого получил? +200 подписчиков? ачивку среди других телеграм-криэйторов? Дольше искать человека, кто это сделает, объяснять ему задачу, тестить... А тут буквально 30 минут времени и относительно сложная техническая задача решена.
Эта "программа" не будет больше использоваться. Если выйдет 20-й пакет санкций и я захочу опять всех победить, я тупо попрошу ещё раз написать - даже искать предыдущую в этом смысле сложнее. Это одноразовая автоматизация под себя.
И таких задач очень много. Зайдите в бухгалтерию, кадры, любую другую офисную дверь. Там есть какая-нибудь задача, которая съедает 2-4 часа времени один раз в месяц. Её никто не будет никогда автоматизировать - это не отобьется. Зато как улучшится качество жизни бухгалтера - можно чаи гонять или обсуждать с коллегами перегретые зарплаты программистов...