TypeTechnique
Aliasesprompt engineering, 프롬프트 설계
Related사고 사슬 (chain-of-thought), 추론 모델, Custom GPT, 텍스트→이미지 (text-to-image), Codex (OpenAI)

무엇인가

프롬프트 엔지니어링은 AI 모델에게 원하는 결과를 얻어내기 위해 입력 문장을 잘 짜는 기술이다. 같은 모델이라도 어떻게 묻느냐에 따라 답의 품질이 크게 달라지기 때문에, 사용자가 모델과 대화하는 방식 자체가 하나의 기술 영역이 된다.

요리에 비유하면, 모델은 재료가 가득한 부엌이고 프롬프트는 주문서다. "맛있게 해 주세요"보다 "양파를 캐러멜화하고 5분간 졸여 주세요"라고 적으면 결과물이 훨씬 정확해진다.

왜 필요한가

LLM은 인간의 언어를 통해 작동하지만, 우리가 머릿속에서 가정하는 맥락을 알아서 채워 주지는 않는다.

  • 모호한 질문: "이거 요약해 줘" → 어떤 기준, 몇 줄, 누구를 위해 요약할지 알 수 없다.
  • 명확한 질문: "다음 글을 한국어 3문장으로, 비전문가가 이해할 수 있게 요약해 줘" → 결과가 안정적이다.

특히 [[reasoning-model]]이나 이미지 모델([[text-to-image]])처럼 단순 챗봇을 넘어서는 모델일수록 입력의 명확함이 결과 품질을 좌우한다.

어떻게 시작하나

명확한 지시

원하는 형식, 길이, 톤을 적어 준다. "표로", "5줄로", "초등학생도 이해할 수 있게" 같은 조건이 있으면 모델은 그 안에서 답한다.

예시 제공

원하는 출력 형태를 한두 개 보여 주는 방식(few-shot)이 의외로 강력하다. 모델은 예시를 따라하는 데 능하다.

단계별 사고 유도

복잡한 문제는 "단계별로 생각해 봐"라고 한 줄 덧붙이는 것만으로도 정확도가 올라간다. 이 아이디어를 정식화한 게 [[chain-of-thought]]다. 다만 요즘은 모델 자체가 사고를 학습한 형태로 나오기 때문에, 매번 외칠 필요가 없는 경우도 많다.

한 번에 완성하지 말 것

처음에는 짧은 프롬프트로 시작하고, 결과가 마음에 안 들면 무엇이 부족했는지 한 줄씩 덧붙이며 다듬는다. 프롬프트는 한 번에 완성하는 게 아니라 반복 수정으로 만든다는 감각이 가장 중요하다. [[chatgpt-images-2]] 같은 새 모델이 등장할 때마다 어떤 표현이 잘 통하는지 다시 익혀야 하는 이유도 같다.

무엇인가

실무자에게 프롬프트 엔지니어링은 단순한 wording 기술이 아니라 모델 출력 품질을 체계적으로 끌어올리고 안정시키는 작업이다. 시스템 프롬프트 설계, few-shot 예시 큐레이션, 평가셋 구축, 회귀 테스트까지 포함하는 워크플로 전체를 가리킨다.

핵심 패턴

시스템 프롬프트와 역할 지정

역할(persona), 출력 형식(JSON, 마크다운), 거부 조건, 톤을 시스템 프롬프트에 못 박는다. [[custom-gpt]]나 Claude Projects가 이 패턴을 UI로 노출한 형태다.

Few-shot 예시

"입력 → 출력" 쌍을 2~5개 보여 주는 방식. zero-shot보다 일관성이 크게 올라간다. 다만 예시는 출력 분포를 좁히기 때문에 다양성을 잃을 수 있고, 토큰 비용도 늘어난다.

Chain-of-Thought / 추론 유도

"단계별로 생각해라" 같은 지시는 단순 모델에서 정확도를 올린다. 다만 [[reasoning-model]]에서는 이미 내부적으로 사고를 하므로, 외부에서 CoT를 강제하면 사고 예산을 낭비하는 경우가 있다([[chain-of-thought]] 항목 참조).

컨텍스트와 도구 권한 구성

요즘은 wording보다 무엇을 컨텍스트에 넣고, 어떤 도구 권한을 줄지가 더 중요하다. RAG로 관련 문서를 주입하거나, 함수 호출(function calling)로 모델이 외부 도구를 쓰게 하는 설계가 그렇다. [[codex]] 같은 코딩 에이전트를 다룰 때는 권한·실행 환경 구성이 곧 프롬프트 엔지니어링의 본체다.

워크플로

Eval과 회귀 테스트

프롬프트를 손대면 한 케이스는 좋아지고 다른 케이스는 망가진다. 따라서:

  1. 평가셋(eval set)을 먼저 만든다 — 입력 + 기대 출력 + 채점 기준.
  2. 프롬프트 변경 시 자동으로 전체 셋을 돌린다(LLM-as-judge 또는 휴리스틱).
  3. 통계적으로 좋아진 변경만 채택한다.

