업무 파일럿(업무 전문가)를 위한 프롬프트 엔지니어링: 실전 가이드 – 1. 프롬프트 엔지니어링 08. 추론 특화 모델

크고 복잡한 문제라 처리 절차가 필요한 문제를 해결하고자 합니다. 지금까지 배운 기법으로 이것 저것 해 봤는데 원하는 수준의 결과를 얻지 못할 때, 추론 특화 모델을 사용합니다. 

기본 기법의 대다수가 추론 문제를 해결하기 위한 것들 입니다. 이들은 추론 특화 모델을 사용하면 필요 없습니다.

5단계 이상의 추론 단계가 필요한 작업에는 추론 특화 모델을 사용합니다. 

  • 추론이란?
    • 근거를 바탕으로 결론을 도출하는 사고 과정입니다. 이미 알고 있는 정보나 증거를 사용하여 새로운 지식이나 판단에 도달하는 것을 의미합니다.
    • 추론 단계는 주어진 정보나 증거를 바탕으로 새로운 결론을 도출하는 과정을 말합니다. 반면 추론이 아닌 단계는 단순히 정보를 받아들이거나 처리하는 과정으로, 새로운 결론을 도출하지는 않습니다. 추론이 아닌 단계는 추론의 기반이 되는 정보를 제공하는 역할을 합니다. 추론 단계는 이러한 정보들을 활용하여 새로운 의미를 만들어내는 과정입니다.
      • 예시
        • 요리 레시피
          • 추론이 아닌 단계: 재료를 준비한다 (양파 1개, 당근 2개 등)
          • 추론 단계: 양파가 갈색으로 변하고 향긋한 냄새가 나기 시작한다 -> 양파가 잘 볶아졌다. -> 관찰 결과를 바탕으로 양파의 상태를 추론하는 단계입니다.
        • 수학 문제
          • 추론이 아닌 단계: 문제에서 주어진 숫자들을 확인한다 (예: 사과 5개, 배 3개). -> 문제에서 제공된 정보를 읽는 단계입니다.
          • 추론 단계:** 사과 5개와 배 3개를 합하면 총 8개의 과일이 있다. -> 주어진 숫자들을 바탕으로 전체 과일의 개수를 추론하는 단계입니다.
        • 독서:
          • 추론이 아닌 단계: 등장인물 A가 B에게 “화가 난다”라고 말했다는 문장을 읽는다. -> 텍스트에 명시적으로 드러난 정보를 읽는 단계입니다.
          • 추론 단계: 등장인물 A가 B에게 화난 이유는 B가 A의 비밀을 폭로했기 때문일 것이다. -> 텍스트에 직접적으로 나와 있지는 않지만, 앞뒤 맥락을 통해 A가 화난 이유를 추론하는 단계입니다.
        • 코딩:
          • 추론이 아닌 단계: print("Hello, world!")를 입력한다. -> 주어진 코드를 그대로 입력하는 단계입니다.
          • 추론 단계: 에러 메시지 “IndexError: list index out of range”가 발생했다 -> 리스트의 범위를 벗어난 인덱스에 접근하려고 했다 -> 에러 메시지를 보고 에러의 원인을 추론하는 단계입니다.
    • 추론은 크게 연역적 추론과 귀납적 추론, 그리고 유비 추론으로 나눌 수 있습니다.
      • 연역적 추론 (Deductive Reasoning): 일반적인 원리나 사실에서 특정한 결론을 도출하는 방식입니다. 전제가 참이라면 결론도 반드시 참이어야 합니다.
        • 예시
          • 전제 1: 모든 사람은 죽는다.
          • 전제 2: 소크라테스는 사람이다.
          • 결론: 따라서 소크라테스는 죽는다.
      • 귀납적 추론 (Inductive Reasoning): 특정한 사례나 관찰을 바탕으로 일반적인 원리나 결론을 도출하는 방식입니다. 전제가 참이더라도 결론이 항상 참이라고 보장할 수는 없습니다. 확률적인 추론입니다.
        • 예시
          • 관찰 1: 내가 본 백조는 모두 하얗다.
          • 관찰 2: 다른 사람이 본 백조도 모두 하얗다.
          • 결론: 따라서 모든 백조는 하얗다. (틀릴 가능성이 있음, 검은 백조도 존재하기 때문)
      • 유비 추론 (Analogical Reasoning): 두 개 이상의 대상 사이의 유사성을 바탕으로 다른 속성도 유사할 것이라고 추론하는 방식입니다.
        • 예시
          • A: 지구는 태양 주위를 돈다. 지구에는 생명체가 있다.
          • B: 화성도 태양 주위를 돈다.
          • 결론: 따라서 화성에도 생명체가 있을 가능성이 있다.
    • 일상생활 속 추론의 예
      • 날씨 예측: 하늘에 먹구름이 끼고 바람이 분다 -> 비가 올 것이다. (귀납적 추론)
      • 탐정 소설: 범인은 오른손잡이이고 키가 크다 -> 용의자 중 오른손잡이이고 키가 큰 사람을 중점적으로 조사한다. (연역적 추론)
      • 새로운 제품 개발: 이전 제품의 성공 요인을 분석하여 새로운 제품에 적용한다. (유비 추론)

 

대표적인 추론 특화 모델로 OpenAI의 o1이 있는데, 사용료가 꽤 많이 들어갑니다. 최근 DeepSeek에서 R1 모델을 출시했는데 비용은 대폭 낮췄습니다.

추론 특화 모델은 추론 능력을 가지고 추론을 잘하는 것으로 맞춰져 있기 때문에, 일반 모델을 사용할 때와는 프롬프트 작성이 조금은 달라져야 합니다.

 

