프롬프트 엔지니어링: 더 나은 AI 결과를 얻는 프롬프트 작성법
AI 프롬프트가 작동하지 않는 이유
이메일 작성, 코드 디버깅, 기사 요약 등 AI에게 도움을 요청해 본 적이 있을 것입니다. 그런데 결과가 기대에 미치지 못했을 수 있습니다. 너무 모호하거나, 너무 길거나, 완전히 엉뚱한 내용이었을 수도 있습니다. 문제는 대개 AI가 아니라 프롬프트에 있습니다.
프롬프트 엔지니어링은 대규모 언어 모델(LLM)에서 더 나은 출력을 얻기 위해 입력을 설계하는 실무입니다. 마법의 단어를 찾는 것이 아니라 명확한 소통이 핵심입니다. 이 가이드에서는 일관되게 유용한 결과를 만들어내는 프롬프트 작성법을 알려드립니다.
1. 구체적이고 명확하게 작성하세요
LLM은 마음을 읽지 못합니다. "개에 대해 써줘"라고 하면 일반적인 에세이가 나옵니다. 대신 주제, 형식, 길이, 독자를 명시하세요.
나쁜 예: 개에 대해 써줘.
좋은 예: 반려동물 주인을 위한 300단어 기사를 작성해줘. 주제는 아파트에 적합한 상위 3개 견종. 운동 요구사항과 기질을 포함해줘.
제약 조건을 많이 제공할수록 출력이 더 집중됩니다. 프리랜서에게 지시를 내린다고 생각하세요. 명확할수록 결과가 좋아집니다.
2. 맥락과 예시를 제공하세요
LLM은 당신이 제공하는 맥락에서 학습합니다. 특정 스타일이나 형식을 원한다면 예시를 보여주세요.
예시: 다음 고객 리뷰를 한 문장으로 요약해줘. 주요 불만에 집중해줘. 예시: "제품이 늦게 도착했고 파손되어 있었다." 리뷰: "5일에 주문했는데 10일에 발송되었고, 마침내 도착했을 때 상자가 찌그러져 있고 물건에 흠집이 있었다."
"퓨샷 프롬프팅(few-shot prompting)"이라고 불리는 이 기법은 모델이 원하는 패턴을 이해하도록 돕습니다.
3. 역할극을 활용하세요
AI에 역할을 부여하면 응답의 품질과 어조가 향상될 수 있습니다. 예를 들어 "시니어 소프트웨어 엔지니어로서 행동해줘" 또는 "당신은 친절한 고객 지원 상담원입니다"라고 하세요. 이렇게 하면 모델이 특정 관점과 전문성 수준을 채택하도록 준비됩니다.
예시: 사이버보안 전문가로서 행동해줘. 비기술 관리자에게 SQL 인젝션의 위험을 200단어 이내로 설명해줘.
4. 복잡한 작업을 단계로 나누세요
요청이 복잡하다면 더 작은 순차적 프롬프트로 나누세요. 이렇게 하면 모델이 압도되거나 세부 사항을 놓칠 가능성이 줄어듭니다.
이렇게 하는 대신: 새 앱을 위한 마케팅 계획을 만들어줘.
이렇게 해보세요: 1단계: 원격 근무자를 대상으로 한 생산성 앱의 타겟 고객을 파악해줘. 2단계: 그들에게 어필할 3가지 핵심 기능을 나열해줘. 3단계: 그들에게 도달할 2가지 마케팅 채널을 제안해줘.
또한 모델에게 "단계별로 생각해줘"라고 요청하여 추론을 유도할 수도 있습니다.
5. 출력 형식을 지정하세요
JSON, Markdown, 표 등 특정 형식으로 출력이 필요하다면 명시적으로 말하세요. 특히 AI를 자동화 워크플로에 통합할 때 유용합니다.
예시: 아래 리뷰에서 제품명, 가격, 평점을 추출해줘. 결과를 name, price, rating 키를 가진 JSON 객체로 반환해줘.
개발자라면 JSON Formatter 같은 도구로 AI의 출력을 검증하고 형식을 지정할 수 있습니다.
6. 반복하고 개선하세요
첫 프롬프트가 완벽한 경우는 드뭅니다. 대화처럼 다루세요. 출력을 검토하고 무엇이 빠졌는지 파악한 후 프롬프트를 조정하세요.
예시: AI의 요약이 너무 길다면 이어서 이렇게 말하세요: 더 짧게 해줘—50단어 이내로. 너무 전문적이라면 이렇게 말하세요: 초보자에게 설명하듯이 설명해줘.
7. 모호함과 부정 표현을 피하세요
LLM은 때때로 부정 표현에 어려움을 겪습니다. "전문 용어를 쓰지 마"라고 하는 대신 "쉬운 언어를 사용해"라고 하세요. "모호하게 하지 마"라고 하는 대신 "구체적으로 하고 예시를 포함해"라고 하세요.
8. Temperature와 파라미터를 실험하세요
API를 사용한다면 temperature(창의성)와 max_tokens(길이) 같은 파라미터를 조정할 수 있습니다. 낮은 temperature(예: 0.2)는 더 결정적이고 집중된 출력을 제공하고, 높은 값(예: 0.8)은 창의성을 장려합니다. 사실 기반 작업에는 낮은 temperature를 사용하세요.
비교: 약한 프롬프트 vs 강한 프롬프트
| 약한 프롬프트 | 강한 프롬프트 |
|---|---|
| 블로그 글을 써줘. | 소규모 사업주를 위한 500단어 블로그 글을 작성해줘. 주제는 클라우드 회계 소프트웨어의 이점. 3가지 핵심 장점과 콜 투 액션을 포함해줘. |
| 이 코드를 고쳐줘. | 피보나치 수를 계산하는 이 Python 함수를 디버깅해줘. 오류를 설명하고 주석이 포함된 수정 버전을 제공해줘. |
| 이거 요약해줘. | 다음 기사를 3개의 불릿 포인트로 요약해줘. 각각 20단어 이내로, 주요 논점에 집중해줘. |
FAQ
프롬프트 엔지니어링이란 무엇인가요?
프롬프트 엔지니어링은 대규모 언어 모델이 원하는 출력을 생성하도록 유도하기 위해 입력(프롬프트)을 설계하고 개선하는 과정입니다. 명확성, 맥락, 반복이 포함됩니다.
좋은 프롬프트를 작성하려면 프로그래머여야 하나요?
아니요. API 파라미터 조정 같은 일부 기법은 코딩이 필요하지만, 대부분의 프롬프트 엔지니어링은 명확한 소통에 관한 것이며 채팅 인터페이스를 사용하는 누구나 할 수 있습니다.
프롬프트를 빠르게 개선하려면 어떻게 해야 하나요?
구체적으로 시작하세요. 형식, 길이, 독자를 명시하세요. 가능하면 예시를 제공하세요. 그런 다음 반복하세요—출력이 맞지 않으면 AI에게 무엇을 바꿔야 하는지 알려주세요.
이 기법들을 실제로 적용할 준비가 되셨나요? AI가 생성한 JSON을 다루고 있다면 JSON Formatter를 사용하여 애플리케이션용 출력을 검증하고 예쁘게 출력해보세요.