프롬프트 잘 쓰는 법
"해줘" 한 마디로 끝내지 않고, AI가 한 번에 정확하게 하게 만드는 요청 작성 공식
프롬프트는 요리 레시피입니다
모호한 레시피로는 같은 음식이 안 나옵니다. AI도 마찬가지입니다. "예쁘게 만들어줘"와 "배경은 흰색, 버튼은 둥글게, 글자는 16px"는 전혀 다른 결과를 냅니다.
좋은 프롬프트의 4가지 요소
1. 무엇을 (What)
행동 동사로 시작합니다.
"로그인 기능"→ "로그인 페이지를 만들어줘"
2. 조건 (Constraint)
범위와 제약을 명시합니다.
"로그인 페이지를 만들어줘. 이메일+비밀번호만, 소셜 로그인 없이, 새 라이브러리는 설치하지 말고 기존 Supabase 클라이언트만 써서."
3. 기준 (Standard)
어떻게 되면 성공인지 알려줍니다.
"성공 시 /dashboard로 이동하고, 실패 시 에러 메시지를 폼 아래에 빨간 텍스트로 보여줘."
4. 참조 (Reference)
예시나 파일을 지목합니다.
"@src/components/SignupForm.tsx 와 같은 스타일로 만들어줘."
상황별 프롬프트 패턴
새 기능 추가
"[기능]을 추가해줘. 파일은 @[파일] 을 수정하고, [조건]. [성공 기준]."
버그 수정
"@[파일] [줄 번호] 근처에서 [현상]이 생겨. 원인을 찾아서 고쳐줘. 수정 전에 원인을 설명해줘."
리팩터링
"@[파일]을 [목적]에 맞게 정리해줘. 동작은 바꾸지 말고, [제약]."
잘 모를 때
"[상황]을 해결하는 방법 3가지를 비교해줘. 각각의 장단점과 우리 프로젝트에 맞는 것을 추천해줘."
피할 패턴
| 피할 것 | 이유 | 대신 |
|---|---|---|
| "전체를 다시 써줘" | 검토 불가 | "이 함수만 리팩터링해줘" |
| "최선을 다해줘" | 기준이 없음 | "응답 시간 200ms 이하로" |
| "알아서 해줘" | 의도 전달 안 됨 | 조건을 3개 이상 명시 |
| "왜 안 돼?" | 정보 부족 | 에러 메시지 + 코드 + 시도한 것 붙여넣기 |
길이에 대해
짧은 프롬프트가 항상 나쁜 건 아닙니다. 단순한 작업은 짧게. 복잡한 작업은 조건을 갖춰서. 불필요한 배경 설명은 오히려 핵심을 묻습니다.
반복 수정 방법
첫 결과가 맘에 안 들면 전체를 다시 쓰는 대신:
"버튼 색을 파란색으로 바꿔줘."
"3번 항목의 간격이 너무 좁아. 위아래로 16px씩 늘려줘."
조각 하나씩 고치면 어디서 틀렸는지 알 수 있고, 되돌리기도 쉽습니다.