AI 프롬프트 작성의 기본 원칙: 좋은 질문이 아니라 재사용 가능한 입력 구조를 만든다
AI 프롬프트 작성의 기본 원칙: 좋은 질문이 아니라 재사용 가능한 입력 구조를 만든다
먼저 결론
프롬프트를 잘 쓴다는 건 멋진 문장을 쓰는 일이 아닙니다. AI가 추측해야 하는 빈칸을 줄이고, 결과물을 검수 가능한 형태로 받는 일입니다.
대부분의 사람은 AI에게 이렇게 묻습니다.
이거 정리해줘.
좋게 써줘.
아이디어 좀 줘.
이런 질문도 답은 나옵니다. 문제는 결과가 매번 흔들린다는 것입니다. 한 번은 괜찮고, 한 번은 뻔하고, 한 번은 엉뚱합니다. 이유는 간단합니다. 목표, 맥락, 제약, 출력 형식, 검수 기준이 없기 때문입니다.
이 글은 프롬프트를 "잘 부탁하는 문장"이 아니라 "작업 지시서"로 바꾸는 기본 원칙을 정리합니다.
좋은 프롬프트의 한 문장 정의
좋은 프롬프트는 모델이 무엇을 해야 하는지뿐 아니라, 무엇을 기준으로 성공 여부를 판단해야 하는지까지 알려주는 입력 구조입니다.
OpenAI의 프롬프팅 가이드도 프롬프트 품질이 출력 품질에 큰 영향을 준다고 설명합니다. 핵심은 명확한 지시, 필요한 맥락, 출력 형식, 반복 가능한 테스트입니다.
참고: OpenAI Prompting guide, OpenAI Prompt engineering guide
기본 구조: 역할보다 먼저 목표다
많은 프롬프트 글이 "역할을 부여하라"에서 시작합니다. 역할은 도움이 됩니다. 하지만 역할보다 먼저 정해야 할 것은 목표입니다.
나쁜 예:
너는 10년 차 마케터야. 이 글을 잘 써줘.
좋은 예:
목표:
이 글을 처음 보는 독자가 30초 안에 서비스의 핵심 가치를 이해하게 만든다.
독자:
AI 도구는 많이 들어봤지만 실제 업무에 어떻게 적용할지 모르는 1인 사업자.
출력:
1. 한 줄 핵심 메시지
2. 3문단 소개글
3. 독자가 바로 해볼 행동 3개
제약:
- 과장된 표현 금지
- 추상적인 생산성 표현 금지
- 실제 사용 장면을 포함
역할은 방향을 주지만, 목표는 결과를 결정합니다.
프롬프트 6요소
| 요소 | 질문 | 없으면 생기는 문제 |
|---|---|---|
| 목표 | 무엇을 얻고 싶은가 | 답변이 장황해짐 |
| 맥락 | 어떤 상황인가 | 일반론이 나옴 |
| 입력 | 무엇을 바탕으로 답해야 하는가 | 모델이 빈칸을 추측함 |
| 제약 | 무엇을 피해야 하는가 | 원하지 않는 방향으로 확장됨 |
| 출력 형식 | 어떤 형태로 받을 것인가 | 재사용하기 어려움 |
| 검수 기준 | 좋은 답변인지 어떻게 판단할 것인가 | 결과를 고칠 수 없음 |
이 여섯 가지를 모두 넣으면 프롬프트가 길어집니다. 하지만 결과를 다시 수정하는 시간이 줄어듭니다.
기본 템플릿
[목표]
- 내가 얻고 싶은 최종 결과:
[맥락]
- 현재 상황:
- 대상 독자/사용자:
- 이미 시도한 것:
[입력]
- 참고 자료:
- 반드시 반영할 내용:
- 제외할 내용:
[제약]
- 톤:
- 분량:
- 금지 표현:
- 주의할 리스크:
[출력 형식]
1.
2.
3.
[검수 기준]
- 좋은 답변의 조건:
- 실패한 답변의 조건:
이 템플릿은 글쓰기, 개발, 분석, 요약, 기획에 모두 쓸 수 있습니다.
상황별 템플릿 1: 글쓰기
목표:
아래 초안을 독자가 끝까지 읽고 싶게 다듬어줘.
독자:
[독자 설명]
글의 목적:
[설득/설명/기록/판매/교육]
원문:
[초안]
수정 기준:
- 첫 문단에서 읽을 이유를 만든다.
- 추상어를 줄이고 실제 장면을 넣는다.
- 문장 길이를 짧고 길게 섞는다.
- 과장된 표현은 제거한다.
출력 형식:
1. 문제 진단
2. 수정 방향
3. 전체 수정본
4. 왜 이렇게 고쳤는지
상황별 템플릿 2: 코드 도움 요청
목표:
아래 버그의 원인을 찾고, 가장 보수적인 수정안을 제안해줘.
상황:
- 프레임워크:
- 발생 화면:
- 기대 동작:
- 실제 동작:
관련 코드:
[코드]
제약:
- 기존 동작을 최대한 유지
- 수정 범위를 작게
- 테스트 방법 포함
출력 형식:
1. 원인 후보
2. 가장 가능성 높은 원인
3. 수정안
4. 회귀 위험
5. 확인할 테스트
코드 프롬프트에서는 "고쳐줘"보다 "원인 후보, 수정안, 테스트"를 함께 요구해야 합니다.
상황별 템플릿 3: 자료 요약
목표:
아래 자료를 의사결정용 요약으로 바꿔줘.
자료:
[자료]
출력 형식:
- 핵심 결론:
- 근거:
- 불확실한 부분:
- 내가 확인해야 할 원문:
- 다음 행동:
주의:
- 자료에 없는 내용은 쓰지 마.
- 추론은 추론이라고 표시해.
- 숫자나 고유명사는 원문과 대조할 수 있게 남겨줘.
요약에서 가장 위험한 것은 그럴듯한 생략입니다. 그래서 불확실한 부분을 따로 빼야 합니다.
상황별 템플릿 4: 아이디어 발산
목표:
[주제]에 대한 아이디어를 내줘.
조건:
- 흔한 아이디어는 제외
- 개인이 1주일 안에 실험할 수 있어야 함
- 비용이 거의 들지 않아야 함
- 실패해도 배울 점이 있어야 함
출력 형식:
| 아이디어 | 왜 해볼 만한가 | 첫 실험 | 실패 신호 |
|---|---|---|---|
마지막에는 가장 먼저 할 1개만 추천해줘.
아이디어 요청은 조건이 없으면 뻔해집니다. "흔한 아이디어 제외", "1주일 안에 실험" 같은 제약을 넣어야 쓸 만해집니다.
상황별 템플릿 5: 체크리스트 만들기
목표:
아래 작업을 실수 없이 반복할 수 있는 체크리스트로 만들어줘.
작업:
[작업 설명]
사용자:
[누가 사용할지]
출력 형식:
1. 시작 전 확인
2. 실행 중 확인
3. 완료 후 확인
4. 문제가 생기면 볼 항목
주의:
- 각 항목은 행동으로 시작해줘.
- "확인하기"처럼 막연한 표현은 쓰지 마.
- 실제로 체크 가능한 문장으로 써줘.
체크리스트는 "생각할 거리"가 아니라 "행동할 항목"이어야 합니다.
실패하는 프롬프트 패턴
1. 형용사만 많은 프롬프트
더 멋지고, 전문적이고, 임팩트 있게 써줘.
문제는 기준이 없다는 것입니다. "전문적"이 무엇인지 모델이 추측합니다.
개선:
전문적으로 보이되 어려운 용어는 줄여줘.
각 문단은 주장 1개와 근거 1개로 구성해줘.
과장 표현은 제거하고 실제 사용 장면을 넣어줘.
2. 출력 형식이 없는 프롬프트
이 자료 요약해줘.
개선:
이 자료를 아래 형식으로 요약해줘.
1. 핵심 결론 3개
2. 근거가 있는 내용
3. 추정 또는 추가 확인이 필요한 내용
4. 내가 지금 해야 할 일
3. 맥락이 없는 프롬프트
좋은 제목 10개 만들어줘.
개선:
AI 도구를 업무에 쓰는 1인 창작자를 대상으로 한 글 제목 10개를 만들어줘.
글의 핵심은 "새 도구보다 반복 업무 하나를 줄이는 것이 중요하다"야.
너무 자극적인 제목은 제외하고, 저장하고 싶은 느낌을 줘.
결과가 이상할 때 디버깅
답변이 뻔하다
제약이 약합니다.
누구나 할 수 있는 일반론은 제외해줘.
내 상황에서만 중요한 변수 5개를 먼저 뽑고, 그 변수에 맞춰 답해줘.
답변이 너무 길다
분량 제한과 출력 형식을 줍니다.
각 항목은 2문장 이하로 써줘.
표가 가능한 부분은 표로만 정리해줘.
총 800자 이내로 줄여줘.
답변이 근거 없이 확신한다
근거 유형을 표시하게 합니다.
각 주장 옆에 근거 유형을 표시해줘.
- 제공 자료 기반
- 일반 지식
- 추정
- 추가 확인 필요
결과가 내 톤과 다르다
톤을 추상적으로 말하지 말고 예시를 줍니다.
아래 예시의 톤을 기준으로 써줘.
짧게 시작하고, 추상어보다 실제 장면을 먼저 보여주고, 마지막에는 다음 행동을 남겨줘.
예시:
[내가 좋아하는 문단]
프롬프트 개선 루프
좋은 프롬프트는 한 번에 나오지 않습니다. 아래 순서로 개선합니다.
- 대충 요청한다.
- 결과에서 마음에 안 드는 점을 찾는다.
- 그 문제를 제약이나 출력 형식으로 바꾼다.
- 다시 실행한다.
- 잘 된 버전을 템플릿으로 저장한다.
예를 들어 답변이 너무 길었다면 "짧게"라고만 하지 말고 "각 항목 2문장 이하"라고 바꿉니다. 답변이 뻔했다면 "구체적으로"라고 하지 말고 "내 상황에서만 중요한 변수"를 요구합니다.
체크리스트
- 목표가 한 문장으로 분명한가
- 독자나 사용자가 지정되어 있는가
- 입력 자료가 충분한가
- 하지 말아야 할 것이 들어 있는가
- 출력 형식이 고정되어 있는가
- 검수 기준이 있는가
- 결과가 마음에 안 들 때 고칠 지점이 보이는가