- 프롬프트 엔지니어가 되려면, 파이썬 프로그래밍 지식이 필요하다는 것을 알았다.
- 과거 약 20년 전에 C와 C++ 을 배운적이 있지만, 파이썬은 이번이 처음이다.
- 유튜브에서 '파이썬' 을 검색하니, 아래의 무료강의 두 개가 발견된다.
총 30강(약 5시간 분량)
총 7강(약 7시간 분량) (교재 : wikidocs.net/book/1)
- 강의를 시청하면서 느낀점은 파이썬이 매우 쉽고, 간결한 언어라는 사실이다.
- 과거 배웠던 C/C++ 등과 비교하면 그 차이를 확연히 느낄 수 있다.
- 하지만, 디테일하게 들어가면 암기해야 할 것들이 여전히 많기 때문에, 자유자재로 코딩하려면 상당한 시간을 들여 연습하는 수밖에 없다.
- 이는 영어를 배우는 과정과 비슷하다. 영어 문법책 한 권을 모두 이해했어도 외국인과 자유롭게 대화하는 것은 또 다른 차원의 문제이기 때문이다. 반복숙달하는 과정을 꼭 거쳐야 하는데 이게 만만치 않은 시간을 필요로 한다.
- 하지만 지금은 AI 시대란 사실이고, 어쩌면 프로그래밍 진입 장벽이 완전히 무너졌다고도 볼 수 있다.
- 내가 원하는 내용만 입력하면 AI 가 다 코딩해주기 때문에, 문법을 세세하게 암기할 필요가 없어졌다.
- 따라서, 이제는 프로그래밍 수업 방식도 달라져야 한다고 생각한다.
- AI로 코딩하는 법을 배우는 것이 훨씬 효과적이기 때문이다. (AI는 시대의 흐름이고, 이를 잘 활용해야 한다.)
- 우리가 외국인과 영어로 메시지를 주고 받는다고 생각해보자.
- 과거에는 문법과 단어를 공부했어도 영어 어순을 몰라 작문하는데 엄청 애먹었다면, 지금은 내가 원하는 내용을 적어서 AI에게 보여주기만 하면 알아서 깔끔하게 작성해 준다는 사실이다.
- 프로그래밍도 이와 다를 바가 하나도 없다. 이제는 내가 원하는 내용에만 집중하면 되고, 내가 정말로 원하는 게 무엇인지를 알아내는 것이 매우 중요해졌다.
- 예를 들어, 내가 온라인 1인 쇼핑몰을 창업한다고 가정해 보자. 그러면, 지금부터 나는 사업상 중요한 큰그림을 그리는 데에만 집중하면 되고, 나머지 디테일한 작업은 AI에게 외주로 맡기면 되는 것이다. (예전에는 사업 아이템이 있어도, 디테일한 부분이 큰 벽으로 작용했었다.)
악마는 디테일에 있다(The devil is in the detail)는 문제점이나 불가사의한 요소가 세부사항 속에 숨어있다는 의미의 속담이며[1] 어떤 것이 대충 보면 쉬워 보이지만 제대로 해내려면 예상했던 것보다 더 많은 시간과 노력을 쏟아부어야 한다는 것을 의미한다.[2] 무언가를 할 때는 철저하게 해야 한다는, 세부사항이 중요하다는 의미의 '신은 디테일에 있다'(God is in the detail)는 표현에서 유래하였다.[1] |
- 나는 MBTI 에서 N 기질이 매우 강하기 때문에 혼자 공상하는 일이 잦았는데, 막상 실행에 옮기다보면 디테일한 부분에 막혀 좌절하는 일이 많았다.
- 하지만, 이제 훌륭한 AI 비서를 곁에 두게 되었으니, 어쩌면 나에게 기회가 올지도 모르겠다.
- 다시 본론으로 돌아와서, 그러면 프로그래밍 수업을 어떻게 진행해야 할까?
- 처음에는 무턱대고 위 동영상 강의를 정주행 하면서, 장기 기억을 위해 몇 번씩 반복해서 보기도 했지만, 어느 순간 다 부질없어 보였다. 앞서 언급했듯이 이제는 그럴 필요가 없는 시대에 살고 있기 때문이다.
- 세세한 실무는 AI 비서에게 맡기면 그만이다. 과거처럼 프로그래밍 공부를 5년, 10년씩 하고 있으면 시간 낭비인 것이다.
- 이제는 AI 비서에게 어떻게 지시해야 원하는 결과물을 얻어 낼 수 있을지를 고민해야 한다.
- 예를 들어, 내가 어떤 복잡한 내용을 구상하고 있다고 가정해 보자.
- 이를 AI 에게 대충 막연하게 지시하면, 얘가 내 머릿속을 보지 못한 이상 제대로 수행할 가능성이 매우 낮아진다.
- 따라서, 이때는 논리적으로 세분화 해서 한 단계, 한 단계 매우 구체적으로 지시해야 할 것이다.
- 즉, 논리적 절차인 알고리즘을 제공해야 하고, 그 알고리즘을 AI 가 실제로 어떻게 코딩하는지 확인하는 수업이 필요하다. (내가 제대로 된 지시를 내렸는가에 초점을 둔 수업)
프롬프트 작성의 기본 원칙
- 감독 (Supervisor):
- 감독은 배우(GPT)에게 문맥(상황, 사전정보)을 제공하고 구체적으로 지시해야 합니다.
- 키워드 위주로 간결하게, 핵심을 강조하는 방식으로 지시하세요.
- 배우 (Actor):
- 배우는 감독의 지시를 받아 작업을 수행합니다.
- 역할과 미션을 부여하고, 복잡한 미션의 경우 알고리즘(세분화, 추상화, 패턴화 등의 논리적 절차)을 제공하세요.
- 필요한 경우 예시를 주고, 추론(CoT)이 가능하게 합니다.
- 무대 (Stage):
- 무대는 배우가 작업한 결과물의 형태(출력 형식)입니다.
- 표, 목록, 정렬된 텍스트 등을 활용하여 보기 좋게 표현하세요.
- 피드백 (Feedback):
- 피드백 단계에서는 배우의 작업을 평가하고 개선할 수 있는 방향을 제시합니다.
- 소크라테스의 산파술도 이 단계에 포함될 수 있습니다.
- 알고리즘의 중요성은 내가 정리한 위 표를 통해서도 알 수 있다.
(즉, 프롬프트 엔지니어가 되려면 프로그래밍을 할 줄 알아야 하고, 그 프로그래밍을 효과적으로 하기 위해서는 또 프롬프트 디자인을 잘 해야 한다는 결론에 도달한다. 닭이 먼저냐, 달걀이 먼저냐?)
- 결론적으로, 우리가 프로그래밍 수업을 통해 연습해야 할 것은 세세한 코딩 작업이 아니라, AI 에게 적절한 알고리즘을 제공하는 능력을 키우는 것이라 할 수 있다. (AI 가 알아들을 수 있는 프롬프트를 작성했는지 하나 하나 점검해 나가야 한다.)
- 예를 들어, 위와 같은 알고리즘의 작업을 프로그래밍 해야 한다고 가정해 보자.
- 이때 각각의 세부 절차를 AI에게 정확히 지시할 줄 알아야 한다는 것이다. (세부 문법은 몰라도 된다. AI 가 작성한 코드를 읽을 줄만 알아도 된다. 다시 말해, 원어민급 작문 실력까지 갖출 필요는 없다는 것이다.)
- 이를 위해, 내가 수업 교재를 직접 만들까도 생각해 봤는데 아직은 좀 오버인 거 같고, 어쩌면 나중에 두고 두고 참고할 만한 나만의 노트를 짜임새 있게 구성할 날이 올지도 모르겠다.
- 사실, 요즘은 AI 의 도움으로 책 한 권 뚝딱 만드는 것도 그리 어렵지 않은 일이 되었다.
- 코파일럿에게 파이썬 프로그래밍 교재 목차를 만들어 달라고 부탁하니 아래와 같이 뽑아주었다.
물론, 파이썬 프로그래밍 교재를 만드는 것은 흥미로운 일이에요! 여러분이 파이썬을 배우는 데 도움이 될 수 있도록 교재의 목차를 만들어보겠습니다. 아래는 몇 가지 가능한 목차 아이디어입니다:
- 파이썬 기초
- 파이썬 설치하고 실행하기
- 간단한 프로그램 만들기
- 연산과 변수
- 반복문과 조건문
- for 명령을 사용하여 똑같은 작업 반복하기
- if/else 문으로 조건에 따라 다른 작업 수행하기
- 함수와 모듈
- 함수 정의하기
- 모듈 사용하기
- 데이터 구조
- 리스트, 튜플, 딕셔너리
- 세트
- 파일 다루기
- 파일 읽고 쓰기
- CSV 파일 다루기
- 객체 지향 프로그래밍
- 클래스와 객체
- 상속과 다형성
- 실전 프로젝트
- 간단한 웹 스크래핑 프로그램 만들기
- 데이터 시각화 프로젝트
이 목차를 참고하여 교재를 작성해보세요! 파이썬 프로그래밍을 배우는 여정이 흥미로워지길 바랍니다. 😊
참고로, 파이썬 교재를 더 자세히 찾아보고 싶다면 교보문고에서 제니퍼 캠벨의 파이썬 프로그래밍 교과서1를확인해보시는 것도 좋은 방법입니다. 또한, 무료로 제공되는 모두의 파이썬2이라는 온라인 교재도 있으니 참고해보시기 바랍니다.
- 이번에는 똑같은 질문을 아래 '전자 필기장' 에서 해 보았다.
- 전자 필기장은 코파일럿과 똑같은 기능을 하는데, 긴 프롬프트를 작성할 수 있고 편집하기 쉽다는 장점이 있다.
- 대신, 한 번 실행할 때마다 앞의 결과물들이 날아가버리기 때문에 상대적으로 피드백이 어렵다는 단점이 있다. (하지만, 코파일럿과 전자 필기장을 병행해서 작업하면 시너지 효과를 낼 수도 있다.)
- 전자 필기장이 뽑은 교재 목차는 아래와 같다.
파이썬 프로그래밍 교재 목차
- 서론
- 파이썬 소개
- 파이썬의 장점
- 파이썬 설치 가이드
- 파이썬 기본
- 변수와 자료형
- 연산자
- 조건문과 반복문
- 함수
- 데이터 구조
- 리스트
- 튜플
- 딕셔너리
- 세트
- 파이썬 고급 주제
- 클래스와 객체 지향 프로그래밍
- 모듈과 패키지
- 예외 처리
- 파일 처리와 입출력
- 파일 읽기와 쓰기
- 파이썬에서의 표준 입출력
- 라이브러리 활용
- NumPy
- Pandas
- Matplotlib
- 프로젝트
- 프로젝트 아이디어
- 프로젝트 구현 가이드
- 부록
- 유용한 파이썬 팁
- 추가 학습 자료
이 목차는 파이썬을 처음 배우는 학생들에게 필요한 주제를 포괄하고 있습니다. 각 장은 이전 장의 내용을 기반으로 하며, 점차 복잡한 주제로 넘어갑니다. 이 교재를 통해 파이썬의 기본부터 고급 주제, 실제 프로젝트 구현까지 체계적으로 학습할 수 있습니다.
- 목차가 중요한 이유는 무슨 내용이 어디에 있고, 나중에 어디를 참고하면 되는지 쉽게 알 수 있기 때문이다.
- 위와 같은 목차는 추후 나만의 노트를 만들 때 활용하기로 하고, 지금은 다른 사람들이 만들어 놓은 강의나 교재를 그대로 따라가 보기로 하자.
- 단, 앞서 언급했듯이 실제 코딩 연습은 하지 않을 것이며, 코딩을 위한 프롬프트 작성에 초점을 둘 생각이다. (코파일럿이 처음부터 끝까지 도와줄 것이다.)
- 교재는 서두에 소개한 두 번째 강의의 교재 (wikidocs.net/book/1) 를 참고해도 되고, 코파일럿이 추천해 준 온라인 무료 교재 '모두의 파이썬' 을 참고해도 될 것이다.
- 일단, 나는 서두에 올려놓은 첫 번째 강의를 따라가면서, 각각의 코드에 해당하는 프롬프트를 작성해 볼 계획이다. 논리만 확실하면, 코딩은 AI가 구현해 줄 것이다.
다음 시간에 계속...
'AI 활용하기' 카테고리의 다른 글
AI 와 함께 하는 파이썬 프로그래밍 수업 (3편 : 자료형) (0) | 2024.04.18 |
---|---|
AI 와 함께 하는 파이썬 프로그래밍 수업 (2편 : 기초 문법) (0) | 2024.04.17 |
프롬프트 엔지니어링 수업 (2강 : 파이썬 기초 익히기) (0) | 2024.04.06 |
프롬프트 엔지니어링 수업 (1강 : 기본개념과 원칙) (1) | 2024.04.04 |
AI 선생님과 함께 하는 미술 수업 (2편) (0) | 2024.04.02 |