Как ИИ ускорил аудит тендеров с 4–6 часов до 5 минут: технический разбор
SaaS-платформа, которая анализирует тендерную документацию на 500+ страниц за 5 минут вместо 4–6 часов. Разбираем архитектуру: map-reduce пайплайн, транзакционный Outbox, RabbitMQ и антивирусную проверку файлов.
Аудит тендерной документации — это то, что специалист по закупкам делает часами: читает конкурсную документацию, ищет риски, несоответствия требованиям 44-ФЗ и 223-ФЗ, сверяет сроки и условия. Мы построили SaaS-платформу, которая делает это за 5 минут. Разбираем, как она устроена изнутри.
Главная техническая проблема: лимит контекста
У языковых моделей есть жёсткое ограничение: весь документ целиком «не влезает» в контекст. Документация на 500+ страниц — это миллионы символов. Решение, которое мы применили, называется map-reduce: разбить задачу на части, обработать параллельно, потом собрать результат.
- Документ нарезается на «суперчанки» примерно по 9,5 тыс. символов — с перекрытием, чтобы не терять контекст на стыках.
- Каждый чанк обрабатывается параллельно через API модели Gemini 2.5 Flash Lite: извлекаются риски, несоответствия, условия.
- Промежуточные результаты собираются и обобщаются в финальный структурированный отчёт по всей документации.
Сравнение: ручной аудит vs первичный скоринг в AI-Analyze
| Этап аудита | Ручной разбор специалистом | Первичный аудит в AI-Analyze |
|---|---|---|
| Вычитка 100+ страниц ТЗ | 4 – 6 часов монотонного чтения «от корки до корки» | 2 – 5 минут на параллельный чанкинг и вывод условий |
| Поиск скрытых штрафов и неустоек | Риск упустить мелкий шрифт в примечаниях из-за усталости | Сплошное сканирование 100% текста с цитатой и ссылкой на лист |
| Обработка тяжелых ZIP/RAR архивов | Ручное скачивание, распаковка и поиск нужных файлов на диске | Автоматическая распаковка на сервере и пакетная подача в очередь |
| Сверка с возможностями компании | Ручной поиск выписок, созвоны с юристами и бухгалтерией | Мгновенный скоринг по профилю: возраст юрлица, ОКВЭД, СРО, лицензии |
| Итоговый вердикт (Go / No-Go) | Специалист тратит полдня до того, как наткнется на стоп-фактор | Точечная верификация юристом (Human-in-the-Loop) за несколько минут |
Надёжность под нагрузкой: транзакционный Outbox
Когда сотни пользователей загружают документы одновременно, нельзя терять задачи. Мы реализовали транзакционный паттерн Outbox: задача сначала фиксируется в базе данных в одной транзакции с изменением, а затем гарантированно доставляется в очередь RabbitMQ. Если доставка падает — задача не теряется, а повторяется. Это избавляет от классической проблемы «запись в БД есть, а обработка не запустилась».
Безопасность файлов
Перед тем как документ попадёт в ИИ-пайплайн, он проходит антивирусную проверку (ClamAV). Поддерживаются форматы PDF, DOCX, TXT, а также распаковка ZIP/RAR-архивов. Ни один загруженный файл не обрабатывается без проверки.
Экосистема продукта
- Chrome-расширение: проверка страниц электронных торговых площадок (ЭТП) прямо в браузере.
- Веб-интерфейс: загрузка файлов, отчёты, история проверок.
- Готовые сценарии под 44-ФЗ и 223-ФЗ.
Технологический стек
Python 3.13, FastAPI, PostgreSQL, Redis, RabbitMQ, Taskiq (асинхронный планировщик задач), Gemini 2.5 Flash Lite, ClamAV. Такой стек позволяет масштабироваться: очередь можно расширять горизонтально, а пайплайн — адаптировать под другие типы документов и отраслей.
Секрет скорости не в «магическом ИИ», а в правильно спроектированном конвейере: параллельный чанкинг, очереди задач, транзакционная надежность и принцип Human-in-the-Loop — система находит зацепки и страницы, а финальное решение принимает специалист.
Живой пример нормализации сложных сканов ТЗ и сопоставления требований с профилем компании вы можете посмотреть в нашем кейсе: [Кейс Analyze-Tender.ru](/cases/tender).