아침과 저녁. 출근과 퇴근. 반복되는 일상 속에서 새로운 무언가를 익히고, 한 나절 만에 작은 결과물을 완성해보는 경험. 이 책의 제목을 처음 보았을 때 떠오른 이미지다. 그리고 책을 다 읽은 지금도 그 인상은 크게 다르지 않다.

 

함께AI - 출근길에 읽고 퇴근길에 완성하는 바이브코딩

 

 

이 책은 AI를 이용하여 무언가를 빠르게 만들수 있도록 도와주는 책이라기 보다는, 처음 마주하는 기술의 장벽을 낮춰 쉽게 진입할 수 있도록 도와주는 책에 가깝다. 코딩이라는 단어가 주는 부담감을 AI라는 도구를 통해 한 단계 완화시켜준다. 그래서 이 책은 나처럼 개발자를 위한 전문 서적이라기 보다는 프로그래밍이라는 개념을 이해하고 싶은 사람들을 위한 안내서에 가깝다.

 

책 제목에 '코딩'이라는 단어가 들어 있지만, 책의 주된 내용은 AI를 매개로 하여, 프로그래밍이라는 세계가 어떻게 구성되어 있는지를 쉽게 이해시켜준다. 컴퓨터공학과 신입생이 실제 대학 수업을 듣기 전에 읽어도 좋겠다는 생각이 든 이유도 여기에 있다. 본격적인 기술과 구현방식을 익히기 전에 기본적인 개념을 쉬운 일상어로 이해시켜 주기 때문이다.

TCP 3번 악수하기 : SYNC/ SYNC-ACK / ACK

 

 

모든 일이 그렇지만 항상 맨 처음이 어렵지 않은가. 이 첫 난관을 둠칫 두둠칫 AI 바이브로 넘어갈 수 있다. 내가 무슨 일을 하는지, 어떤 식으로 일하는지를 부모님이나 배우자, 자녀에게 설명하고 싶을 때 이 책을 슬쩍 건네주는 것도 괜찮을 것 같다. 개발 과정에서 만나는, 하지만 이제는 개발자 종족이 되어버린 우리가 설명하려면 어렵게만 풀이되는 개념을 너무 쉽게 잘 설명한 책이다. 

 

바이브코딩의 시작

 

개인적으로 바이브 코딩은 아직은 현업에서 개념 증명 수준에서 활용하거나 작은 자동화 도구를 제작해 보는데 가장 유용하다고 생각한다. 우리는 일상속에서 반복해서 처리해야 하는 여러 일들을 많이 마주하게 된다. 이런 문제를 겪는 시장이 너무 작거나, 너무 개인화되어 있어서 일상적인 제품으로는 출시되기 어렵다. 이럴 때 비전문 개발자도 AI의 힘을 빌어 자신만의 도구를 만들어 활용할 수 있다면 바이브 코딩의 효용성은 충분하다고 생각한다. 그 과정이 누군가에게는 아마도 프로그래밍의 세계로 들어가는 첫 관문이 될 것이다.

 

 

책 곳곳에 담긴  저자의 철학도 재미있다.

 

사람은 누구나 실패할 수 있습니다. 오래전 누군가 이야기했던 것처럼 실패는 성공의 어머니일지도 모릅니다. 하지만 그 실패를 직접 맞닥뜨리는 일은 쉽지 않습니다.

 

디지털 세계에서 데이터는 흐르는 강물 처럼 매 순간을 기록한 모든 형태의 기록입니다.

 

문법의 본질은 규칙입니다. 누군가와 특정한 언어로 이야기해야 한다면 서로 이해할 수 있는 언어와 문장 구조를 따라야만 소통이 가능합니다.

 

 

책 표지에 문구처럼, 이 책은 '일상과 업무에 AI를 더하는 방법'을 이야기하려한다. 기술전문가가 되기 위한 길을 제시하는 책이라기 보다는, 기술을 두려워하지 않게 도와주는 책이다. 바이브코딩이라는 이름을 달고 있지만, 읽다보니 '1일 1로그 100일 완성 IT 지식'과 비슷한 결의 교양서적같다는 느낌도 받았다. 

 

이 책은 내 책장보다는 아내의 책장, 아이의 책장에 더 어울릴 것 같다. 이 책 다음으로 <어쨌든 바이브코딩>을 읽으려했으나 다음주에 '혼공바이브코딩'저자분의 온라인 특강이 있다고 하여 그 책부터 먼저 살펴봐야겠다.

 

 

 

 

출근길에 읽고 퇴근길에 완성하는 바이브 코딩 | 노승헌 - 교보문고

출근길에 읽고 퇴근길에 완성하는 바이브 코딩 | 챗GPT를 사용해 봤다면 누구나 완성하는 바이브 코딩! 자투리 시간에 던지는 프롬프트 한 줄, 세상에 없던 '나만의 앱'이 당신의 손에서 탄생합니

product.kyobobook.co.kr

 

반응형

 

AI가 소프트웨어 개발 영역으로 들어오면서 예전에는 개발자가 코드를 작성했다면, 이제는 코드를 짓기 시작한다. 그동안 개발자의 역할 중 직접 타이핑을 하던 행위는 어느새 AI를 활용하여 코드가 생산되도록 바뀌고 있고, 개발자는 이렇게 생겨난 여유 시간을 구조를 설계하고 조합하는데 더 많이 쓸 수 있게 되었다. 현재 코딩 에이전트 내지 코딩 AI를 적극적으로 업무에 활용하려 한다면  결국 선택지는 3개 - 앤트로픽이 만든 클로드 코드(이하 CC), OpenAI가 만든 코덱스, 구글이 만든 제미나이 - 중 하나가 된다. 나는 반년 넘게 클로드 코드 MAX 200 플랜을 사용했던지라 CC는 익숙한 편인데, 나머지 두 도구는 CC에 대한 이해를 기반으로 그럭저럭 사용하는 수준이라 생각했다. 최근 카카오에서 구입한 코덱스 이용권도 있고, 제미나이도 유료로 사용중인지라, 나머지 두 도구도 한번 제대로 사용해 봐야겠다는 생각을 가지고 이 책을 읽게 되었다.

 

