Керування залежностями з допомогою ШІ

Просунуте AI‑асистоване програмування для розробників

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

Проблема

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

 

 

  • ✅ Atlas працює на моїй машині
  • ❌ Встановлення провалюється на проді
  • 🔀 Той самий код, різні результати
Просунуте AI‑асистоване програмування для розробників

Конфлікти залежностей

 

Діаграма конфлікту залежностей

 

  • Atlas залежить від багатьох бібліотек
  • Середовище не відтворюване
  • Це називають конфліктами залежностей
Просунуте AI‑асистоване програмування для розробників

ШІ аналізує помилку

Помилка встановлення:

installation-error2.png

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

Ось моя специфікація залежностей і вивід помилки встановлення. Поясніть першопричину конфлікту версій.

Просунуте AI‑асистоване програмування для розробників
Просунуте AI‑асистоване програмування для розробників

Відтворювані середовища

 

  • 📦 Одна команда створює точне середовище
  • 🤖 ШІ допомагає згенерувати команди встановлення
  • 💻 Однакове середовище для колег і машин

Відтворювані середовища

Просунуте AI‑асистоване програмування для розробників

Генерація команд встановлення

🤖 Промпт для відтворюваного налаштування:

З огляду на цю структуру проєкту, запропонуйте відтворюване середовище Python з pip-tools. Згенеруйте точні файли та команди для створення середовища, фіксації залежностей і детермінованого встановлення. Поясніть, як користуватися віртуальним середовищем у README.md проєкту.

Відповідь моделі: ai-virtual-env.png

Просунуте AI‑асистоване програмування для розробників

Транзитивні залежності

Діаграма транзитивних залежностей

 

  • 📦 Набори інструментів тягнуть багато пакетів
  • ❗ Уразлива бібліотека підтягується опосередковано: транзитивна залежність

 

  • ✔ Виявляйте проблеми аудит-інструментами
  • 🤖 ШІ інтерпретує звіти, пропонує безпечніші версії й підсвічує зміни в коді
Просунуте AI‑асистоване програмування для розробників

Підтримувані залежності

🤖 Промпт для аудиту залежностей:

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

Згенеруйте команду для створення JSON-звіту про ліцензії для поточного середовища Python із URL пакетів і файлами ліцензій, і збережіть до reports/licenses.json.

  • ✔ Активно підтримується = менший ризик

 

Відповідь ШІ: ai-licenses.png

Просунуте AI‑асистоване програмування для розробників

Перегляд звітів

Пропозиція ШІ: ai-licenses-command.png

Звіт про ліцензії: licenses-output.png

Просунуте AI‑асистоване програмування для розробників

ШІ пропонує альтернативи

🤖 Промпт для альтернатив:

Ось reports/licenses.json з pip-licenses, який ми щойно згенерували.

Підсумуйте результати в короткій таблиці: пакет, версія, ліцензія та рівень ризику для комерційного використання. Позначте все незвичне, невідоме або без ліцензії.

Запропонуйте одну безпечнішу альтернативу для залежності з найвищим ризиком.

Відповідь ШІ: models-risk.png

Просунуте AI‑асистоване програмування для розробників

Автоматизація налаштування середовища

Потік автоматизації налаштування середовища

 

 

  • 💻 Одна команда для нових розробників
  • ✅ CI перевіряє середовище на кожній зміні
Просунуте AI‑асистоване програмування для розробників

Частина щоденної роботи

ai-ci-licenses-emergency.png

Просунуте AI‑асистоване програмування для розробників

Перейдемо до практики!

Просунуте AI‑асистоване програмування для розробників

Preparing Video For Download...