바이브 코딩 작업 플로우 및 프롬프트 작성 요령
바이브 코딩에서 AI와 효과적으로 협업하는 작업 플로우와 프롬프트 작성법을 다룬다. 기본 작업 사이클, Plan Mode 활용법, 좋은 프롬프트의 원칙, 상황별 프롬프트 예시, 이미지 활용법까지 실전 중심으로 정리했다.
바이브 코딩에서 가장 중요한 두 가지는 "AI에게 어떻게 말하느냐"와 "어떤 순서로 작업하느냐"다. 같은 도구라도 프롬프트를 어떻게 쓰고, 어떤 흐름으로 진행하느냐에 따라 결과물의 품질이 크게 달라진다.
이 글에서는 AI와 효과적으로 협업하기 위한 작업 플로우의 기본 구조, 복잡한 작업에서 유용한 Plan Mode 활용법, 그리고 좋은 프롬프트를 작성하는 구체적인 요령까지 다룬다.
기본 작업 플로우
바이브 코딩은 AI에게 한마디 던지고 끝나는 게 아니다. 체계적인 플로우를 따라야 원하는 결과를 얻을 수 있다.
계획 → 계획 검토 및 피드백 → 실행 → 피드백 → 수정 → 최종 리뷰 → 저장
1. 계획 - AI에게 먼저 계획을 세우게 한다. "바로 수정하지 말고, 어떻게 할지 계획부터 보여줘." 어떤 파일을 어떻게 바꿀 건지 전체 그림을 먼저 확인한다.
2. 계획 검토 및 피드백 - AI가 제시한 계획을 검토한다. 방향이 맞는지, 빠진 건 없는지 확인하고 피드백을 준다. "이 부분은 다른 방식으로 하자", "이 파일도 같이 수정해야 해" 같은 조정을 거친다.
3. 실행 - 계획에 합의가 되면 AI가 실제 코드를 수정한다.
4. 피드백 - 수정 결과를 확인하고 문제점이나 개선할 점을 전달한다.
5. 수정 - 피드백을 반영해서 AI가 다시 수정한다. 4~5단계는 만족할 때까지 반복할 수 있다.
6. 최종 리뷰 - 전체 변경사항을 리뷰한다. 의도대로 수정됐는지, 빠뜨린 건 없는지 최종 점검.
7. 저장 - 문제가 없으면 커밋하거나 저장한다.
핵심은 "계획 먼저, 실행은 나중에"다. AI에게 바로 코드를 수정하라고 시키면 방향이 틀어졌을 때 되돌리기 어렵다. 계획 단계에서 충분히 방향을 맞추고, 합의된 후에 실행하는 것이 훨씬 효율적이다.
작업 크기 조절하기
큰 작업을 한 번에 시키면 AI가 방향을 잘못 잡거나 실수할 확률이 높아진다. 작업을 적절한 크기로 쪼개는 것이 중요하다.
너무 큰 요청:"로그인 기능 전체를 만들어줘. UI, API 연동, 에러 처리, 세션 관리까지 한 번에."
적절하게 나눈 요청:1. "먼저 로그인 UI를 만들어줘"
2. (결과 확인 후) "이제 API 연동을 추가해줘"
3. (결과 확인 후) "에러 처리도 넣어줘"
4. (결과 확인 후) "세션 관리 로직을 추가해줘"
각 단계에서 결과를 확인하고 넘어가기 때문에 방향이 틀어질 가능성이 줄어든다. AI가 이전 단계의 코드를 보면서 다음 단계를 진행하니 일관성도 유지된다.
프롬프트란?
프롬프트는 AI에게 보내는 지시문이다. 채팅 창에 입력하는 모든 텍스트가 프롬프트다.
같은 목적이라도 프롬프트를 어떻게 쓰느냐에 따라 AI의 응답 품질이 크게 달라진다. 요리에 비유하면, 프롬프트는 AI에게 주는 레시피 같은 것이다. 재료와 순서를 명확하게 알려줄수록 원하는 결과물에 가까워진다.
좋은 프롬프트의 5가지 원칙
1. 구체적으로 쓴다
모호한 표현 대신 구체적인 대상과 동작을 명시한다.
❌ "이거 고쳐줘"
✅ "UserService.cs의 Login 메서드에서 password가 null일 때 NullReferenceException이 발생해. null 체크를 추가해줘"
❌ "더 좋게 만들어줘"
✅ "이 함수의 시간 복잡도가 O(n²)인데, 해시맵을 사용해서 O(n)으로 개선해줘"
어떤 파일의 어떤 부분을 어떻게 바꿀지 구체적으로 쓸수록 AI가 정확하게 작업한다.
2. 맥락을 제공한다
AI는 대화 시작 시점에서는 프로젝트에 대해 아무것도 모른다. 필요한 배경 정보를 함께 전달해야 한다.
하지만 매번 프롬프트에 맥락을 입력할 필요는 없다. 반복되는 맥락은 CLAUDE.md나 AGENTS.md에 기록해두는 것이 훨씬 효율적이다. 설정 파일에 적어두면 세션이 시작될 때 AI가 자동으로 읽기 때문에, 매번 "한국어로 대답해", "이 폴더는 건드리지 마" 같은 지시를 반복하지 않아도 된다.
MD에 기록하면 좋은 것:• 기술 스택 (Unity + C# + Firebase 등)
• 프로젝트 구조와 작업 범위
• 코드 컨벤션, 네이밍 규칙
• 금지 사항 (자동 커밋 금지, 특정 파일 수정 금지 등)
• 언어, 어투 설정
프롬프트에서 직접 제공할 것:• 현재 작업의 구체적 상황: "지금 로그인 기능을 추가하는 중이야. 기본 UI는 만들어뒀는데, API 연동이 아직이야."
• 이전 작업과의 연결: "아까 만든 AuthManager에 이어서, 토큰 갱신 로직을 추가하고 싶어."
• 이번 작업만의 특수한 요구사항
프로젝트 설정 파일 작성법은 이 시리즈의 CLAUDE.md와 AGENTS.md 설정 가이드에서 자세히 다뤘다.
3. 단계를 나눈다
한 번에 여러 가지를 시키면 AI가 일부를 빠뜨리거나 방향을 잘못 잡을 수 있다.
❌ "데이터베이스 스키마 설계하고, API 엔드포인트 만들고, 프론트엔드 연동까지 해줘"
✅ 1단계: "먼저 사용자 데이터 스키마를 설계해줘"
✅ 2단계: "이 스키마에 맞는 CRUD API를 만들어줘"
✅ 3단계: "API를 프론트엔드에서 호출하는 코드를 작성해줘"
각 단계의 결과를 확인하고 다음으로 넘어가면 수정 비용도 줄어든다.
4. 예시를 포함한다
원하는 결과물의 형태를 예시로 보여주면 AI가 의도를 더 정확히 파악한다.
"API 응답 형식을 이렇게 맞춰줘:"
{
"status": "success",
"data": {
"userId": "abc123",
"nickname": "player1"
},
"error": null
}
"커밋 메시지는 이런 형식으로 써줘: '2026-02-05 14:30 로그인 기능 추가'"
"로그 출력은 이런 포맷으로: [INFO] 2026-02-05 14:30:00 - 메시지"
예시 하나가 긴 설명보다 효과적일 때가 많다.
5. 제약조건을 명시한다
AI가 하지 말아야 할 것, 지켜야 할 것을 명확하게 알려준다.
프롬프트에서 전달하는 제약조건 (작업별):"기존 API 인터페이스는 바꾸지 마. 하위 호환성을 유지해야 해."
"이 파일만 수정해. 다른 파일은 건드리지 마."
"바로 수정하지 말고 계획만 먼저 보여줘."
MD에 기록해두면 좋은 제약조건 (매번 반복되는 것):• 코드 수정 전 반드시 승인 받기
• 자동 커밋/푸시 금지
• 특정 폴더 수정 금지 (빌드 산출물, 환경변수 등)
• 외부 라이브러리 함부로 추가하지 않기
• 에러 메시지 언어 설정
매번 반복하는 제약조건이 있다면 CLAUDE.md나 AGENTS.md에 기록해두자. 세션마다 자동으로 적용되니 실수 방지에도 효과적이다.
나쁜 프롬프트 vs 좋은 프롬프트
실제 예시로 비교해보자.
버그 수정:❌ "버그 고쳐줘"
✅ "PlayerController.cs의 Jump() 메서드에서 더블점프가 되는 버그가 있어. 점프 중에 다시 점프 키를 누르면 공중에서 또 점프가 돼. isGrounded 체크 로직을 확인하고 수정해줘."
기능 추가:❌ "다크모드 만들어줘"
✅ "설정 화면에 다크모드 토글을 추가하려고 해. 기존 SettingsUI.cs에 토글 버튼을 추가하고, 선택한 테마를 PlayerPrefs에 저장하는 방식으로 구현해줘. 색상 팔레트는 기존 ThemeColors.cs에 정의되어 있어."
리팩토링:❌ "코드 정리해줘"
✅ "AuthManager.cs가 500줄이 넘어서 역할별로 분리하고 싶어. 먼저 현재 이 파일이 담당하는 책임들을 분석해주고, 어떻게 분리하면 좋을지 제안해줘. 바로 수정하지 말고 계획만 먼저 보여줘."
코드 이해:❌ "이 코드 뭐야"
✅ "NetworkManager.cs의 HandleDisconnect 메서드가 어떤 흐름으로 동작하는지 설명해줘. 특히 재연결 로직이 어떤 조건에서 트리거되는지 알고 싶어."
이미지와 스크린샷 활용
Claude Code와 Codex 모두 이미지를 분석할 수 있다. 텍스트로 설명하기 어려운 상황에서는 스크린샷을 적극 활용하자.
에러 메시지:터미널이나 에디터에 나타난 에러 메시지를 캡처해서 "이 에러 해결해줘"와 함께 전달한다. 에러 메시지를 일일이 타이핑하는 것보다 정확하고 빠르다.
UI 디자인:디자인 시안이나 목업을 보여주면서 "이 디자인대로 UI를 구현해줘"라고 요청한다. 레이아웃, 색상, 간격 등을 AI가 직접 보고 파악할 수 있다.
현재 상태:"지금 화면이 이렇게 보이는데, 여기서 이 부분을 바꾸고 싶어"처럼 현재 상태를 보여주면서 요청하면 의사소통이 명확해진다.
이미지 전달 방법:• CLI: 클립보드에 복사한 이미지를 프롬프트에 붙여넣기
• Desktop/IDE: 드래그 앤 드롭 또는 붙여넣기
• 파일 경로: "이 이미지를 참고해줘: ./screenshots/error.png"
대화를 이어가는 팁
바이브 코딩은 한 번의 프롬프트로 끝나는 게 아니라, 대화를 이어가며 결과를 다듬는 과정이다.
후속 요청으로 다듬기:"좋은데, 이 부분만 다르게 해줘"
"에러 처리도 추가해줘"
"변수명을 좀 더 명확하게 바꿔줘"
되돌리기:"방금 수정한 거 원래대로 돌려줘"
"아까 방식이 더 나았어. 그걸로 다시 해줘"
확인 요청:"이 코드에 문제가 없는지 한번 확인해줘"
"엣지 케이스를 빠뜨린 게 없는지 검토해줘"
방향 전환:"이 방식 말고 다른 접근법도 있을까?"
"성능이 더 중요하니까, 최적화 위주로 다시 해줘"
새 세션을 시작해야 할 때
하나의 세션(대화)이 너무 길어지면 AI의 응답 품질이 떨어질 수 있다. 컨텍스트가 복잡해지면서 이전 내용과 충돌하거나, 불필요한 맥락에 의해 판단이 흐려지기도 한다.
새 세션을 시작하면 좋은 경우:• 현재 작업과 완전히 다른 새로운 작업을 시작할 때
• 대화가 너무 길어져서 AI가 이전 맥락을 혼동할 때
• 이전 대화에서 잘못된 방향으로 너무 깊이 들어갔을 때
새 세션을 시작하려면 /new 명령어를 사용한다. 이전 세션으로 돌아가고 싶으면 /resume으로 불러올 수 있다. 이 내용은 이 시리즈의 기본 개념 및 설정 편에서 자세히 다뤘다.
Plan Mode 활용
복잡한 작업을 시작하기 전에 먼저 계획을 세우고 싶을 때가 있다. 코드를 바로 수정하기 전에 "어떤 파일을 어떻게 바꿀 건지" 전체 그림을 먼저 보고 싶은 경우다. 이럴 때 Plan Mode를 사용한다.
Plan Mode에서는 AI가 코드를 읽기만 하고 수정하지 않는다. 파일을 분석하고, 구조를 파악하고, 구현 계획을 세워서 보여주기만 한다. 사용자가 계획을 검토하고 승인한 후에야 실제 코드 수정이 진행된다.
Plan Mode 진입 방법
Claude Code:
# 방법 1: 실행 중에 모드 전환
Shift+Tab # Normal → Auto-Accept → Plan Mode 순환
# 방법 2: 처음부터 Plan Mode로 시작
claude --permission-mode plan
Codex:
# 방법 1: 슬래시 명령어
/plan
/plan "인증 시스템 리팩토링 계획 세워줘"
# 방법 2: 모드 전환
Shift+Tab
Plan Mode 동작 흐름
Plan Mode에서 AI는 다음 단계를 따른다.
1단계 - 탐색: 코드를 읽고 구조를 파악한다
2단계 - 설계: 어떤 접근 방식으로 구현할지 설계한다
3단계 - 검토: 불명확한 부분은 사용자에게 질문한다
4단계 - 계획 작성: 최종 계획을 문서로 정리한다
Claude Code:• 계획은 .claude/plans/ 폴더에 마크다운 파일로 자동 저장된다
• Ctrl+G로 계획 파일을 에디터에서 직접 편집할 수 있다
• 계획이 마음에 들면 Shift+Tab으로 Normal Mode로 전환하여 구현을 시작한다
Codex:• 계획이 터미널 화면에 실시간으로 스트리밍된다
• 계획 검토 후 모드를 전환하여 실행으로 넘어간다
Plan Mode를 쓰면 좋은 경우
사용하면 좋은 경우:• 여러 파일을 동시에 수정해야 하는 작업
• 큰 리팩토링이나 아키텍처 변경
• 접근 방식이 여러 가지라 뭐가 좋을지 모를 때
• 잘못 수정하면 되돌리기 어려운 작업
굳이 필요 없는 경우:• 오타 수정, 로그 한 줄 추가 같은 간단한 작업
• 한 파일 안에서 몇 줄만 바꾸는 작업
• 이미 방향이 명확한 작업
복잡한 작업에서 Plan Mode를 활용하면 "일단 수정해봤는데 방향이 틀렸다"는 상황을 미리 방지할 수 있다.
정리
작업 플로우:• 계획 → 계획 검토 및 피드백 → 실행 → 피드백 → 수정 → 최종 리뷰 → 저장
• 핵심은 "계획 먼저, 실행은 나중에"
• 큰 작업은 작게 쪼개서 단계별로 진행
• 복잡한 작업은 Plan Mode를 활용한다
프롬프트 작성:• 구체적으로 쓰고, 맥락을 제공하고, 단계를 나누고, 예시를 포함하고, 제약조건을 명시한다
• 반복되는 맥락과 제약조건은 CLAUDE.md / AGENTS.md에 기록해둔다
• 이미지를 적극 활용한다
• 대화를 이어가며 결과를 다듬는다
처음에는 프롬프트 작성이 어색할 수 있다. 하지만 몇 번 반복하다 보면 AI에게 무엇을 어떻게 전달해야 좋은 결과가 나오는지 감이 잡힌다. 완벽한 프롬프트를 쓰려고 고민하기보다, 일단 대화를 시작하고 피드백을 주면서 다듬어 나가자.