การจัดการ dependency ด้วย AI

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

ปัญหา

คอมพิวเตอร์สองเครื่องแสดงผลลัพธ์ที่แตกต่างกัน

 

 

  • ✅ Atlas ทำงานได้บนเครื่องของฉัน
  • ❌ การติดตั้งล้มเหลวบน production server
  • 🔀 โค้ดเดียวกัน ผลลัพธ์ต่างกัน
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Dependency conflicts

 

แผนภาพความขัดแย้งของ dependency

 

  • Atlas ต้องพึ่งพาไลบรารีหลายตัว
  • Environment ไม่ทำซ้ำได้
  • เรียกว่า dependency conflicts
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

AI วิเคราะห์ข้อผิดพลาด

ข้อผิดพลาดในการติดตั้ง:

installation-error2.png

🤖 Prompt วินิจฉัยสั้น ๆ:

นี่คือข้อกำหนด dependency และผลลัพธ์ข้อผิดพลาดในการติดตั้ง อธิบายสาเหตุหลักของความขัดแย้งด้านเวอร์ชัน

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Environment ที่ทำซ้ำได้

 

  • 📦 คำสั่งเดียว สร้าง environment ที่แม่นยำ
  • 🤖 AI ช่วยสร้าง คำสั่งติดตั้ง
  • 💻 Environment ที่สอดคล้องกัน ข้ามเครื่องและทีม

Environment ที่ทำซ้ำได้

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การสร้างคำสั่งติดตั้ง

🤖 Prompt สำหรับการตั้งค่าแบบทำซ้ำได้:

จากโครงสร้างโปรเจกต์นี้ ให้เสนอการตั้งค่า Python environment แบบทำซ้ำได้ โดยใช้ pip-tools สร้างไฟล์และคำสั่งที่จำเป็นสำหรับการสร้าง environment ล็อก dependency และติดตั้งแบบ deterministic พร้อมอธิบาย วิธีใช้ virtual environment ใน README.md

การตอบของโมเดล: ai-virtual-env.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Transitive dependencies

แผนภาพ transitive dependency

 

  • 📦 Toolbox ดึงแพ็กเกจจำนวนมากเข้ามา
  • ❗ ไลบรารีที่มีช่องโหว่ถูกดึงทางอ้อม: transitive dependency

 

  • ✔ ตรวจพบปัญหาด้วยเครื่องมือตรวจสอบ
  • 🤖 AI ตีความรายงาน เสนอเวอร์ชันที่ปลอดภัยกว่า และชี้จุดการเปลี่ยนแปลงโค้ด
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Dependency ที่บำรุงรักษาได้

🤖 Prompt สำหรับการตรวจสอบ dependency:

จาก Python repository นี้ ฉันต้องการตรวจสอบความสามารถในการบำรุงรักษา dependency และการปฏิบัติตามสัญญาอนุญาต

สร้างคำสั่งเพื่อสร้างรายงานสัญญาอนุญาตในรูปแบบ JSON สำหรับ Python environment ที่ใช้งานอยู่ รวมถึง URL ของแพ็กเกจและไฟล์สัญญาอนุญาต และบันทึกไปยัง reports/licenses.json

  • ✔ บำรุงรักษาอยู่ = ความเสี่ยงต่ำกว่า

 

การตอบของ AI: ai-licenses.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การตรวจสอบรายงาน

คำแนะนำของ AI: ai-licenses-command.png

รายงานสัญญาอนุญาต: licenses-output.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

AI เสนอทางเลือก

🤖 Prompt สำหรับทางเลือก:

นี่คือ reports/licenses.json จาก pip-licenses ที่เพิ่งสร้าง

สรุปผลในตารางสั้น ๆ ที่มี: แพ็กเกจ เวอร์ชัน สัญญาอนุญาต และระดับความเสี่ยงสำหรับการใช้งานเชิงพาณิชย์ พร้อมระบุสิ่งผิดปกติ ไม่ทราบ หรือขาดสัญญาอนุญาต

เสนอทางเลือกที่ปลอดภัยกว่าสำหรับ dependency ที่มีความเสี่ยงสูงสุดหนึ่งรายการ

การตอบของ AI: models-risk.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

การตั้งค่า environment อัตโนมัติ

ขั้นตอนการตั้งค่า environment อัตโนมัติ

 

 

  • 💻 คำสั่งเดียว ตั้งค่าสำหรับนักพัฒนาใหม่
  • ✅ CI ตรวจสอบ environment ทุกการเปลี่ยนแปลง
AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

ส่วนหนึ่งของ workflow ประจำวัน

ai-ci-licenses-emergency.png

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

มาฝึกกันเลย!

AI-Assisted Coding ขั้นสูงสำหรับนักพัฒนา

Preparing Video For Download...