Управление зависимостями с помощью ИИ

Продвинутое программирование с ИИ-ассистентами

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Проблема

Два компьютера с разными результатами

 

 

  • ✅ У Атласа работает на моей машине
  • ❌ Установка завершается ошибкой на рабочем сервере
  • 🔀 Один код, разные результаты
Продвинутое программирование с ИИ-ассистентами

Конфликты зависимостей

 

Схема конфликта зависимостей

 

  • Атлас зависит от многих библиотек
  • Среда невоспроизводима
  • Известно как конфликты зависимостей
Продвинутое программирование с ИИ-ассистентами

ИИ анализирует ошибку

Ошибка установки:

installation-error2.png

🤖 Краткий запрос для диагностики:

Вот спецификация зависимостей и вывод ошибки установки. Объясните первопричину конфликта версий.

Продвинутое программирование с ИИ-ассистентами
Продвинутое программирование с ИИ-ассистентами

Воспроизводимые среды

 

  • 📦 Одна команда создаёт точную среду
  • 🤖 ИИ помогает генерировать команды установки
  • 💻 Единая среда для всех коллег и машин

Воспроизводимые среды

Продвинутое программирование с ИИ-ассистентами

Генерация команд установки

🤖 Запрос для воспроизводимой настройки:

Исходя из структуры проекта, предложите воспроизводимую настройку среды Python с использованием pip-tools. Сгенерируйте необходимые файлы и команды для создания среды, фиксации зависимостей и детерминированной установки. Опишите порядок использования виртуальной среды в файле README.md проекта.

Ответ модели: ai-virtual-env.png

Продвинутое программирование с ИИ-ассистентами

Транзитивные зависимости

Схема транзитивных зависимостей

 

  • 📦 Инструментарий подключает множество пакетов
  • ❗ Уязвимая библиотека подключена косвенно: транзитивная зависимость

 

  • ✔ Обнаружение проблем с помощью инструментов аудита
  • 🤖 ИИ интерпретирует отчёты, предлагает более безопасные версии и указывает на изменения в коде
Продвинутое программирование с ИИ-ассистентами

Поддерживаемые зависимости

🤖 Запрос для аудита зависимостей:

Для данного репозитория Python необходимо выполнить аудит поддерживаемости зависимостей и соответствия лицензий.

Сгенерируйте команду для создания JSON-отчёта о лицензиях для активной среды Python, включая URL-адреса пакетов и файлы лицензий, и сохраните его в reports/licenses.json.

  • ✔ Активно поддерживается = меньший риск

 

Ответ ИИ: ai-licenses.png

Продвинутое программирование с ИИ-ассистентами

Анализ отчётов

Предложение ИИ: ai-licenses-command.png

Отчёт о лицензиях: licenses-output.png

Продвинутое программирование с ИИ-ассистентами

ИИ предлагает альтернативы

🤖 Запрос для поиска альтернатив:

Вот файл reports/licenses.json, сгенерированный pip-licenses.

Составьте краткую таблицу: пакет, версия, лицензия и уровень риска для коммерческого использования. Отметьте всё нестандартное, неизвестное или без лицензии.

Предложите одну более безопасную альтернативу для зависимости с наибольшим уровнем риска.

Ответ ИИ: models-risk.png

Продвинутое программирование с ИИ-ассистентами

Автоматизация настройки среды

Схема автоматизации настройки среды

 

 

  • 💻 Настройка одной командой для новых разработчиков
  • ✅ CI проверяет среду при каждом изменении
Продвинутое программирование с ИИ-ассистентами

Часть ежедневного рабочего процесса

ai-ci-licenses-emergency.png

Продвинутое программирование с ИИ-ассистентами

Давайте попрактикуемся!

Продвинутое программирование с ИИ-ассистентами

Preparing Video For Download...