개발 일기

[생성형 AI] 프롬프트 엔지니어링 최적화 본문

Back-End

[생성형 AI] 프롬프트 엔지니어링 최적화

개발 일기장 주인 2025. 3. 2. 16:19

하나 금융 그룹에서 진행한 프로젝트에서 프롬프트 엔지니어링이 할 일이 있었어서 최적    화 기법들에 대해서 정리해보았다.

 

우선 프롬프트 엔지니어링이 뭘까?


프롬프트 엔지니어링(Prompt Engineering)

최근 약 3년동안 Chat GPT / BARD / LLaMA 그리고 최근에는 DeepSeek 까지 다양한 생성형 AI 모델들이 IT 시장에서 뜨가운 감자이다.

프롬프트 엔지니어링은 위와 같은 대규모 언어 모델(Large Language Model, LLM)에서 원하는 결과를 얻기 위해 프롬프트를 공들여 만들고 최적화하는 과정이다.

적절한 프롬프트의 설계는 LLM 성능을 크게 향상 시킬 수 있다고 한다.

 

그렇다면 프롬프트란 무엇일까? AI 모델에서 출력을 생성하기 위해 입력하는 텍스트 이다.


프롬프트의 구성

AI 민주화를 목표로 하는 연구 및 교육 기관인 DAIR.AI에서 깃허브를 통해 제공하는 프롬프트 엔지니어링 가이드에 따르면 프롬프트의 구성 요소는

  1. 모델이 수행하기를 원하는 특정 작업 또는 지침을 말하는 ‘명령(Instruction)’,
  2. 모델을 조정할 수 있는 외부 정보 또는 추가 맥락을 일컫는 ‘맥락 정보(Context)’,
  3. 답변을 찾고자 하는 입력 또는 질문을 말하는 ‘입력 데이터(Input Data)’,
  4. 출력의 유형 또는 형식을 의미하는 ‘출력 데이터(Output Data)’

라고 합니다.

https://www.samsungsds.com/kr/insights/prompt-engineering.html

 

생성형 AI 모델과 대화하는 프롬프트 엔지니어링 Prompt Engineering | 인사이트리포트 | 삼성SDS

최근 생성형 AI 모델이 발전하면서 컴퓨터가 인간의 언어를 그대로 입력받아 명령을 수행할 수 있게 됐지만, 인간의 생각을 그대로 구현하기란 아직은 쉽지 않다는 이야기입니다. 입력이 항상

www.samsungsds.com


🔹 프롬프트 엔지니어링 기법 종류

프롬프트 엔지니어링은 AI 모델(특히 LLM, 대형 언어 모델)이 원하는 출력을 생성하도록 유도하는 기술입니다. 일반적으로 두 가지 주요 기법이 있습니다.

1. 제로샷 프롬프팅 (Zero-shot Prompting)

  • 예시 없이 단순한 지침만 제공하여 모델이 작업을 수행하도록 함.
  • 특정한 데이터나 예제 없이도 AI가 새로운 작업을 수행하도록 유도.
  • 예: “다음 기사를 3줄로 요약하라” → 기사 내용을 입력하면 요약된 결과 출력.

2. 퓨샷 프롬프팅 (Few-shot Prompting)

  • 모델이 더 정확한 출력을 내도록 소량의 샘플 예시를 제공하여 학습을 유도.
  • 예시를 1개만 제공하는 방식도 있는데 그 경우에는 퓨샷 프롬프팅의 변형으로 원샷 프롬프팅 (One-shot Prompting)이라 한다.
  • 3가지 요소로 구성됨.
    1. 작업 설명(Task Description): 수행할 작업을 간단하게 설명.
      • 예: “해달이라는 영어 단어를 프랑스어로 번역하라”
    2. 예시(Examples): 몇 가지 예시를 제공하여 패턴을 학습하도록 함.
      • 예: “sea otter → loutre de mer”
    3. 프롬프트(Prompt): 새로운 예제의 시작 부분을 주어 모델이 적절한 출력을 생성하도록 유도.
      • 예: “cheese → ” → AI가 자동으로 출력 생성

프롬프트 엔지니어링 기법을 보면 겉으로는 단순해 보일 수도 있다. 실제로 나도 누구나 다 할 수 있는거 아닌가? GPT API만 끌어다 쓰면 누구든지 그냥 쉽게 할 수지 않나? 라는 생각을 했다.

그러나 하나의 글을 보고 생각이 바뀌었다. 실제로, 시장에서도 프롬프트 엔지니어링이 하나의 직군으로 자리 잡고 있으며, 삼성 SDS 인사이트 리포트에서도 이에 대한 중요성이 강조되고 있다. 프롬프트 엔지니어링을 잘하는 것만으로도 시장에서 경쟁력을 갖출 수 있을 만큼, 이는 중요한 역량으로 평가받고 있다.

 

SDS 인사이트 리포트

 

또한, LLM에서 최상의 성능을 이끌어내기 위해서는 프롬프트 엔지니어링이 필수적이기에 이를 잘하기 위해서 AI 시대에서 경쟁력을 갖추려면 개발자로서 기술적 역량뿐만 아니라 인문학적 소양도 함께 갖추는 것이 중요하다.고 깨닫게된 계기였다.


https://www.magicaiprompts.com/docs/prompt-engineering/04-2024-prompt-engineering-techniques-chatgpt-guide/

 

최적의 프롬프트 엔지니어링 기법 26가지, 2024 최신 버전 | 프롬프트해커 대니

최신 프롬프트 엔지니어링 기법 26가지를 소개합니다. ChatGPT 등 대형 언어 모델과 효과적으로 상호작용하는 방법을 알아보세요.

www.magicaiprompts.com

 

 

해당 글에서는 Role 부여(임무 및 실제 역할 지정), 프롬프트 구조화, Chain-of-Thought와 Few-shot 프롬프트 결합, 보상 제시, 페널티 제시와 같은 다양한 기법을 활용하여 실제 프로젝트에 적용하는 방법을 설명한다.

 

그래서 실제로 프롬프트 엔지니어링이 필요할 때 직접 적용해봤다.

등기부등본과 같은 텍스트 정보를 입력으로 받아 보고서를 출력해야 할 때, 저희는 프론트엔드 형식에 맞게 보고서 요소들을 갑구 분석, 을구 분석 등으로 나누어 각 컴포넌트에 올바르게 배치하기위해, 이를 JSON 형식으로 응답받기 위해 응답 형식도 지정해주었습니다. 이러한 과정들은 모두 Chain-of-ThoughtFew-shot 프롬프트 결합을 통해 처리해줬고 이를 위해 프롬프트를 구조화 했다.

추가적으로 보상 제시페널티 제시를 통해 전세사기 분석 리포트를 생성하는 임무를 부여하고, 전세사기 분석 담당관이라는 역할을 부여했다.