이 책은 도구의 기본 사용법을 충실하게 설명한다. 사실 AI 도구들은 개발자들이 대충 사용해보면 그럭저럭 동작하기 때문에 특별한 계기가 없다면 도구의 사용법을 살펴보지는 않는다. 하지만 개인적으로는 엔지니어링이란 공학 도구를 이용하여 적절한 리소스(비용/시간) 를 들여 원하는 기능(결과)를 만들어내는 지식체계이고, 이 과정이 일관되게 재현되어야한다. 그렇다면 도구에 대해서도 한번쯤 살펴보는 것이 엔지니어링 과제에 도움이 되지 않을까.

누가 도구의 사용 설명서를 읽고 사용하냐고... 하지만 토큰이 녹아내리니 읽어봐야지

 

이 책은 크게  도입, 각 도구에 대한 설명, 워크 플로 종합으로 이루어진다. 1,2장에서는 기본적인 AI Coding 도구에 대해 설명한다. 이어 AI 코딩 3대장 도구에 대해 각각 설치하여 시작하기, 실제로 운영해 보기, 고급 활용 팁을 다루는 장으로 이루어져 있다. 12장부터 14장까지는 앞에서 소개한 도구를 활용하여 프로젝트를 진행하고 활용하는 방법, 바이브 코딩 등을 소개한다. 여러 내용을 다루고 있긴 하지만 결국 이 책에서 가장 많이 할애하는 부분은 3대장 도구의 특징과 실전 활용 전략이다. 그 중에서도 CC에 대해 가장 많이 설명하고 있다.

 

앞에서 이야기한 것처럼 나는 코덱스와 제미나이의 활용도를 높이는 것이 목적이었기 때문에 1,2장을 필요한 부분부터 먼저 읽었다.  예전에도 이런 내용의 책과 문서를 읽었는데, 이 책에서는 실제 사용법을 중심으로 설명하였고, 친절하고 자세히 설명하고 있기 때문에 읽기 편했다. 세 도구의 유사점도 느낄 수 있었고, 미묘한 접근 방식의 차이점도 이해할 수 있다.

 

팀 단위에서 AI 도구의 사용법을 표준화하려고 고민하는 리더라면 팀원들과 이 책을 함께 읽으면서 공감대를 마련하는 것도 유용한 방법일 것 같다. 앞에서 이야기한 대로 바이브 코딩이나 어떻게 프롬프트/컨텍스트를 제공해서 개발 품질을 높일 것인가에 대한 책은 아니다. 오히려 일관된 품질의 코드를 생산해 내기 위해 도구를 어떻게 팀 단위에서 설정할 것인지를 보여주는 책이다. 따라서  AI가 개인 생산성 도구에 머물렀던 단계에서, 팀 단위 엔지니어링 도구로 확장하는 방법을 소개하는 책으로 볼 수 있다. 이 책은 도구에 대한 설명이 주가 되므로, 고급 프롬프트 전략에 대한 내용을 기대했다면 아쉬울 수 있다. 도구의 이해와 전략의 이해를 분리해서 접근하는 것이 더 효과적이겠다.

 

읽으면서 책에 남겨둔 내 생각 노트들..

  • AI 도구들이 CLI 형태로 제공되는 것은 결국 자동화를 하기 위한 것. 따라서 최대한 자동으로 워크플로를 진행할 수 있는 방법을 지속적으로 고민해야 한다.
  • 윈도우에서는 파워쉘을 사용하는데, 개인적으로 윈도우 터미널이 더 편한 것 같다. 다른 사람들에겐 어떤지 물어봐야 겠다. (하지만 대부분의 개발자는 MacOS를 사용한다는 사실....)
  • CC와 같은 AI도구를 효율적으로 활용하려면 모델이 정보를 어떤 방식으로 읽고, 어떤 순간에 컨텍스트가 부족해 지는지를 알아야 한다. (p.139) 
  • CC는 200K 토큰 지원. 대략 영어 문서 기준 300~600쪽 분량. 
  • 역시 CC가 코딩 AI CLI 중에서 기능이나 워크플로 통합이 앞서있구나하는 생각이 듦.
  • 결국 메모리 파일(claude.md, agents.md 등)을 간결하게 유지하면서 명확하게 관리해야 일관성이 생김.  이런 파일들에서 불필요한 정보가 많을 수록 중요 정보가 맥락에서 밀려나게 된다는데, 불필요의 기준을 어떻게 잡는 것이 좋을까? (p.290)
  • 이미지를 첨부할 때 미리 다른 챗팅을 통해 텍스트로 변환하여 이 텍스트를 첨부하는 것과 그냥 이미지를 바이너리로 첨부하는 것은 차이가 없을까?
  • 삼대장 CLI들이 세션 로그를 남기는데, 이 세션로그를 AI에게 분석하게 시킴으로써 내가 이 AI도구를 더 효과적으로 사용할 수 있는 방법에 대해 피드백을 받을 수 있을까?

 

계속해서 다른 AI 도구에 대한 책을 읽어봐야겠다.

이어서 읽어볼 책들..

반응형

+ Recent posts