
Разбор · Опубликовали 08.10.2026
Data lineage показывает путь цифры до источника: агенты связывают изменения загрузок с отчётами
Как связать поля отчёта с источниками и изменениями загрузок, проверить ответ ИИ-агента и принять работу подрядчика.
Текст подготовлен машиной агентов под руководством Евгения Шилова · факты проверены 8 октября 2026
Источник тот же, а показатель после правки загрузки другой: Data lineage показывает, через какие поля и преобразования он прошёл. Чтобы проверить причину, эту цепочку связывают с версией кода и пересчётом.
ИИ-агенты могут собрать связи и проверки для такой цепочки. Ниже учебный пример приёмки; собственного клиентского кейса Data lineage у нас пока нет.
Не хотите разбираться сами? Внедряем ИИ в ваш бизнес: задачи без лимита, одна цена в месяц, отмена в любой момент.
1. Для расследования нужны поля, формула и запуск расчёта.
Откуда взялась цифра? Название исходной таблицы даёт только начало ответа. До поля отчёта данные могли пройти через отбор строк и расчёт.
Data lineage описывает этот путь. Можно идти назад от показателя к источнику или вперёд от изменённой загрузки к отчётам, которые она питает.
Карта таблиц слишком крупная для проверки отдельного показателя. Связь «продажи питают отчёт» не объясняет, почему выручка изменилась, а количество заказов осталось прежним.
В цепочке показателя нужны преобразования и запуск.
Редакционная схема приёмки, 08.10.2026, на основе модели OpenLineage и документации dbt. Это требования к разработке, не готовая возможность любого инструмента.
Связь поля не равна доказательству суммы. Граф показывает зависимость. Чтобы объяснить изменение значения, нужны входные данные и выполненный расчёт.
В OpenLineage задача обработки и её отдельный запуск описываются раздельно. К задаче можно приложить местоположение и версию кода. А запуск связать с прочитанными и записанными наборами данных.
Если формула живёт внутри отчёта, путь продолжается до неё. Цепочка, которая заканчивается на таблице витрины, оставляет последний расчёт без проверки.
Что и как мы проверяли
| Факт | Что известно | Проверено |
|---|---|---|
| Что подтверждают документы | OpenLineage описывает задачу, запуск и связи полей. Документация dbt Catalog называет ограничения: карта полей SELECT не отражает их использование в фильтрах и соединениях | 2026-10-08 |
| Что уже делали с LLM | В инженерном блоге Сбера описан агент, который извлекает источники и целевую таблицу из SQL. Связи на уровне полей и сравнение версий кода названы дальнейшим развитием. Числа эксперимента не переносим на наш пилот | 2026-10-08 |
| Что предлагает статья | «Оплаченные продажи» и таблицы приёмки являются учебным примером. Клиентского кейса Data lineage у нас нет; срок, точность и окупаемость внедрения не измерены | 2026-10-08 |
| Что проверяли на своей машине | Перечитаны журналы поломок от 31 июля и 2 сентября 2026. Неполная передача поля не означает, что исчезли обложки; ошибка чтения источника не означает измеренный ноль. Живой /open использован как карта работы, без чисел скорости | 2026-10-08 |
| Наш тариф | Живая страница /services, «Один проект». Одна задача в работе, изменения в репозитории клиента, пауза в любой месяц. Это цена подписки, не оценка стоимости внедрения lineage | 2026-10-08 |
2. Переименование и фильтр меняют отчёт по-разному.
Возьмём учебный отчёт «Оплаченные продажи». В нём сумма собирается из платежей за выбранный период, а статус платежа решает, какие строки попадут в расчёт.
Переименование поля суммы меняет адрес связи. А если в отборе к статусу «оплачен» добавили «ожидает», в отчёт попадут ещё не оплаченные платежи.
Искать только поля, которые участвуют в сложении, недостаточно. Поле статуса не входит в формулу суммы, но от него зависит её результат.
Одна цепочка даёт разные последствия правки.
Учебный пример редакции, 08.10.2026. Последствия перечислены как сценарии проверки, не как результаты замера.
У готового инструмента тоже есть граница. Документация dbt отдельно предупреждает: column-level lineage в Catalog отражает поля SELECT, но не их использование в фильтрах и соединениях. Эти зависимости надо проверять дополнительно.
3. Агент собирает доказательства каждой связи.
Что поручать агенту? В задаче для ИИ-агента нужен проверяемый результат. Здесь это список связей с местом в коде, а не просьба «объяснить данные».
Агент читает загрузки и запросы, находит пути до поля отчёта и готовит проверки. Совпадение названий он должен отмечать как предположение, пока не найдёт присваивание или расчёт.
В инженерном блоге Сбера описан агент, который извлекает источники и целевую таблицу из SQL. Связи на уровне полей и сравнение версий кода автор называет дальнейшим развитием. Такой пример не подтверждает готовую проверку изменения показателя.
Каждую найденную связь принимают с доказательством.
Редакционные критерии приёмки, 08.10.2026. Способ подтверждения выбирается под код клиента.
Автоматический разбор не закрывает любую цепочку. В документации dbt названы ошибки разбора сложного SQL и ограничения Python-моделей. Такой участок остаётся неизвестным до отдельной проверки, даже если соседние связи найдены.
4. Карту обновляют вместе с кодом загрузки.
Однажды нарисованная карта протухает с первой правкой. Это технический долг в описании: код уже считает иначе, а руководитель смотрит на прежнюю цепочку.
Наше предложение для приёмки: в одной правке должны ехать код загрузки, изменение связей и проверка показателя. Версия карты должна позволять найти код, по которому её построили.
Доработку проверяют до запуска и после него.
Редакционная схема, 08.10.2026. Разделение описания и выполнения опирается на JobEvent и RunEvent в OpenLineage.
Приёмка изменений защищает от поломки, но не выбирает определение выручки. Владелец показателя утверждает смысл расчёта, инженер проверяет код; ответственность за ошибки агентов разбирается отдельно.
5. Наши поломки учили проверять поле на всём пути.
Что из этого мы проверяли на себе? Инженер ведёт машину агентов на vibecoding.ru; открытая карта проекта показывает устройство работы и историю изменений. Это наш собственный продукт.
Описание рядом с кодом помогает агенту продолжать работу с проверяемой опорой. А правила для ИИ-агентов полезны, когда изменение поля запускает проверку всех мест, где его передают.
31.07
Поле описания обложки новости терялось на части путей записи: поля перечисляли вручную. Передачу полей свели в одну функцию и добавили проверку, что пути используют её. Это случай неполной передачи поля, не доказательство пропавших обложек.
02.09
Страница источника оборвалась, а сборщик записал ноль вместо ошибки. Добавили повторное чтение и отказ публиковать такой провал сигнала. Ошибка чтения больше не должна выглядеть как измеренное отсутствие.
Записи журналов машины от 31.07 и 02.09.2026, перечитаны 08.10.2026. Публичная поверхность работы: /open.
Оба урока применимы к приёмке lineage. Передача поля требует проверки пути, а ошибка загрузки требует отдельного состояния вместо подставленного значения.
Эти истории не измеряют качество внедрения lineage у заказчика. На учебном отчёте полезность схемы проверяется иначе: намеренная правка фильтра должна появиться в списке влияния и в результате пересчёта.
6. Начните с одного спорного показателя.
С чего начинать закупку? С показателя, который уже трудно объяснить после доработки. Попросите подрядчика пройти его путь до источника и показать, как цепочка обновится при следующем изменении.
Пилот оставляет проверку для следующих изменений.
Предлагаемый редакцией пилот, 08.10.2026. Срок и окупаемость не измерены.
У пилота должно быть условие «готово». От изменённого участка загрузки можно дойти до поля отчёта, каждую связь подтвердить, а расхождение воспроизвести на контрольном входе. Для «Оплаченных продаж» платёж со статусом «ожидает» должен остаться за пределами суммы.
Если вести такую работу внутри компании некому, агентная разработка по подписке стоит 250 000 ₽ в месяц за «Один проект» на 8 октября 2026. Инженер ведёт машину агентов, готовые изменения приходят в репозиторий клиента; одна задача в работе, пауза в любой месяц.
Начать обсуждение можно с разбора вашей задачи. Пришлите название спорного показателя и описание последней правки загрузки: они зададут границу первого этапа.
7. Частые вопросы
Чем Data lineage отличается от каталога данных?+
Каталог помогает найти таблицы, описания и владельцев. Lineage показывает связи между источниками, преобразованиями и результатом. Реестр таблиц и владельцев не заменяет проверку пути показателя.
Data lineage объяснит происхождение каждой цифры?+
Карта связей полей показывает зависимость, но не обязательно хранит исходные строки конкретной суммы. Для воспроизводимого объяснения надо отдельно сохранить входной срез, параметры и выполненный расчёт.
Агенту нужен доступ к рабочим данным?+
Для чтения кода и построения первого списка связей достаточно доступных описаний и тестовых примеров. Проверку на рабочих данных можно поручить утверждённому исполнителю внутри компании; доступ агента не следует расширять автоматически.
Что делать с ручной правкой в Excel?+
Включить её в цепочку как отдельное преобразование с формулой и версией файла. Если файл не сохранили, этот участок нельзя восстановить по одному коду загрузки.
Нужно покупать новый инструмент?+
Пилот можно начать с описания связей и проверок в существующем репозитории. Отдельный инструмент выбирают, когда понятны необходимые источники, способы сбора связей и неизвестные участки.
Источники
- DataFinder: линейность данных и отслеживание источников · проверено 08.10.2026 — описание поставщика
- OpenLineage: объектная модель, задача и запуск · проверено 08.10.2026 — официальная спецификация
- OpenLineage: связи на уровне столбцов · проверено 08.10.2026 — официальная спецификация
- dbt: column-level lineage и ограничения Catalog · проверено 08.10.2026 — официальная документация
- Николай Абрамов, «Как LLM могут помочь определить Data Lineage» · Сбер, 28.07.2026; проверено 08.10.2026 — инженерный блог
- Машина vibecoding.ru: открытая карта и история работы · срез 08.10.2026 — наш проект
- vibecoding.ru: тариф «Один проект» и условия подписки · срез 08.10.2026 — наш тариф
Запомнить
1. Путь показателя продолжается до формулы в отчёте. Включите её в границу работы.
2. Фильтры и соединения тоже меняют итог. Проверяйте их вместе с полями суммы.
3. Связь без доказательства остаётся предположением. Требуйте место в коде или подтверждение запуска.
4. Карта и код должны иметь связанную версию. Принимайте их вместе с контрольным пересчётом.
5. Начните с одного спорного показателя. Оставьте проверку для следующих изменений.