ChatGPT 대리를 과장으로 승진시키기

 

1/ 2022년 11월 조용히(?) 오픈한 ChatGPT. 처음에는 자연어로 컴퓨터와 대화할 수 있는 AI로만 인식하고, 개발업무에 활용해 보았다. 이것저것 자료 조사도 시켜보고, 코드 작성도 시켜보고, 기존 코드 개선 작업도 시켜보았다. 놀라움. 그 뒤로 주변 동료들에게 'ChatGPT 써보세요. 괜찮은 대리급 개발자 2명을 데리고 함께 일하는 느낌이에요'라고 홍보하고 다녔다. 그 뒤 서점에서 출간된 ChatGPT 서적과 ChatGPT활용 서적(직장인 활용법 서적)들을 읽어 보았는데, 나름 도움이 되었지만, 활용예들이 일반적이었다.

 

2/ 지난 4월 우연히 페북 친구의 친구 네트워크를 통해 MS에 근무하시는 양파님이 ChatGPT를 이용한 영어공부 방법에 대한 글을 보게 되었다. 양파님이 페북에서만 활동하시는 줄 알고, 트위터에 올린 적이 있었는데..무려 4600번의 리트윗, 5600번의 좋아요, 5600번의 북마크가 이루어졌다.

3/ 양파님은 MS에서 AI관련 데이터 사이언티스트로 근무하시는 것으로 알고 있다. 앞에서 소개한 영어단어 프롬프트로 내가 ChatGPT를 사용하는 방식이 많이 바뀌었는데, 이번에 개발자를 위한 ChatGPT 책을 낸다고 해서 기다렸다. 운좋게도 출판사로부터 책을 제공받아 리뷰할 수 있게 되었다.

 

4/ 이 책은 개발자의, 개발자를 위한, 개발자에 의한 GPT 활용서이다. 챗 GPT가 동작하는 개념을 소개한 다음, 일상 작업에서 실제 개발 업무 활용까지 깊이를 더해가면서 ChatGPT를 어떻게 활용할 것인가가 주요 내용이다. 물론 5장에서 ChatGPT API를 활용하여 AI 어플리케이션을 개발하는 방법도 소개하고 있지만, 양파님이 집중해서 소개하고자 하는 부분은 개발자들의 일상 업무에 ChatGPT를 어떻게 활용할 수 있는지(이력서 작성하기, 코드 작성하기, 리뷰하기), 프롬프트를 어떤 식으로 작성하면 개발에 도움이 되는지, 개발자 스킬업에 AI를 활용할 수는 없는지(LeetCode 같이 풀기, 인터뷰 연습하기..) 등이다. AI나 ChatGPT의 기술적이고 수학적인 동작원리가 궁금한 개발자라면 아쉽지만 이 책은 그 목적으로 쓰여진 책은 아닌 것 같다.

 

5/ ChatGPT, 쓰면 쓸수록 괜찮은 도구로, 일상 개발 업무에 매우 유용하다. 자연어라는 매력적인 인터페이스 덕분에 손쉽게,별도 설명서 없이 바로 이용할 수 있다. 하지만 그 이면에 숨어있는 ChatGPT가 답을 구하는 방식이라든지, 효과적인 프롬프트 작성법을 익히면 활용도, 효과가 극적으로 상승한다.  따라서 이 책은 일종의 개발자 CahtGPT 활용 비급이다. 처음 ChatGPT를 접했을 때 대리 2명 역할을 수행한다고 했는데, 책에 소개된 프롬프트 기법이나 플러그인, 활용 범위 등을 익힌 후 '아 이제는 과장으로 승진시켜도 되겠다'라는 생각을 해보았다.

 

6/ ChatGPT 말고도 개발자로 얻을 수 있는 부분들이 많다. 나는 특히 MS의 개발 프로세스가 재미있었는데, 25쪽과 26쪽에 걸쳐 내부에서 하나의 기능이 기획되어 사용자에게 배포되는 전체 과정을 잘 소개하고 있다. MS에 근무하는 개발자분은 이런식으로 업무를 진행하고, 저렇게 AI를 활용하는구나하는 점은 부록으로 느낄 수 있다. 에필로그도 좋았다. 시류에 편승하기 보다는 롱런하는 개발자의 마인드셋을 지켜볼 수 있었다.  

 

7/ 몇줄로 이 책의 느낌을 정리하자면.

- AI를 제대로 활용하기 위해 개발자라면 한번쯤은 읽어야 하는 책

- 개발자의, 개발자에 의한, 개발자를 위한 ChatGPT 활용서

다만 아쉬운 점은 ChatGPT의 프롬프트와 응답을 모두 그림(스크린샷)으로 인쇄되었는데, 본문 글꼴보다 약간 작아서, 노안이 온 나에게는 조금 불편했다. 차라리 텍스트로 편집해 주었으면 하는 약간의 아쉬움이 들었다.

 

