AI

AI 페어 프로그래밍을 꼭 해야하는 이유

생각파워 2024. 11. 13. 07:18

페어프로그래밍은 「클린코드」의 저자 로버트 C 마틴과 애자일 방법론의 대부 켄트벡이 주창한 개념으로 두 명이 짝을 지어 프로그래밍하는 방법을 말합니다. 한대의 컴퓨터로 한 명이 5~10분 정도 프로그래밍을 하고, 교대하는 방식으로 진행하는 거죠. 얼핏 보면 시간을 낭비하는 방식으로 보일 수 있지만, 의외로 생산성이 좋다는 평가를 받고 있습니다. 물론 아직까지 우리나라에서 페어프로그래밍을 한다는 분을 만나 뵙지는 못했습니다. 두 사람이 그러고 있으면 윗분들이 이해를 못 할 것 같은 느낌은 있네요.

 

어쨌든 이런 좋은 방법이 있었는데, 여기도 AI의 돌풍을 피해 가긴 어려워 보입니다.

AI 코딩 서비스에 대해서는 오래전부터 얘기가 있었습니다. 제일 먼저 MS가 Copilot(이하 코파일럿)이라는 서비스를 내놨었죠. 지금은 MS AI 서비스 전체가 코파일럿이라 불리지만, 그때는 코딩 AI만 코파일럿이었습니다. 당시 MS는 75억 달러라는 거액을 주고 깃허브를 인수했었습니다. VSC(비주얼 스튜디오 코드)를 무료 배포한 MS가 개발자 친화적인 정책의 일환으로 인수를 진행했다고 했었는데, 코파일럿이 출시되면서 깃허브의 소스코드 데이터를 무단으로 훈련시킨 거 아니냐는 논란이 있었습니다. 지금 돌아보니 수많은 코딩 데이터를 산 거였죠. 

 

현재는 코파일럿, Cursor(이하 커서), Replit(이하 리플릿)등의 서비스가 시장을 주도하고 있습니다.

저는 코파일럿은 구독해서 쓰고 있는 상태고, Claude(이하 클로드)를 사용해 코딩 능력이 좋다는 커서를 구독해 놓은 상태입니다. 현재까지 코파일럿을 사용한 경험담에 대해 공유하려고 합니다.

 

시대가 시대인지라 LLM을  이용한 서비스를 개발을 해보고 있었습니다. LangChain(이하 랭체인)과 Streamlit(이하 스트림릿)을 이용해 RAG★ 환경을 구축하는 것이었습니다. 랭체인 책도 사서 공부하고, 스트림릿 공식문서에서 하라는 것도 해보고, RAG 강의로 유명한 테디노트님 강의를 구매해서 열심히 듣고 한 땀 한 땀 코드를 만들어가고 있었죠.

 

한참을 그렇게 하다가 VSC에 코파일럿 버튼이 달려있는 게 보였죠. '왜 저걸 구독해 놓고 안 쓰고 있지?'라는 생각으로 또 책을 사서 공부를 시작했죠. 이렇게 타고 타고 가다가 '여기가 어디지?' 하며 포기한 프로젝트가 한둘이 아닌데, 그래도 AI 서비스니까 AI로 만들어보자는 생각으로 현재 위치를 고정하고 있습니다.

 

코파일럿을 사용해 보고 놀라웠던 건 일을 시키면 시킬수록 똑똑해지더라는 겁니다.

처음 생성한 코드도 상당한 수준의 결과를 보였지만, 차근차근 내가 원하는 내용을 전달★★하면 곧바로 더 나은 정보를 보여주는 경험을 했습니다. 원래 페이프로그램이 에러를 잡고, 새로운 아이디어를 제시하고, 코딩 방향을 안내해 주는 역할을 하는데, 코파일럿이 이 모든 작업을 순조롭게 처리해 주는 거죠. 게다가 아무리 많이 시켜도 지치지 않고, 코딩 속도도 엄청나게 빠릅니다. 코파일럿을 안쓸 이유가 없죠. 아니 꼭 써야 합니다.

 

요즘 주니어 개발자 모집이 줄어들었다는 소식이 많이 들립니다. 사부-부사수 체계가 필요 없어진걸 약삭빠른 현장에서 제일 빨리 느낀 것이겠죠. 생각해 보면 실력 좋은 시니어 개발자에 성능 좋은 컴퓨터 한대면, 팀 수준의 역량을 낼 수 있을 것 같아 보입니다. 아직 시기상조일지는 몰라도 그렇게 방향은 정해진 것 같습니다. AI 개선 속도를 보면 시니어 개발자조차 사라질지 모르겠네요. 

 

