프롬프트 엔지니어링 정리
오늘 프롬프트 엔지니어링 강의를 수강하고 핵심만 정리했다.
1) 구체적으로 묻기
-
목표, 산출물, 제약을 명확히 쓴다.
-
요청하지 않은 내용은 답하지 말 것을 조건으로 건다.
예) “아래 요구사항만 충족해 답변하고, 불필요한 배경 설명은 하지 마세요.”
2) 맥락 제공하기
-
단순 “방법 알려줘”가 아니라 현재 상황·목표·제약을 1~3문장으로 붙인다.
예) “Next.js 15, App Router를 사용 중이고 배포는 Vercel입니다. 다크 모드 지원이 필요합니다.”
3) 형식 지정하기
-
출력 형식을 미리 고지하면 정확도가 올라간다. 표/리스트/코드블록/요약 길이 등.
예) “표로 답하세요. 열: 문제, 접근, 예시코드. 10줄 이내.”
4) 요청과 데이터 분리하기
-
명령과 **재료(데이터)**를 분리해 전달한다.
예) “따옴표 안 텍스트를 한국어로 자연스럽게 번역해 주세요.
텍스트:
"...your text..."”
5) 역할 부여하기
-
기대하는 시각을 명시한다. 면접관, 시니어 FE, 성능 컨설턴트 등.
예) “당신은 시니어 프론트엔드 면접관입니다. 코드 리뷰 관점에서 피드백하세요.”
6) 예시 제공하기
-
좋은 예/나쁜 예를 1개씩 주면 톤과 범위를 맞추기 쉽다.
예) “좋은 답안 예시는 이런 구조입니다: … / 이런 식의 장황한 서론은 피하세요.”
7) 핵심 요구 반복·고정하기
-
프롬프트가 길어지면 조건이 누락되기 쉽다. 마지막에 체크리스트로 다시 고정.
예) “반드시 지킬 것: ① 코드만 ② TypeScript ③ 주석 금지”
8) 할루시네이션 방지
-
모를 때의 태도를 명시한다.
예) “불확실하면 ‘해당 내용은 확실하게 답변하기 어렵습니다’라고 말하고, 이유와 필요한 추가 정보 목록을 제시하세요.”
9) 복잡한 작업은 단계화
-
한 번에 완성 요구 X → 단계별로 나눠 요청.
예) “1) 요구사항 목록화 → 2) 설계 초안 → 3) 코드 초안 → 4) 테스트 케이스”
내가 써볼 프롬프트 템플릿
[역할] 당신은 {역할/전문가}입니다.
[상황] {현재 스택/버전/환경}이며, 목표는 {목표}입니다.
제약은 {성능/접근성/시간/호환성 등}입니다.
[요청] 아래 작업을 수행하세요: {구체 작업}
- 출력 형식: {표/리스트/코드블록 등}, 분량: {n줄/항목 수}
- 불확실하면: “확실히 답변하기 어렵습니다”라고 말하고 이유와 추가로 필요한 정보를 제시하세요.
- 하지 말 것: {불필요한 서론/추가 제안 등}
[데이터]
"""
{데이터 원문/코드/로그}
"""
[체크리스트]
- {필수 조건 1}
- {필수 조건 2}
- {필수 조건 3}
정리
- 맥락 + 형식 + 제약을 먼저 못 박고,
- 예시와 역할로 답변의 톤을 고정한 뒤,
- 체크리스트로 핵심 요구를 다시 잠근다.
- 모르면 모른다고 하게 만들고, 복잡한 일은 단계별로 쪼갠다.
필요하면 위 템플릿을 블로그 글 하단에 복붙용으로 두고 상황/요구/체크리스트만 교체해서 쓰면 된다.