🗺 Data Atlas под капотом: как это работает и где мы уже наступили на грабли
В прошлом посте писали про бизнес-ценность Data Atlas — навигатора в океане данных. В этом разберём техническую сторону: как он устроен, как его вписать в ландшафт дата-платформы, и на какие грабли мы уже наступили.
Не ещё один каталог, а слой понимания
Data Atlas не заменяет каталог данных, а сидит поверх него и документации. В контуре участвуют: Каталог данных (внутренний инструмент) — схемы, витрины, связи, глоссарий Документация (Confluence, методологии, тех. спецификации, прототипы, DAG’и) — документы от вендоров, дополнительный контекст LLM (внутренняя модель) + LangChain — слой смысловой обработки и оркестрации
Data Atlas делает три базовых шага: 1. Парсит и извлекает структуру из уже существующих артефактов 2. Семантически режет их на смысловые куски (чанки) 3. Векторизует и строит граф знаний
Дальше поверх этого слоя работает агент, который умеет принимать запрос на человеческом языке, находить релевантные куски знаний и формировать ответ
На какие грабли мы уже наступили? 🧹 Грабли №1: адский зоопарк форматов Разные команды пишут документацию по-своему, поэтому парсинг — это всегда компромисс. Где-то заголовки нормальные, где-то сплошной текст, где-то таблицы, где-то скриншоты, где-то схемы
Вывод: если нет базовой дисциплины в документации, LLM не спасает. Она ускоряет работу с хаосом, но не превращает его в полный порядок.
🧹 Грабли №2: если чанки делить только по размеру, LLM начинает:
- смешивать определения с примерами,
- терять контекст ссылок,
- переиспользовать лишние детали.
Вывод: нужна кастомная логика разметки (по заголовкам, паттернам текста, типам блоков) — иначе RAG начинает подсовывать мусор
🧹 Грабли №3: пересечения и дубли Термины часто описаны в нескольких местах, иногда с разношерстной детализацией. Векторка видит это как «очень похожие чанки» и начинает таскать их все разом.
Вывод: нужен слой нормализации терминов и приоритезации источников (например, «если есть карточка термина в глоссарии — считаем её master, остальное — доп. контекст»)
🧹 Грабли №4: несоответствие бизнес-языка и схемы Пример — «май N года» vs конкретная дата. Если методология подразумевает работу с месяцем, а витрина хранит ежедневные срезы, система должна:
- Либо агрегировать по месяцу,
- Либо честно сказать: «Нужна уточняющая информация о интересующем вас периоде».
Без этого LLM может уверенно дать красивый, но неверный ответ.
🧹 Грабли №5: ожидание «автопилота» Если изначально продать историю как «AI всё сам опишет», вы получите:
- завышенные ожидания бизнеса,
- разочарование от тех, кто увидит «сырые» тексты,
- сопротивление steward’ов (страх потерять контроль/роль)
Вывод: не заменить людей, а разгрузить от рутинного набивания текстов. Валидация data steward-ом сгенерированных описаний просто необходима