추론 특화 모델은 추론을 잘 한다는 전제가 있는 것이니, 프롬프트 작성 시 추론 과정에 불필요하게 개입하지 않도록 합니다. 프롬프트는 무엇을 해야 하는지를 간결하고 명확하게 작성합니다.

  • 추론 과정에 개입할 수 있는 원칙이나 기법 적용은 배제합니다. 맥락에 역할이나 절차는 지정하지 않고, 지시에 단계 별 관련된 내용은 언급하지 않도록 합니다.
    • 예를 들어, 양자 얽힘이 암호화에 미치는 영향을 설명해 주기를 원할 때. “양자 얽힘이 양자 이후 암호화에 미치는 영향을 분석해 주세요.”라고 합니다.  “당신은 전문 물리학자 입니다. 양자 얽힘이 현대 암호화에 미치는 영향을 이해하도록 도와 주겠습니까? 단계별로 설명해 주십시오.”라고 하지 않습니다.
  • 추론 모델은 이미 강력한 추론 능력을 갖추고 있기 때문에, 과도한 정보 제공은 오히려 모델의 성능을 저해할 수 있습니다.
  • 예시를 사용하지 않거나 사용하더라도 한 두개로 제한합니다.
    • 추론 모델의 탐색 범위를 좁힐 수 있습니다.
  • 여러 번 반복 실행하고 가장 일관된 출력을 선택합니다.
  • 삼중 따옴표, XML 태그 또는 섹션 제목과 같은 구분 기호를 사용하여 프롬프트 부분들을 명확하게 구분해서 추론에 집중하게 합니다.
    • 다음 시를 분석하십시오.
      “””
      그 사람 얼굴을 떠올리네초저녁 분꽃 향내가 문을 열고 밀려오네그 사람 이름을 불러보네문밖은 이내 적막강산가만히 불러보는 이름만으로도
      “””제공:
      1. 시의 의미 요약
      2. 문학적 장치 분석
      3. 시의 역사적 맥락
  • 활용 분야
    • 과학적 연구 및 분석
    • 이론 물리학
    • 자동 평가가 가능한 분야
      • 수학
      • 소프트웨어 엔지니어링 및 알고리즘 설계
        • 복잡한 알고리즘 분석 최적화
        • 확장 가능한 소프트웨어 아키텍처를 설계
        • 코드 구조의 잠재적 취약점을 식별
    • 전략적 비즈니스 분석 – 시나리오 계획, 경쟁 분석, 위험 평가
  • 반복적 개선 CDPE 적용
    • 상위 수준 프롬프트로 시작
    • 초기 응답 분석
    • 초기 응답을 기반으로 더 구체적인 프롬프트로 후속 조치
    • 원하는 수준 달성까지 응답 분석 후속 조치 반복
    • 예시
      • 우리는 한국 쌀 농업의 지속 가능성과 고품질화를 위한 스마트 농업 기술을 탐색하고 있으며, 특히 “정밀 농업 기술”에 초점을 맞추고 있습니다.
      • 앞서 한국 쌀 농업의 지속 가능성 및 고품질화 핵심 전략을 실현하는 데 효과적인 **구체적인 스마트 농업 기술**들을 추가적으로 자세히 설명해주십시오. 특히, **정밀 농업 기술** 분야에 초점을 맞춰 기술들을 설명해주시면 더욱 좋습니다. 각 기술이 **생산 효율성**에 미치는 영향을 정량적 또는 정성적으로 분석하고, **데이터 기반**으로 설명해주시면 더욱 효과적입니다.
      • 응답에 “드론 활용”이 언급되었다면,
        • 드론 활용 정밀 농업 기술**들을 실제 **한국 쌀 농업 환경**에 성공적으로 도입하고 확산시키는 데 예상되는 **주요 과제들을 경제적, 사회적, 기술적, 정책적 측면에서 더욱 심층적으로 분석**해주십시오. 각 과제에 대한 **현실적인 해결 방안을 다양한 이해관계자** (농민, 정부, 기업, 연구기관 등) 의 관점을 고려하여 구체적으로 제시해주십시오.
      • 응답에 “초기 투자 지용 부담”이 언급되었다면,
        • 앞서 논의된 드론 활용 정밀 농업 기술 중에서, 특히 **초기 투자 비용 부담을 줄일 수 있는 저비용 드론 기술** 또는 **농가들이 드론을 공동으로 활용할 수 있는 시스템**에 대해 자세히 설명해주십시오. 각 기술 또는 시스템이 **초기 투자 비용 절감**에 어떻게 기여하는지 구체적으로 분석하고, **데이터 기반**으로 설명해주시면 더욱 효과적입니다.
    • 위와 같이 응답 분석과 후속 조치를 반복적으로 하면서, 특정 기술 (예: 드론 기술) 에 대해 심층적으로 탐색하고, 관련된 과제와 해결 방안을 구체적으로 분석할 수 있습니다. 각 단계에서 얻은 답변을 바탕으로 질문의 초점을 좁히거나 확장하면서 탐구 주제를 심화시켜 나갈 수 있습니다.
  • 구조화된 출력(예: 코드 생성)이 필요한 작업의 경우 비추론 모델이 더 나은 일관성을 제공할 수 있습니다.

 

저스틴) 추론 특화 모델이 적극적으로 사용되면, 주어진 문제에 대해 재귀적이고 반복적인 더 나은 해결이  시도될 수 있습니다.

 

About the Author
(주)뉴테크프라임 대표 김현남입니다. 저에 대해 좀 더 알기를 원하시는 분은 아래 링크를 참조하세요. http://www.umlcert.com/kimhn/

Leave a Reply

*