AI 輔助的相依套件管理

進階 AI 輔助程式開發

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

問題所在

兩台電腦顯示不同結果

 

 

  • ✅ Atlas 在「我的電腦」上可用
  • ❌ 在正式伺服器安裝「失敗」
  • 🔀 同一段程式碼,「結果不同」
進階 AI 輔助程式開發

相依衝突

 

相依衝突示意圖

 

  • Atlas 依賴「許多函式庫」
  • 環境「不可重現」
  • 這稱為「相依衝突」
進階 AI 輔助程式開發

AI 解析錯誤

安裝錯誤:

installation-error2.png

🤖 簡短診斷提示:

以下是我的相依規格與安裝錯誤輸出。請說明版本衝突的根本原因。

進階 AI 輔助程式開發
進階 AI 輔助程式開發

可重現的環境

 

  • 📦 「一行指令」建立完全相同的環境
  • 🤖 AI 可協助產生「設定指令」
  • 💻 在同事與電腦間維持「一致環境」

可重現的環境

進階 AI 輔助程式開發

產生設定指令

🤖 可重現設定提示:

根據此專案結構,提出使用 pip-tools 的「可重現 Python 環境設定」。產生建立環境、鎖定相依並可確定性安裝所需的檔案與指令。並在專案的 README.md 中說明「如何使用」虛擬環境。

模型回應: ai-virtual-env.png

進階 AI 輔助程式開發

傳遞性相依

傳遞性相依示意圖

 

  • 📦 工具箱會帶入「許多套件」
  • ❗ 藏在間接引入的高風險函式庫:「傳遞性相依」

 

  • ✔ 用「稽核工具」偵測問題
  • 🤖 AI 會「解讀」報告,建議「更安全版本」,並標示「程式碼變更」
進階 AI 輔助程式開發

可維護的相依

🤖 相依稽核提示:

給定這個 Python 儲存庫,我想稽核相依的可維護性與授權相容性。

產生指令,以目前啟用的 Python 環境為基礎,輸出包含套件網址與授權檔的 JSON 授權報告,並寫入 reports/licenses.json。

  • ✔ 積極維護中=風險較低

 

AI 回應: ai-licenses.png

進階 AI 輔助程式開發

檢視報告

AI 建議: ai-licenses-command.png

授權報告: licenses-output.png

進階 AI 輔助程式開發

AI 提出替代方案

🤖 替代方案提示:

這是我們剛用 pip-licenses 產生的 reports/licenses.json。

請用簡短表格摘要:套件、版本、授權,以及商用風險等級。標記任何不尋常、未知或缺少授權的項目。

針對風險最高的單一相依,提出一個更安全的替代方案。

AI 回應: models-risk.png

進階 AI 輔助程式開發

自動化環境設定

環境設定自動化流程

 

 

  • 💻 新開發者「一行指令」完成設定
  • ✅ CI 在「每次變更」都「驗證」環境
進階 AI 輔助程式開發

日常流程的一部分

ai-ci-licenses-emergency.png

進階 AI 輔助程式開發

一起來練習吧!

進階 AI 輔助程式開發

Preparing Video For Download...