너무 막연한 시기긴 한데, 그래도 열심히 노력해 봅시다. 넷플릭스 드라마 오징어 게임에도 나오지 않습니까? 다른 사람보다 조금 더 일찍 들어오면 살아날 확률은 높아지겠죠. 

 

★ RAG(Retrieval-Augumented Generation: 검색증강생성): 할루시네이션 및 맞춤형 데이터의 부족 등에 대한 해결책으로 LLM으로 데이터를 보내기 전 신뢰할 수 있는 데이터를 검색한 후 그 데이터를 기반으로 답변을 제공하는 구조. 말 그대로 답변을 생성할 때, 검색을 증강해서 생성.

★★ 프롬프터 강수진 님의 책을 읽고 프롬프트에 대한 생각이 달라졌습니다. AI가 발전하면 프롬프트는 필요 없다고 생각했었거든요. 그런데 아직까지는 유용한 부분이 많다는 걸 알려주셨습니다. 책 한 권 읽은 사람이 제일 무섭죠? ㅋㅋ

 

 
클린 코드
완벽한 코드 작성을 위한 『클린 코드』. 클린코드를 작성하는 원칙, 패턴, 실기를 설명하고 사례 연구를 소개한다. 또한 사례 연구를 만들면서 수집한 ‘냄새’와 발견법을 열거하여 코드를 읽고 짜고 정리하는 과정에서 독자가 생각하는 방식을 묘사한 지식을 얻을 수 있도록 구성했다.
저자
로버트 C 마틴
출판
케이앤피IT
출판일
2010.03.10
 
실용주의 프로그래머
[실용주의 프로그래머]는 초보를 벗어나고자 하는 프로그래머를 위해 저자들의 오랜 성찰을 통해 정제한 지혜와 구체적인 실천법으로 안내한다. 코딩 가이드라인, 설계에 대한 격언, 프로젝트 관리에 대한 조언, 사람들과의 관계에 대한 지혜, 각 항목별 연습 문제를 제공한다.
저자
앤드류 헌트, 데이비드 토머스
출판
인사이트
출판일
2014.03.28


프롬프트 엔지니어의 업무일지
2022년 11월! 챗GPT라는 ‘대화형 AI’가 등장했을 때의 충격을 아직도 잊을 수 없다. 무엇이든지 묻기만 하면 원하는 대답을 거침없이 쏟아냈다. 그 모습을 보고 있으면 마치 ‘사람’과 대화하는 듯한 착각에 빠질 정도였다. 그러던 중 챗GPT가 때론 엉뚱하게 때론 잘못된 정보로 대답하기 시작하면서 혼란에 빠졌다. 뭐가 잘못된 걸까? 나중에야 AI에게 어떻게 질문을 하느냐에 따라 AI가 답하는 내용과 수준에 엄청난 차이가 있음을 알았다. 이처럼 대화형 AI에게 제대로 된 양질의 답변을 얻어내려면 양질의 질문을 해야 한다. 그리고 이렇게 질문하는 방법을 ‘프롬프트 엔지니어링’이라고 부른다. 이 책은 바로 이 ‘프롬프트 엔지니어링’에 대한 책이다. 하지만 단순히 프롬프트에게 “어떻게 질문하느냐”를 넘어 프롬프트를 “어떻게 개발하느냐”에 대해 다룬다. 그것도 설명을 위해 임의로 만든 예시가 아닌 국내 1호 프롬프팅 엔지니어인 저자가 직접 제작한 실제 프롬프트 사례로 ‘프롬프트 엔지니어링’을 다룬다. 단순히 거기에 그치지 않는다. 저자는 1년 동안 프롬프트를 제작하면서 그 과정과 노하우를 업무 일지로 꼼꼼하게 기록했는데, 이제 그 전부를 이 책으로 모두 풀어낸 것이다. 비즈니스 관점에서의 프롬프팅 기획, 사용자 경험을 우선시한 제작, 여러 경우의 수를 통한 테스트, 정량 및 정성적 평가, 꼼꼼한 기록과 문서화의 전 과정을 이 한 권에 풀어놓았다. 따라서 대화형 AI를 직접 만드는 개발자는 물론이고 프롬프트 엔지니어링의 원리를 이해하고 싶은 일반인까지 기초 개념부터 실습까지 프롬프팅 엔지니어링을 체계적으로 학습할 수 있다.

 

저자
강수진
출판
리코멘드
출판일
2024.08.20

 

반응형