[기타/AI] 프롬프트를 어떻게 써야 AI가 잘 일할까? 실전 프롬프트 엔지니어링 가이드

업데이트:



같은 모델을 써도 결과가 들쭉날쭉한 이유는 대부분 프롬프트 구조 때문입니다.
모델이 멍청해서라기보다, 우리가 일을 시키는 방식이 애매해서 품질이 흔들리는 경우가 많습니다.

좋은 프롬프트는 문장을 예쁘게 꾸미는 기술이 아니라,
모델이 잘못 해석할 여지를 줄이고 필요한 결과 형식을 분명히 하는 설계에 가깝습니다.

왜 프롬프트가 중요할까

LLM은 보통 아래 문제에 약합니다.

  • 목표가 모호할 때
  • 배경 문맥이 부족할 때
  • 출력 형식이 정해지지 않았을 때
  • 우선순위가 충돌할 때

즉 모델은 “무슨 일을 왜, 어떤 기준으로, 어떤 형식으로 해야 하는지”가 선명할수록 잘 움직입니다.

가장 기본이 되는 6요소

실전에서는 아래 6가지만 넣어도 품질이 많이 올라갑니다.

요소 질문
역할 너는 어떤 관점으로 답해야 하나
목표 이번에 정확히 무엇을 만들어야 하나
맥락 어떤 배경 정보를 알아야 하나
제약 무엇을 하면 안 되나
출력 형식 어떤 구조로 답해야 하나
검증 기준 무엇을 점검하고 끝내야 하나

이 6가지를 명시하면, 모델이 엉뚱하게 상상하는 비율이 크게 줄어듭니다.

나쁜 프롬프트와 더 나은 프롬프트

애매한 프롬프트

블로그 글 하나 써줘.

이 프롬프트는 거의 모든 것이 비어 있습니다.

  • 어떤 독자를 대상으로?
  • 길이는?
  • 톤은?
  • SEO를 고려해야 하나?
  • 예시는 필요한가?

더 나은 프롬프트

주제: MCP 입문
독자: 개발자이지만 MCP는 처음 접하는 사람
목표: 블로그용 입문 글 작성
조건: 한국어, 너무 가볍지 않게, 예시 2개 포함
출력: 제목 / 도입 / 핵심개념 / 실전예시 / 체크리스트 / 관련글 순서
주의: 과장 표현 금지, 추측은 추측이라고 표시

이 정도만 써도 결과물 품질이 훨씬 안정됩니다.

프롬프트를 잘 쓰는 핵심 원칙

1) 목표를 동사로 적기

정리해줘, 비교해줘, 검토해줘, 수정해줘, 초안 작성해줘처럼 행동이 분명해야 합니다.

2) 독자를 지정하기

같은 주제라도 대상이 다르면 설명 밀도와 예시가 달라집니다.

예:

  • 입문자 대상
  • 실무자 대상
  • CTO 보고용
  • 블로그 독자 대상

3) 출력 형식을 먼저 정하기

출력 형식이 없으면 모델은 그럴듯한 잡문으로 흘러가기 쉽습니다.

예:

  • 표로 정리
  • 단계별 체크리스트
  • Markdown 문서
  • 파일 단위 변경안

4) 제약을 분명히 쓰기

제약은 품질을 깎는 게 아니라, 오히려 모델을 안정시킵니다.

예:

  • 공식 문서만 인용
  • 과장 표현 금지
  • 길이 1200자 내외
  • 코드는 Python으로만

5) 예시를 주기

한두 개의 좋은 예시는 긴 설명보다 강력합니다.
특히 원하는 문체나 포맷이 분명할 때 효과가 큽니다.

에이전트형 도구에서는 무엇이 달라지나

Codex, Claude Code, Copilot 같은 에이전트형 도구는 단순 답변보다 실제 작업을 수행합니다.
그래서 프롬프트도 조금 달라집니다.

아래 항목이 추가로 중요합니다.

  1. 어떤 파일/경로를 보라고 할지
  2. 어떤 테스트를 돌릴지
  3. 변경하지 말아야 할 범위는 어디인지
  4. 최종 보고 형식은 무엇인지

즉 에이전트 프롬프트는 “설명 요청”보다 작업 지시서에 더 가깝습니다.

많이 하는 실수

“알아서 잘 해줘”

가장 흔하고, 가장 위험한 문장입니다.
모델은 맥락이 충분할 때만 알아서 잘합니다.

한 번에 너무 많은 목표를 넣기

글쓰기, 사실 검증, 이미지 아이디어, SEO, 파일 저장, 배포를 한 프롬프트에 다 넣으면 우선순위가 무너집니다.

숨은 전제를 말하지 않기

예를 들어 “이 저장소는 Jekyll 블로그다”, “카테고리는 기타를 쓴다” 같은 조건을 생략하면 결과가 어긋납니다.

검증 단계를 빼먹기

아무리 초안이 좋아도 마지막 자기 점검이 없으면 품질 편차가 커집니다.

실전 템플릿

아래 템플릿은 블로그 글, 문서 작성, 코드 작업에 두루 쓰기 좋습니다.

역할:
목표:
배경/맥락:
입력 자료:
제약:
원하는 출력 형식:
검증 기준:

이 템플릿만 습관적으로 써도 결과 품질이 눈에 띄게 좋아집니다.

모델별로 프롬프트를 바꿔야 하나

완전히 다르게 쓸 필요는 없습니다.
다만 다음 정도는 의식하면 좋습니다.

  • 긴 맥락과 구조화된 작업: 섹션/목록/형식을 더 명확하게
  • 코딩 에이전트: 파일 범위, 테스트 명령, 보고 형식을 더 구체적으로
  • 비교/분석 글: 기준과 날짜를 명시

즉 “모델마다 비밀 주문”이 있는 게 아니라, 작업 종류에 맞는 정보 밀도가 중요합니다.

한 줄 정리

좋은 프롬프트는 모델을 현혹하는 문장이 아니라,
모델이 잘못 이해할 가능성을 줄이는 작업 명세서입니다.

요약

좋은 프롬프트는 감으로 쓰는 문장이 아니라 역할, 목표, 맥락, 제약, 출력 형식이 있는 작업 명세서입니다. 특히 에이전트형 도구에서는 파일 범위와 검증 기준까지 분명히 적을수록 결과가 훨씬 안정됩니다.

참고 자료

관련 글



이런 주제는 어떠신가요?

비교 글과 설치 가이드를 함께 보면 나에게 맞는 도구를 더 빨리 고르기 좋습니다.

댓글남기기