ИИ-кодинг: перспективы и подводные камни в разработке пайплайнов
Агенты ИИ значительно ускоряют создание пайплайнов данных, но их долгосрочная объяснимость остаётся серьёзной проблемой.
Шухуа Сюй, ведущий инженер по данным, представил концепцию Spec-driven development (SDD) в своей статье, опубликованной 15 июня 2026 года в 18:14 по московскому времени. Материал вышел на VentureBeat и посвящен решению проблем фрагментации в современной инженерии данных с помощью ИИ.
В статье Сюй объясняет, как ИИ-агенты ускоряют разработку данных, генерируя преобразования, пайплайны и рабочие процессы. Однако, корпоративные платформы данных часто разрознены. Это приводит к непоследовательной бизнес-логике, дублированию реализаций и сложностям с анализом зависимостей. Подход SDD предлагает превратить подсказки, бизнес-правила и логику валидации в исполняемые спецификации, которые становятся частью системы.
Так называемое «vibe coding» (генерация кода по запросам) усиливает эти проблемы. Операционный контекст, архитектурные решения и бизнес-знания рассеиваются по запросам, чатам и сгенерированному коду. Это не позволяет им стать частью самой системы. SDD решает эту проблему, создавая постоянную операционную память для людей и ИИ-агентов. Системы развиваются более последовательно.
Vibe coding хорошо работает для быстрой генерации изолированных реализаций. Но подсказки временны. Они фиксируют предположения инженера только для конкретного разговора. На практике создание ИИ-систем требует постоянного предоставления фоновой информации, архитектурных решений, бизнес-правил и других данных. Эта информация часто остается разбросанной по чатам, документации и сгенерированному коду. Это создает серьезную проблему для инженерии данных, поскольку современные платформы состоят из множества взаимосвязанных систем.
Организации теряют понимание архитектурных намерений, зависимостей и бизнес-контекста. Сама система больше не содержит полного обоснования своего создания. Важные знания остаются в человеческих суждениях, а не в платформе. Vibe coding ускоряет реализацию, но общая эффективность инженерии не улучшается пропорционально. Процесс все еще зависит от человеческой валидации и координации.
Подсказки не являются итеративными артефактами. Корпоративные системы постоянно развиваются. Команды многократно пересматривают и дорабатывают системы. Но подсказки оптимизированы для быстрой локальной генерации, а не для долгосрочной эволюции системы. Их сложно версионировать, систематически проверять и координировать через CI/CD.
SDD интегрирует бизнес-контекст, логику валидации и рабочие процессы непосредственно в исполняемые спецификации. Они становятся частью системы. Система получает постоянную память о том, как она была спроектирована и почему были приняты определенные решения. Это позволяет командам и ИИ-агентам более надежно итерировать системы.
В SDD системы строятся вокруг исполняемых спецификаций. Спецификации — это операционные контракты, которые напрямую управляют генерацией кода, валидацией, тестированием и развертыванием. SDD расширяет идеи Infrastructure-as-Code и GitOps на ИИ-инженерию. Спецификации объединяют декларативные определения системы с исполняемыми рабочими процессами. Декларативный уровень предоставляет контекст системы, а инструкции, ориентированные на рабочий процесс, направляют ИИ-агентов.
После преобразования контекстов, правил и шаблонов реализации в постоянные и версионированные контракты, система становится значительно более итеративной. Эти спецификации становятся долгосрочной системной памятью для людей и ИИ-агентов.
Структура спецификаций зависит от типа систем. Часто они начинаются с основополагающей «конституции», определяющей принципы проекта. На этом фундаменте строятся многоуровневые спецификации:
- Спецификации схем — определяют структурную совместимость.
- Спецификации преобразований — определяют бизнес-логику.
- Спецификации валидации — определяют правила качества.
- Спецификации оркестрации — определяют поведение выполнения.
- Семантические спецификации — определяют общие бизнес-определения.
- Спецификации рабочих процессов ИИ — определяют многократно используемые инструкции для агентов кодирования.
Упрощенная спецификация может выглядеть так: `pipeline_spec: source: system: mysql table: order transformation: logic: - load_strategy: scd2 target: platform: snowflake table: dim_order validation: primary_key: order_id`. Дополнительные файлы рабочих процессов могут предоставлять инструкции для агентов кодирования, например, для генерации кода Python для данных клиентов Salesforce или моделей DBT.
Эти спецификации часто поддерживаются как артефакты на основе Markdown, генерируемые и уточняемые с помощью ИИ. Инженеры могут итеративно обновлять спецификации и сотрудничать с агентами кодирования. Это значительно быстрее и адаптивнее традиционных процессов документирования.
SDD особенно подходит для инженерии данных. Корпоративные системы данных охватывают множество технологий и слоев. Инженеры по данным работают с длинными технологическими стеками. Одно изменение может повлиять на многих потребителей. SDD решает эту фрагментацию, вводя общие и версионированные операционные контракты. Схемы, зависимости и правила валидации явно определены в спецификациях. Это дает лучшую видимость того, как системы связаны.
Цель инженерии данных — не только быстрая доставка пайплайнов. Команды также оптимизируют стабильность, масштабируемость и надежность системы. Это требует значительной работы по проектированию. Однако, после установления архитектурных шаблонов, большая часть реализации становится повторяющейся. Например, после определения шаблона для данных Salesforce, добавление новой таблицы может потребовать лишь изменения спецификации. Остальная реализация генерируется автоматически.
SDD представляет собой следующий шаг в эволюции автоматизации инженерии данных. Он сочетает генерацию ИИ на основе подсказок с детерминированными и версионированными операционными контрактами. SDD вводит промежуточный слой, где многократно используемые спецификации обеспечивают структуру, координацию и постоянную системную память для разработки с помощью ИИ.
SDD значительно повышает уровень автоматизации в инженерии данных. Он также помогает уменьшить проблемы фрагментации. Агенты кодирования могут генерировать и развивать большие части реализации последовательно. Это улучшает согласованность, отслеживаемость и координацию. Управление эволюцией схем становится проще, а системы развиваются постепенно.
Человеческие инженеры остаются важными. ИИ-агенты автоматизируют реализацию, но человеческое суждение критично для определения бизнес-логики и проектирования архитектур. Роль инженера по данным меняется. Они меньше пишут повторяющиеся пайплайны, больше определяют спецификации и проектируют шаблоны. Это может уменьшить традиционные границы между командами. Организации будут меньше зависеть от изолированных команд, больше — от общих контрактов.
В конечном итоге, SDD смещает инженерию данных к модели, ориентированной на спецификации и системы. Люди фокусируются на намерениях и архитектуре, а ИИ-агенты все больше занимаются реализацией, тестированием и операционной генерацией в масштабе.