- 프롬프트 엔지니어가 되려면, 파이썬 프로그래밍 지식이 필요하다는 것을 알았다.

- 과거 약 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 가 실제로 어떻게 코딩하는지 확인하는 수업이 필요하다. (내가 제대로 된 지시를 내렸는가에 초점을 둔 수업)

 

 

프롬프트 작성의 기본 원칙

  1. 감독 (Supervisor):
    • 감독은 배우(GPT)에게 문맥(상황, 사전정보)을 제공하고 구체적으로 지시해야 합니다.
    • 키워드 위주로 간결하게, 핵심을 강조하는 방식으로 지시하세요.
  2. 배우 (Actor):
    • 배우는 감독의 지시를 받아 작업을 수행합니다.
    • 역할과 미션을 부여하고, 복잡한 미션의 경우 알고리즘(세분화, 추상화, 패턴화 등의 논리적 절차)을 제공하세요.
    • 필요한 경우 예시를 주고, 추론(CoT)이 가능하게 합니다.
  3. 무대 (Stage):
    • 무대는 배우가 작업한 결과물의 형태(출력 형식)입니다.
    • 표, 목록, 정렬된 텍스트 등을 활용하여 보기 좋게 표현하세요.
  4. 피드백 (Feedback):
    • 피드백 단계에서는 배우의 작업을 평가하고 개선할 수 있는 방향을 제시합니다.
    • 소크라테스의 산파술도 이 단계에 포함될 수 있습니다.

 

- 알고리즘의 중요성은 내가 정리한 위 표를 통해서도 알 수 있다.

(즉, 프롬프트 엔지니어가 되려면 프로그래밍을 할 줄 알아야 하고, 그 프로그래밍을 효과적으로 하기 위해서는 또 프롬프트 디자인을 잘 해야 한다는 결론에 도달한다. 닭이 먼저냐, 달걀이 먼저냐?)

 

- 결론적으로, 우리가 프로그래밍 수업을 통해 연습해야 할 것은 세세한 코딩 작업이 아니라, AI 에게 적절한 알고리즘을 제공하는 능력을 키우는 것이라 할 수 있다. (AI 가 알아들을 수 있는 프롬프트를 작성했는지 하나 하나 점검해 나가야 한다.)

 

 

 

 

- 예를 들어, 위와 같은 알고리즘의 작업을 프로그래밍 해야 한다고 가정해 보자.

- 이때 각각의 세부 절차를 AI에게 정확히 지시할 줄 알아야 한다는 것이다. (세부 문법은 몰라도 된다. AI 가 작성한 코드를 읽을 줄만 알아도 된다. 다시 말해, 원어민급 작문 실력까지 갖출 필요는 없다는 것이다.)

 

- 이를 위해, 내가 수업 교재를 직접 만들까도 생각해 봤는데 아직은 좀 오버인 거 같고, 어쩌면 나중에 두고 두고 참고할 만한 나만의 노트를 짜임새 있게 구성할 날이 올지도 모르겠다. 

 

- 사실, 요즘은 AI 의 도움으로 책 한 권 뚝딱 만드는 것도 그리 어렵지 않은 일이 되었다.

 

- 코파일럿에게 파이썬 프로그래밍 교재 목차를 만들어 달라고 부탁하니 아래와 같이 뽑아주었다.

 

 

나는 파이썬을 배우고 싶은 학생이야.
지금부터 나만의 파이썬 프로그래밍 교재를 만들 거니까 너가 도워줘.
먼저, 교재의 목차를 만들어줘.

 

Copilot

물론, 파이썬 프로그래밍 교재를 만드는 것은 흥미로운 일이에요! 여러분이 파이썬을 배우는 데 도움이 될 수 있도록 교재의 목차를 만들어보겠습니다. 아래는 몇 가지 가능한 목차 아이디어입니다:

  1. 파이썬 기초
    • 파이썬 설치하고 실행하기
    • 간단한 프로그램 만들기
    • 연산과 변수
  2. 반복문과 조건문
    • for 명령을 사용하여 똑같은 작업 반복하기
    • if/else 문으로 조건에 따라 다른 작업 수행하기
  3. 함수와 모듈
    • 함수 정의하기
    • 모듈 사용하기
  4. 데이터 구조
    • 리스트, 튜플, 딕셔너리
    • 세트
  5. 파일 다루기
    • 파일 읽고 쓰기
    • CSV 파일 다루기
  6. 객체 지향 프로그래밍
    • 클래스와 객체
    • 상속과 다형성
  7. 실전 프로젝트
    • 간단한 웹 스크래핑 프로그램 만들기
    • 데이터 시각화 프로젝트

