파이썬 코드 생성을 위한 프롬프트 작성법
AI를 활용하여 파이썬 코드를 작성할 때, 프롬프트가 얼마나 구체적이고 명확한지에 따라 생성되는 코드의 정확성과 효율성이 크게 달라집니다.
이번 수업에서는 파이썬 코드 생성을 위해 효과적인 프롬프트를 작성하는 방법에 대해 알아보겠습니다.
파이썬 코드를 생성하는 프롬프트, 어떻게 작성할까요?
AI에게 단순히 "어떠한 코드 작성해줘"와 같이 요청하면, 요구 사항에 맞지 않는 코드가 생성될 수 있습니다.
보다 더 정확하고 효율적인 코드를 생성하기 위해서는 아래와 같이 명확하고 구체적인 프롬프트를 작성하는 것이 좋습니다.
-
프로그래밍 언어 명시: 코드를 생성할 언어(예: 파이썬, 자바스크립트)를 명시합니다.
-
입출력 예시 제공: 함수와 같이 입출력이 있는 경우, 입력과 출력에 대한 명확한 예시를 2-3개 제공하는 것이 좋습니다.
-
실행 환경 명시: 코드가 실행되는 환경에 따라 제약이 있을 수 있으므로, 코드 실행 환경(예: Windows, MacOS, AWS, Chrome 등)을 명시합니다.
예시로 비교하는 프롬프트 작성법
AI에게 특정한 문제 상황을 해결하는 파이썬 코드를 요청할 때, 프롬프트가 모호하거나 정보가 부족하면 AI가 잘못된 코드를 생성할 가능성이 높아집니다.
아래는 2가지 프롬프트 예시를 통해, 프롬프트 작성법의 차이를 비교해보겠습니다.
문제 상황
리스트 [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
를 내 숫자들을 내림차순으로 정렬하는 파이썬 코드를 작성해야 합니다.
좋지 않은 프롬프트 예시
리스트를 정렬하는 코드를 작성해 주세요.
def sort_list(lst): return sorted(lst)
프롬프트의 문제점
-
모호성: 어떤 기준으로 리스트를 정렬해야 하는지(오름차순, 내림차순, 혹은 다른 기준)가 명확하지 않습니다.
-
구체성 부족: 리스트의 내용(숫자, 문자열, 복합 자료형 등)에 대한 정보가 없으므로 코드의 정확성이 떨어질 수 있습니다.
-
추가 요구 사항 없음: 예외 처리, 입력 검증 등 추가적인 기능 요구 사항이 없습니다.
프롬프트 엔지니어링으로 잘 작성한 프롬프트 예시
정수로 구성된 리스트를 내림차수로 정렬하는 파이썬 함수를 작성해 주세요. 이 함수는 입력으로 리스트를 받고, 예외 상황으로 입력이 리스트가 아닌 경우 TypeError를 발생시켜야 합니다. 리스트가 비어 있으면 빈 리스트를 반환해야 합니다.
def sort_descending(lst): # 입력이 리스트가 아닌 경우 TypeError 발생 if not isinstance(lst, list): raise TypeError("입력은 리스트여야 합니다.") # 리스트가 비어 있는 경우 빈 리스트 반환 if len(lst) == 0: return [] # 리스트를 내림차순으로 정렬하여 반환 return sorted(lst, reverse=True)
프롬프트의 장점
-
명확성: 어떤 작업(정수 리스트를 오름차순으로 정렬)을 수행해야 하는지 명확하게 정의했습니다.
-
구체성: 입력 자료형(정수 리스트)에 대한 정보를 제공하여, AI가 적절한 코드를 작성할 수 있도록 도왔습니다.
-
예외 처리 요구: 예외 상황에 대한 요구 사항을 명시하여 코드가 더 견고하게 작성되도록 했습니다.
-
추가 기능 설명: 빈 리스트를 처리하는 방법에 대해 명확하게 지시했습니다.
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
실행 결과