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 환경에 대해 패키지 URL과 라이선스 파일을 포함하는 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...