
AI를 바라보는 느낌이 딱 이 움짤 같습니다. 취업이 힘들어지긴 했는데 이 자식 없이 어떻게 살았을까 하는 생각이 싸악 올라옵니다. 강력한 선배 개발자들의 피땀노력이 전부 인터넷에 오픈된 덕분에 지식을 흡수한 AI만 활용해도 어느정도 그럴듯한 개발이 가능해졌습니다.
물론 내부가 어떻게 돌아가는지 확인하고 성능 이슈를 피하기 위해서는 여전히 개발자가 필요하지만 언젠간 이것도...AI가 다 하는 세상이 오지 않을까 싶습니다.
서론이 길었지만 이미 맞이한 AI 시대, 개발자는 그럼 어떻게 살아가야 하는지 Claude CLI를 활용하는 바이브 코딩에 대해 알아볼까 합니다.
저의 후기는 아니고 다른 분들의 후기입니다. 각자 느끼는 장단점이 거의 비슷합니다. 긍/부정이 갈린 것이지 장단점은 다 똑같다는 뜻입니다.
근본적인 이야기라 생각한다. 모든 공학도들은 "만들기"를 "효율적"으로 하는 것을 좋아한다. 원래 토목을 전공했으니 비유를 해보자면 콘크리트는 미친 튼튼함을 미친 효율로 만드는 건설 자재라 사용한다. 별 조합을 해보면서 가장 효율적인 방법을 찾았고 그것이 토목 공학이다. 컴퓨터공학도 마찬가지라 생각한다.
즉 효율성이 핵심입니다. 개발자들은 반복 구현, 스타일 맞추기 (컨벤션) 등에 시간을 많이 소요했었는데 이제 AI가 이 과정을 자동화 해주기 때문에 사용합니다.
AI는 코드를 대신 써주는 보조 도구로 사용했었지만 이젠 기업 또는 개발자 개인이 가진 취향, 원칙, 제약도 코드에 반영해줍니다.
EX)
이런 규칙은 문서로만 기록되거나 코드 리뷰에서 계속 언급되지만 실제 작성 단계에서는 AI가 자동으로 반영하지 못했습니다. 하지만 바이브 코딩의 등장으로 이 보이지 않는 원칙을 AI 프롬프트와 명령으로 고정할 수 있게 되었습니다.
장점
단점
꽤나 명확한 한계에도 불구하고 여러 기업에서 개발자 목을 치고 사용하는 것엔 너무 압도적인 효율에 있다 생각합니다. 이젠 바이브 코딩에 가장 많이 사용하고 있는 Claude Code (CLI)에 대해 알아보겠습니다.

SWE-bench에 따르면 현재 Claude 4 Opus의 성능이 LLM Model들 중 1위라고 합니다. 실제로 현업에 계신 분들에게도 물어보니 주로 개발을 하면서는 Claude, Cursor, Gemini CLI를 더 자주 사용하신다고 합니다.
Anthropic 공식 홈페이지에 잘 설명되어 있습니다.
Node.js 18 혹은 그 이상 버전이 설치되어 있다면 아래 명령어로 바로 사용 가능합니다.
# Install Claude Code
npm install -g @anthropic-ai/claude-code
# Navigate to your project
cd your-awesome-project
# Start coding with Claude
claude
# You'll be prompted to log in on first use
# 참고
# 정상 설치 확인
claude doctor
# 업데이트
claude update
이후 터미널에 claude 입력 시

이렇게 정상 실행되시고 설정 진행해주시면 끝입니다.
Claude CLI는 한번 실행하고 끝나는 것이 아니라 세션을 이어갈 수 있는 기능을 제공합니다.
EX) 프로젝트의 맥락을 학습시킨 뒤 대화 이어나가기
# 새로운 세션 시작
claude "이 프로젝트의 빌드 구조를 요약해줘."
# 이어서 같은 세션 사용
claude -r "<세션ID>" "Service 계층의 테스트 전략도 알려줘."
이런 식으로 사용하시면 매번 같은 프롬프트를 입력하지 않아도 됩니다.
POST /api/schedule/generate : 제약을 받아 LLM 호출 → 편성표 JSON 응답GET /api/health : 헬스체크LLM_API_KEY, LLM_BASE_URL, LLM_MODEL“우리는 Java 17 + Spring Boot 3.3로 REST API를 만들 거야. 목표는 ‘LLM 기반 방송 편성표 생성 API’.
요구사항:
POST /api/schedule/generate: 입력(날짜, 채널 수, 시간대 범위, 장르 분포, 연령등급 제한 등)을 받아 LLM에게 프롬프트→ JSON 편성표 반환
OpenAI 호환 API 호출(환경변수: LLM_API_KEY, LLM_BASE_URL, LLM_MODEL)
DTO, Controller, Service, LLM 클라이언트 계층 분리
프롬프트 템플릿과 시스템 프롬프트를 별도 클래스/리소스로 분리
간단한 HTML 파일로 결과를 호출/표 렌더
Build: Gradle, 패키지명: com.example.scheduler
위 스펙으로 패키지/파일 구조와 최소 동작 코드를 생성해줘.”
이어서: “컨벤션: Entity에 Setter 금지, Service는 비즈니스 로직만, 로그에 개인정보 금지, Response는 불변 DTO, Javadoc 달아줘.”

어떠셨나요? AI가 지배하는 세상을 어떻게 헤쳐나갈지 감이 좀 오시나요? 저는 아직 오지 않아서 다음 부터는 바이브 코딩으로 뚝딱뚝딱 무엇인가를 만들어보는 글을 작성해보려합니다. 마음 속 짐인 빅분기 필기가 끝나있을 것이기 때문입니다.
-
요즘 채용 시장에 코테가 하나 둘씩 사라지고 있습니다. 조심스럽지만 이젠 정말 코딩 실력보단 설계 능력이나 AI를 기깔나게 패서 올바른 방향성을 제시하는 능력이 더 중요하다 보는 것이 아닌가 싶습니다.
아아~ 열심히? 공부했는데 이미 AI가 다 알고있고 나보다 더 자세히 알고 실수도 나보다 적은 이 세상 어쩌면 좋지.
-
주절주절했지만 결국 활용은 인간이 하는 것 아니겠습니까? 시대가 변했으면 적응하면 될 일. 다음엔 뚝딱 만들어서 그 과정을 잘 정리해보겠습니다.