이 목차를 참고하여 교재를 작성해보세요! 파이썬 프로그래밍을 배우는 여정이 흥미로워지길 바랍니다. 😊

참고로, 파이썬 교재를 더 자세히 찾아보고 싶다면 교보문고에서 제니퍼 캠벨 파이썬 프로그래밍 교과서1를확인해보시는 것도 좋은 방법입니다. 또한, 무료로 제공되는 모두의 파이썬2이라는 온라인 교재도 있으니 참고해보시기 바랍니다.


 

- 이번에는 똑같은 질문을 아래 '전자 필기장' 에서 해 보았다.

- 전자 필기장은 코파일럿과 똑같은 기능을 하는데, 긴 프롬프트를 작성할 수 있고 편집하기 쉽다는 장점이 있다.

- 대신, 한 번 실행할 때마다 앞의 결과물들이 날아가버리기 때문에 상대적으로 피드백이 어렵다는 단점이 있다. (하지만, 코파일럿과 전자 필기장을 병행해서 작업하면 시너지 효과를 낼 수도 있다.)

 

 

 

 

- 전자 필기장이 뽑은 교재 목차는 아래와 같다.


파이썬 프로그래밍 교재 목차

  1. 서론
    • 파이썬 소개
    • 파이썬의 장점
    • 파이썬 설치 가이드
  2. 파이썬 기본
    • 변수와 자료형
    • 연산자
    • 조건문과 반복문
    • 함수
  3. 데이터 구조
    • 리스트
    • 튜플
    • 딕셔너리
    • 세트
  4. 파이썬 고급 주제
    • 클래스와 객체 지향 프로그래밍
    • 모듈과 패키지
    • 예외 처리
  5. 파일 처리와 입출력
    • 파일 읽기와 쓰기
    • 파이썬에서의 표준 입출력
  6. 라이브러리 활용
    • NumPy
    • Pandas
    • Matplotlib
  7. 프로젝트
    • 프로젝트 아이디어
    • 프로젝트 구현 가이드
  8. 부록
    • 유용한 파이썬 팁
    • 추가 학습 자료

이 목차는 파이썬을 처음 배우는 학생들에게 필요한 주제를 포괄하고 있습니다. 각 장은 이전 장의 내용을 기반으로 하며, 점차 복잡한 주제로 넘어갑니다. 이 교재를 통해 파이썬의 기본부터 고급 주제, 실제 프로젝트 구현까지 체계적으로 학습할 수 있습니다.


 

 - 목차가 중요한 이유는 무슨 내용이 어디에 있고, 나중에 어디를 참고하면 되는지 쉽게 알 수 있기 때문이다.

 

- 위와 같은 목차는 추후 나만의 노트를 만들 때 활용하기로 하고, 지금은 다른 사람들이 만들어 놓은 강의나 교재를 그대로 따라가 보기로 하자.

- 단, 앞서 언급했듯이 실제 코딩 연습은 하지 않을 것이며, 코딩을 위한 프롬프트 작성에 초점을 둘 생각이다. (코파일럿이 처음부터 끝까지 도와줄 것이다.)

 

- 교재는 서두에 소개한 두 번째 강의의 교재 (wikidocs.net/book/1) 를 참고해도 되고, 코파일럿이 추천해 준 온라인 무료 교재 '모두의 파이썬' 을 참고해도 될 것이다.

 

- 일단, 나는 서두에 올려놓은 첫 번째 강의를 따라가면서, 각각의 코드에 해당하는 프롬프트를 작성해 볼 계획이다. 논리만 확실하면, 코딩은 AI가 구현해 줄 것이다.

 

 

 

다음 시간에 계속...

 

+ Recent posts