Платформа агентных процессов для онбординга зданий
Opus Magnum — платформа онбординга зданий на базе ИИ, созданная для UMHackathon 2026 в направлении AI Systems & Agentic Workflow Automation. Она превращает городскую бумажную работу по зданию в один пошаговый процесс: ИИ-модель читает документы, которые подаёт владелец, проверяет их по правилам конкретного города, указывает на противоречия и, когда всё проходит проверку, публикует здание как публичную 3D-карточку. Здания — лишь демонстрационная область: движок подходит для любого регулируемого онбординга — от поставщиков до лицензий.
Мы сделали его за три дня в команде из пяти человек. Код распространяется по лицензии Apache-2.0 и открыт на GitHub, а питч-видео выложено на YouTube.
Три роли, один движок
- Администратор города — создаёт шаблоны онбординга в интерфейсе; модель набрасывает стартовый шаблон по описанию в одну строку и по запросу объясняет любое поле.
- Владелец здания — проходит процесс, заданный городом, заполняет формы и загружает документы двух видов: документы о соответствии нормам для проверки, которые никогда не показываются публично, и контентные документы для карточки. Затем он разрешает противоречия и публикует здание.
- Посетитель — просматривает опубликованные здания в 3D-сцене и задаёт вопросы ассистенту, который отвечает только по контентным документам владельца.
Ключевые возможности
- Шаблоны как данные — процесс представляет собой упорядоченный список из шести примитивов: заполнение формы, загрузка документов о соответствии, загрузка контента, перекрёстная сверка, проверка человеком и публикация. Город с более строгими требованиями просто добавляет шаги — например, отдельные загрузки документов по пожарной безопасности, зонированию и праву собственности.
- Процессы с возобновлением — шаблоны компилируются в
StateGraphLangGraph с чекпойнтером, поэтому владелец, который ушёл посреди процесса, продолжит с того же шага. - Проверка с обоснованием — модель извлекает поля из каждого документа и оценивает их по критериям города, выдавая вердикт и доказательства по каждому критерию; если шаг не пройден, он возвращается к повторной загрузке.
- Сверка между документами — противоречие, например разное число этажей в форме и на поэтажном плане, ставит процесс на паузу с объяснением.
- Журнал решений — каждый вызов модели записывается в журнал шага, чтобы любое решение можно было проверить.
- Живая схема процесса — владелец наблюдает за своим процессом в виде графа React Flow, пока каждый файл проходит разбор, извлечение данных и проверку, — обновления приходят через Server-Sent Events.
Архитектура и технологический стек
Бэкенд — FastAPI и Pydantic с SQLAlchemy поверх Postgres в продакшене и SQLite при разработке. Модель — ilmu-glm-5.1: её вызывают через OpenAI SDK по OpenAI-совместимому API ILMU, в JSON-режиме и с инструментами (function calling) для черновиков шаблонов, извлечения данных из документов, проверки по критериям, перекрёстной сверки, сводок для проверяющего и ответов посетителям.
Обработка отделена от рассуждений: PDF с текстовым слоем идут через pypdf, а для сканов используется Tesseract OCR. Первая же проверка возможностей показала, что на запросы с изображениями модель отвечает только текстом, поэтому базовым способом стал OCR, а не компьютерное зрение модели.
Фронтенд — Next.js 16.2 с React 19.2, TypeScript, Tailwind CSS 4 и shadcn/ui, React Flow для схемы процесса и react-three-fiber с drei для 3D-страниц зданий. Pytest покрывает компиляцию шаблонов, граф процесса, HTTP-сценарии, обработку документов и смоук-тест с живой моделью. Стек разворачивается одним Render Blueprint с Postgres, бэкендом и фронтендом и при запуске заново наполняет демо-город данными.
Демо-сценарий
Администратор создаёт город Шах-Алам и просит модель набросать шаблон по одному предложению. Затем владелец проводит онбординг демо-башни: сертификат пожарной безопасности с неверным адресом отклоняется с понятным объяснением, исправленный проходит, несовпадение числа этажей ловится на перекрёстной сверке, а опубликованное здание открывается в 3D, где посетители могут задавать вопросы.
Наша роль
Мы вели бэкенд и интеграцию ИИ: клиент модели и схемы инструментов, базу данных и стартовые данные, движок LangGraph и его примитивы, пайплайн обработки документов и OCR, а также деплой. Вместе с командой мы делали интерфейсы администратора, владельца и посетителя и написали содержание сданных документов по требованиям, системному анализу, архитектуре и QA.
Смежные работы
Ещё одну систему, где ИИ работает внутри строгих шагов проверки, смотрите в кейсе Keystone. Opus Magnum — часть нашей работы по внедрению ИИ и автоматизации и разработке веб-приложений.



