무엇을 만들지 구체적으로 설명하고 목표·제약·예시를 함께 주어 에이전트의 오해를 줄이는 요청법을 배운다.
의도를 잘 전달하기
바이브 코딩의 결과 품질은 거의 전적으로 요청의 품질에 달려 있다. 에이전트는 마음을 읽지 못한다. 머릿속에만 있는 가정을 글로 꺼내 명확히 전달할수록, 다시 고치는 횟수가 줄고 첫 결과가 의도에 가까워진다. 이 강의에서는 모호함을 줄이는 요청법을 다룬다.
학습 목표
- 좋은 요청의 3요소(목표·제약·예시)를 구성할 수 있다.
- 모호한 표현을 구체적인 표현으로 바꿀 수 있다.
- 좋은 요청과 나쁜 요청을 구분하고 개선할 수 있다.
요청의 3요소: 목표 · 제약 · 예시
좋은 요청은 보통 세 가지를 담는다.
- 목표(무엇을, 왜): 만들려는 결과와 그 쓰임.
- 제약(지켜야 할 것): 사용할 기술, 스타일, 하지 말아야 할 것.
- 예시(구체적 형태): 입력/출력 예, 화면 모습, 데이터 형식.
나쁜 예와 좋은 예를 비교해 보자.
> 로그인 기능 만들어줘
이 요청은 너무 열려 있다. 어떤 인증 방식인지, 어떤 기술 스택인지, 성공/실패 시 무엇을 할지 전부 에이전트가 추측해야 한다.
> React + TypeScript로 로그인 폼 컴포넌트를 만들어줘.
> - 입력: 이메일, 비밀번호
> - 제약: 외부 인증 라이브러리는 쓰지 말고, onSubmit으로 부모에 값만 전달
> - 검증: 이메일 형식이 틀리면 인풋 아래 빨간 메시지 표시
> - 예시 동작: 제출 성공 시 콘솔에 { email, password } 출력
목표, 제약, 검증 규칙, 예시 동작이 모두 들어 있어 에이전트가 추측할 여지가 거의 없다.
모호함 줄이기
흔히 모호함을 만드는 표현과 그 대안이다.
| 모호한 표현 | 구체적인 표현 |
|---|---|
| "예쁘게 만들어줘" | "여백을 넉넉히, 버튼은 둥근 모서리, 모바일에서 1열" |
| "빠르게 동작하게" | "목록 1만 건에서 스크롤이 끊기지 않게 가상 스크롤 적용" |
| "적당히 검증해줘" | "빈 값과 100자 초과를 막고 메시지를 보여줘" |
| "기존 방식대로" | "src/api/client.ts의 fetch 래퍼를 그대로 사용해서" |
판단 기준이 들어가는 단어(예쁘게, 빠르게, 적당히)는 거의 항상 더 풀어써야 한다.
맥락을 함께 준다
에이전트는 현재 프로젝트의 파일을 읽을 수 있다. 어떤 파일과 패턴을 따라야 하는지 짚어주면 일관성이 크게 올라간다.
> 새 페이지를 추가할 건데, src/pages/about.tsx와 같은 구조와 스타일을 따라줘.
> 라우팅 등록 방식도 기존 페이지들과 동일하게 맞춰줘.
"기존 코드를 먼저 보고 그 컨벤션을 따르라"고 말하는 것만으로도 결과가 프로젝트에 자연스럽게 녹아든다.
한 번에 너무 많이 요구하지 않기
요청 하나에 기능 다섯 개를 욱여넣으면, 어디서 틀어졌는지 추적하기 어렵다. 큰 그림은 다음 강의(계획)에서 다루고, 개별 요청은 검토 가능한 크기로 유지한다.
# 피한다: 한 번에 전부
> 회원가입, 로그인, 비밀번호 찾기, 프로필 수정, 회원 탈퇴를 다 만들어줘
# 선호: 한 조각씩
> 먼저 회원가입 폼만 만들자. UI와 검증까지.
좋은 요청 체크리스트
- 만들 결과와 쓰임을 한 문장으로 적었는가?
- 사용/금지할 기술과 스타일을 명시했는가?
- 입력·출력 또는 화면의 구체적 예시가 있는가?
- 따라야 할 기존 파일/패턴을 가리켰는가?
- 검토할 수 있는 크기인가?
요약
에이전트는 받은 글자만큼만 안다. 목표·제약·예시를 갖추고, 판단이 들어간 모호한 단어를 구체적으로 풀고, 따라야 할 기존 코드를 가리키며, 한 번에 적당한 크기로 요청하면 결과가 의도에 훨씬 가까워진다. 좋은 요청은 결국 다시 고치는 시간을 줄여 준다.
댓글 0
“Claude Code로 바이브 코딩하기” 강좌에 대한 댓글입니다.