*    "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

 

양파님 책에서 뽑은 글귀.

 

"콘텐츠를 AI로 쉽게 만들 어 낼 수 있다고 해도 결국 팔리는 것은 사람의 의도하에 만들어진 재미있는 내용이지, 실험적으로 이렇게 저렇게 만들어낸 짧은 동영상은 아닙니다."

구글 검색의 경우 키워드를 미리 알고 있는 분들이라면 문제 없이 쓰겠지만..... 챗GPT에게 어떤 작업인지 설명하고 그 작업을 어떻게 해야 하는지 물어보면 답변 내용은 틀릴 수 있어도 더 정확하게 검색할 수 있는 만큼의 컨택스트와 힌트는 얻어낼 수 있습니다.(p.107)

자신이 이미 가지고 있는 전문성에서 어떤식으로 LLM을 이용해야 효율성을 올릴 수 있는지, 사용자의의도를 더 쉽게 파악하고 UI의 복잡성을 줄일 수 있는지, 지겹고 반복적인 업무를 쉽게 처리할 수 있는지 시나리오를 찾을 수 있다면, LLM 사용방법을 배우는 것은 그리 어렵지 않습니다.(p.256)

 

 

 

이 책을 읽고 나면 이 프롬프트의 의미가 이해된다!

 

 

 

반응형

요즘은 모듈/패키지/프레임워크를 이용하여 기능을 구현하는 경우가 많다. 생산성을 위해서는 그럴 수 밖에 없다고 생각한다. 그러다보니 그냥 동작하는 것처럼만 보이면 OK인것처럼 인식하는 경우도 많다. 하지만 문제와 해결방안, 그 원리를 이해하지 않으면 작성된 코드들이 결국 유지보수하는 과정에서 복잡도가 증가하여 오래 살아남기 힘들다.

이런 문제의 해결 방법은 의도를 가지고 코드를 작성하는 것이라 생각하는데.. 의도를 가지려면 본인이 해결하고자 하는 문제를 인식하고 그에 대한 해결 방안에 대한 이론과 가설을 세워야 한다. 문제를 어떻게 인식하고 접근할 것인가에서는 세상을 바라보는 사상이나 철학이 반영된다고 생각한다. 중요한 것은 자신의 접근방식 모델을 세운 다음 코드를 작성해야 한다는 점!

즉, 자신이 해결하려는 문제를 인식하여 과제로 정리한 후, 문제에 대한 이해를 바탕으로 나름의 이론과 가설을 세워 해결방안 또는 접근방안을 만들고, 이를 코드로 녹여내려는 의식적인 흐름이 필요하다. 이런 생각을 가지고 있던 중 실용주의 프로그래머 20주년 기념판 288쪽-289쪽에 좋은 내용이 나와있어서 핵심 문구만 소개한다.

 

  • 코드를 마주 찍어내는데에 드는 시간을 줄이고 싶고, 가능한 한 개발 주기 초기에 오류를 잡아서 고치고 싶고, 애초부터 오류를 더 적게 만들고 싶다면 의도적으로 프로그래밍 해야 한다.
  • 언제나 지금 무엇을 하고 있는지 알아야 한다.
  • 더 경험이 적은 프로그래머에게 코드를 상세히 설명할 수 있는가?
  • 자신도 잘 모르는 코드를 만들지 마라
  • 계획을 세우고 그것을 바탕으로 진행하라
  • 신뢰할 수 있는 것에만 기대라
  • 가정에 의존하지 마라. 무언가를 신뢰할 수 있을지 판단하기 어렵다면 일단 최악의 상황을 가정하라
  • 가정을 기록으로 남겨라
  • 코드 뿐만 아니라 여러분이 세운 가정도 테스트 해보라.
  • 추측만 하지 말고 실제로 시험해보라
  • 중요한 것에 먼저 시간을 투자하라. 중요한 부분이 가장 어려운 부분이기도 한 경우가 많다
  • 더는 적절한 코드가 아니라 싶으면 어떤 코드라도 교체할 수 있다. -> 리팩토링

 

실용주의 프로그래머 20주년 기념판/인사이트

 

사족> 실용주의 프로그래머 20주년판 2/3 정도 읽었는데, 정말 세월의 흐름에 상관없이 읽어볼 책이다. 저자는 20년동안 정체된 것이 아니라 발전하는 개발자의 모습을 보여준다.

사족#2> ChatGPT를 개발에 많이 활용해 보고 있다. ChatGPT가 주는 답이 기존 구글링보다 좋은 검색결과라기 보다는 내 머리속에 혼재되어 있는 생각들을 ChatGPT와 대화하면서  모델로 만들 수 있기 때문에 큰 도움이 된다고 생각한다. 그 모델에 확신을 더해 의도를 명확하게 하여 코드를 작성하는 것!

반응형

+ Recent posts