Мой блог
Как я перестал верить нейросетям и создал систему Zero-Trust для юридических документов
Подробности изложены в материале первоисточника. Современные визуальные языковые модели способны безупречно структурировать скан любого исполнительного листа, однако слепо доверять их выводам нельзя. В практике автоматизации юридического документооборота я неоднократно сталкивался с ситуациями, когда ИИ уверенно возвращает несуществующий ИНН с идеальным форматированием или вымышленные финансовые суммы, помечая результат максимальным уровнем качества. Чтобы исключить подобные фатальные ошибки, я разработал специальный конвейер для обработки и верификации первичных документов перед выгрузкой в учетные системы.
Этот проект вырос из производственной необходимости автоматизировать разбор разнородных бумаг: от судебных приказов и постановлений ФССП до договоров и накладных. Вместо того чтобы полагаться на стопроцентную точность искусственного интеллекта, я выстроил архитектуру по принципу Zero-Trust, где модель выступает лишь в роли чернового помощника, а строгие алгоритмы берут на себя всю детерминированную проверку.
Архитектура конвейера и принципы работы
Созданный мной инструмент представляет собой модульный комплекс на Python, который принимает на входе PDF-файлы или графические сканы, а на выходе формирует верифицированные реестры для последующей интеграции с 1С и Excel. Архитектура изначально проектировалась с учетом жестких требований информационной безопасности: вся обработка происходит исключительно внутри закрытого корпоративного контура без отправки конфиденциальных данных во внешние облачные сервисы.
Программное ядро поддерживает работу с девятью базовыми типами документов «из коробки», причем каждый формат реализован в виде изолированного плагина. Это позволяет легко расширять систему новыми шаблонами без изменения базовой логики. В качестве движка распознавания может использоваться любая доступная модель через стандартный OpenAI-совместимый API, что позволяет бесшовно переключаться между локальными инсталляциями вроде Ollama и корпоративными шлюзами.
Четыре рубежа обороны: как работает верификация
Главная ценность разработанного пайплайна заключается не в самом OCR-распознавании, а в многоуровневой системе проверки извлеченных данных, которая состоит из четырех защитных стен.
Первая стена: контрольные разряды и математика
На первом этапе алгоритмически проверяются все ключевые реквизиты: ИНН юридических и физических лиц, СНИЛС, ОГРН, банковские БИК и двадцатизначные расчетные счета по стандартам Центрального банка. Если нейросеть «прочитала» красивый, но несуществующий номер, математический модуль отсекает его до того, как он попадет в финансовую отчетность. При этом код учитывает реальные исторические нюансы и исключения, например, специфику старых номеров СНИЛС или специальные казначейские счета, чтобы избежать ложных срабатываний.
Вторая стена: арифметика и юридические лимиты
Второй рубеж контролирует логику сумм и соответствие действующему законодательству. Система не просто складывает числовые показатели с определенным допуском, но и проверяет хронологию дат, а также строгие лимиты удержаний. Сюда заложены процентные ограничения из законов об исполнительном производстве и трудового кодекса, а также сложные юридические исключения, например, отсутствие процентных потолков при возмещении вреда здоровью.
Третья стена: кросс-модальный гейт против галлюцинаций
Для предотвращения смысловых искажений используется кросс-модальная сверка структурированных полей модели с исходным текстовым слоем документа. Модуль понимает особенности грамматики русского языка: он корректно сопоставляет склонения фамилий в тексте постановления с именительным падежом в структуре данных, а также проверяет совпадение числовых сумм, исключая фатальные ошибки масштабирования, когда порядок цифр искажается в десять раз.
Четвертая стена: честные статусы и контроль исключений
Завершает цепочку строгая таксономия статусов достоверности. Система никогда не маркирует документ как безупречно правильный, если не прошли все проверки. Оператор получает четкое разделение на чистые записи для автоматического импорта в учетные системы и проблемные кейсы, требующие ручного вмешательства. Специальные коды возврата CLI и интеграция через JSON-RPC позволяют встроить проверку в любые внутренние ИТ-процессы компании.
Практические результаты и метрики качества
Тестирование конвейера на специализированном детерминированном стенде показало высокую надежность подхода. Метрики ложных срабатываний подтверждают прямую зависимость между качеством исходного скана и объемом документов, требующих проверки человеком. На чистых материалах алгоритм практически не дает ложных тревог, в то время как зашумленные сканы автоматически перенаправляются на ручной контроль оператора, предотвращая попадание ошибок в финансовый банк.
Отдельное внимание в проекте уделено качеству кодовой базы: написано несколько сотен автоматических тестов с высоким уровнем покрытия, поддерживаются строгие стандарты линтеров, реализована атомарная запись артефактов и надежное маскирование конфиденциальных данных в системных логах. Такой подход позволяет надежно фиксировать каждый устраненный баг и предотвращать регрессии при обновлении базовых языковых моделей.