OpenAI Evals, Anthropic 평가 도구, LangSmith·Braintrust 류가 사실상 표준화되고 있다.

이미지·멀티모달 영역

[[text-to-image]]와 [[chatgpt-images-2]] 같은 모델에서는 프롬프트 외에 [[aspect-ratio]], 시드, 레퍼런스 이미지 같은 구조화된 파라미터가 결과를 크게 좌우한다. wording은 그중 하나에 불과하다.

추론 모델 시대의 변화

[[reasoning-model]]이 보편화되면서 "더 좋은 wording"의 효용은 줄고, 대신 컨텍스트의 정확성모델이 호출할 수 있는 도구의 설계가 압도적으로 중요해졌다. 프롬프트 한 줄을 다듬는 것보다, 모델에게 어떤 검색 결과를 보여 주고 어떤 함수를 부르게 할지를 결정하는 일이 본업이 되어 간다.

무엇인가

연구 관점에서 프롬프트 엔지니어링은 입력 컨디셔닝(input conditioning)을 통한 모델 출력 제어 기법이다. 모델 가중치를 학습시키지 않고도 입력 시퀀스의 구성만으로 출력 분포를 바꾼다는 점에서, in-context learning, instruction following, RLHF 이후의 alignment와 깊이 얽혀 있다.

작동 기전

In-context learning

GPT-3 논문(Brown et al., 2020)이 정식화한 현상. 사전학습된 LM이 추론 시 주어진 예시 시퀀스로부터 일종의 implicit task encoding을 추출해 새로운 입력에 일반화한다. attention 메커니즘이 prompt 내 패턴을 lookup·메타학습 회로로 활용한다는 가설로 부분 설명된다.

Instruction tuning과의 관계

RLHF·DPO 등으로 fine-tune된 모델은 자연어 지시문에 더 잘 반응한다. 즉 프롬프트 엔지니어링의 효과 상당 부분은 모델이 instruction-following 분포에 fit된 결과이지, "마법의 단어"가 있어서가 아니다.

CoT와 추론 모델

Wei et al.의 [[chain-of-thought]] 프롬프팅(2022)은 "Let's think step by step" 한 줄로 산수·논리 벤치마크 성능을 크게 끌어올렸다. 이후 Self-Consistency, Tree of Thoughts 등으로 확장되었으며, 결국 OpenAI o1·DeepSeek R1 류의 [[reasoning-model]]에서는 사고 과정을 학습 단계에 내재화해 외부 CoT 프롬프트가 불필요(또는 역효과)인 영역까지 와 있다.

한계와 비판

  • 재현성: 동일 프롬프트가 모델 버전·온도·토크나이저 변화에 매우 민감하다. 학술 비교가 어렵다.
  • Prompt sensitivity: 의미적으로 동일한 두 프롬프트가 성능을 수십 % 차이로 만들 수 있다(Lu et al., 2022 등).
  • 결과의 가짜 일반화: 한 벤치마크에서 잘 되는 프롬프트가 다른 도메인에서 무너지는 경우가 흔하다.
  • 공학적 부채: 프롬프트는 모델 교체 시 거의 새로 써야 한다. 모델 의존적 자산이며, 영속적 코드라기보다 "configuration"에 가깝다.

이 때문에 학계 일부는 prompt engineering 자체를 일시적 현상으로 본다. 모델이 instruction-following과 도구 사용에 충분히 능숙해지면 wording의 마진은 사라진다는 입장이다.

추론 모델 이후의 흐름

[[reasoning-model]]과 에이전트 시스템이 부상하면서 연구 관심은 다음으로 옮겨가고 있다:

  1. Context engineering: 어떤 정보를 어떤 순서로 컨텍스트에 적재하느냐가 wording보다 큰 효과를 낸다.
  2. Tool use design: 도구 시그니처·권한·반환 포맷의 설계.
  3. Eval-driven prompting: 자동 프롬프트 최적화(DSPy, APE) — 인간이 wording을 쓰는 게 아니라 모델이 모델용 프롬프트를 탐색.
  4. 추론 예산 분배: [[reasoning-model]]에서 thinking budget을 어떻게 할당할지가 새 변수로 떠올랐다.

이미지 영역에서도 [[diffusion-model]] 단계의 키워드 프롬프팅에서 [[chatgpt-images-2]]·[[gpt-image-2]] 같이 reasoning이 결합된 모델로 넘어가면서, 단순 키워드 나열보다 의도·구도·일관성을 자연어로 묘사하는 방식이 더 잘 통한다.

요약하면, prompt engineering의 무게중심은 "모델에게 무엇을 말할까"에서 "모델에게 어떤 환경·정보·도구를 줄까"로 이동 중이며, 연구 어휘로는 in-context learning에서 context engineering·agentic systems으로 확장되고 있다.

이 용어를 언급한 기사