검색
검색
공개 노트 검색
회원가입로그인

DeepSeek-R1의 작동방식을 활용한 프롬프트 최적화 전략(추론모델 도입)

DeepSeek-R1의 작동방식을 활용한 프롬프트 최적화 전략(추론모델 도입) image 1

AI 모델이 보다 논리적이고 체계적인 응답을 생성하도록 유도하는 핵심 요소는 추론모델이 도입입니다. 요즘 이슈가 되고 있는 DeepSeek-R1의 프롬프트를 살펴보면, 논리적 사고(Chain-of-Thought, CoT) 과정, 자기 검증(Self-Verification), 명확한 태그 및 형식 제공, 다단계 응답(Multi-Step Responses) 등이 추론과정을 통해 보다 좋은 응답을 생성하고 있습니다.

이번 글에서는 DeepSeek-R1의 추론모델을 다른 LLM에 적용할 수 있는지에 대해 알아보겠습니다.
이 글은 DeepSeek-R1 논문(arXiv:2501.12948)을 참고하여 작성되었습니다.


📌DeepSeek-R1의 프롬프트 특징

DeepSeek-R1의 주요 특징은 다음과 같습니다.

✅ 1. 논리적 사고 유도 (Encouraging Logical Reasoning)

DeepSeek-R1은 Chain-of-Thought (CoT) 방식을 활용해, 단순히 정답을 제공하는 것이 아니라 논리적 사고 과정을 설명하도록 학습되었습니다.
이를 활용하면 모델이 단계별로 논리를 정리하면서 보다 신뢰도 높은 답변을 생성할 수 있습니다.

문제 해결을 위한 단계별 접근 방식 요구
단순 정답이 아닌, 사고 과정과 근거를 설명하도록 유도

📌 예제 프롬프트

<question> 피타고라스의 정리를 이용하여 삼각형의 빗변을 구하는 방법을 설명하라. </question>

<think> 먼저 피타고라스의 정리를 수식으로 표현한 후, 예제를 사용하여 설명하라. </think>

<answer> 최종 계산 결과를 포함한 답변을 제시하라. </answer>


✅ 2. 자기 검증(Self-Verification) 및 반성(Reflection) 유도

DeepSeek-R1은 스스로 검토하고 오류를 수정하는 능력을 갖추고 있습니다.
이러한 특성을 활용하면, 모델이 응답을 생성한 후 다시 확인하고 오류를 수정하도록 유도할 수 있습니다.

"다시 생각해보라", "검토 후 수정해 보라"와 같은 요청 포함
"다른 방법으로 해결해보라"는 방식으로 모델이 다양한 관점을 고려하도록 유도

📌 예제 프롬프트

<question> 2차 방정식 x^2 - 5x + 6 = 0의 해를 구하라. </question>

<think> 먼저 이차 방정식의 근의 공식을 이용하여 해를 구하라. </think>

<answer> 최종 해를 제시하라. </answer>

<think> 다시 검토하고, 실수가 없는지 확인하라. 필요한 경우 다른 방법으로도 풀어 보라. </think>


✅ 3. 명확한 태그 및 형식 제공 (Utilizing Explicit Formatting and Tags)

DeepSeek-R1은 프롬프트 내에서 태그나 명확한 형식을 제공할 때 더 구조적인 응답을 생성하도록 학습되었습니다.
이를 활용하면 복잡한 질문에서도 체계적인 답변을 이끌어낼 수 있습니다.

태그(, ) 또는 키워드를 활용하여 모델이 정해진 형식을 따르게 유도
응답의 구조를 명확하게 구분

📌 예제 프롬프트

<question> 뉴턴의 제2법칙을 사용하여 힘을 계산하는 공식을 설명하라. </question>

<think> 먼저 뉴턴의 제2법칙(F=ma)의 개념을 설명한 후, 실제 적용 사례를 들어라. </think>

<answer> F = ma 공식을 사용하여 예제 문제를 풀어보라. </answer>


✅ 4. 다단계 응답 유도 (Multi-Step Responses)

DeepSeek-R1은 단일 질문에 대한 즉각적인 응답보다, 단계별로 깊이 있는 답변을 제공하는 방식으로 학습되었습니다.
따라서 프롬프트를 점진적으로 발전시키면서 질문을 던지면, 더욱 정교한 답변을 얻을 수 있습니다.

초기 응답 이후, 추가 질문을 통해 점진적으로 개선된 답변을 생성하도록 유도
예제, 개념 설명, 결론 등을 분리하여 한 번에 명확한 답을 요구하는 대신, 여러 단계로 나누어 요청

📌 예제 프롬프트

1. 뉴턴의 운동 법칙을 설명하라.

2. 뉴턴의 제2법칙을 수식으로 표현하라.

3. 뉴턴의 제2법칙을 이용하여, 질량이 10kg이고 가속도가 5m/s²인 물체의 힘을 구하라.

4. 이 문제를 해결하는 또 다른 접근 방식을 제시하라.


📌 프롬프트 개선을 위한 지침

앞서 제시한 프롬프트 최적화 전략을 기반으로 실제 적용할 수 있는 개선 방법을 구체적으로 정리하면 다음과 같습니다.


3.1 질문을 명확하게 정의하기

모델이 정확한 답변을 생성하도록, 모호한 질문을 피하고 구체적인 요구사항을 포함해야 합니다.
❌ 잘못된 예시:

에너지를 설명해줘.

➡️ 너무 광범위하여 어떤 방향으로 답해야 할지 모호함

✅ 개선된 예시:

에너지의 정의와 주요 유형(운동 에너지, 위치 에너지 등)을 설명하고, 각 유형의 대표적인 예를 2가지 이상 들어라.

➡️ 모델이 명확한 구조로 답할 수 있도록 가이드 제공


3.2 단계적 사고를 유도하는 프롬프트 작성

"어떤 과정으로 답해야 하는가?"를 명확하게 제시하면 모델의 응답 품질이 향상됩니다.
❌ 잘못된 예시:

2차 방정식 x^2 - 3x + 2 = 0의 해를 구하라.

➡️ 단순 계산만 수행하여 논리적 사고 과정이 생략될 가능성이 있음

✅ 개선된 예시:

1. 2차 방정식 x^2 - 3x + 2 = 0을 근의 공식과 인수분해 두 가지 방법으로 풀어라.  
2. 두 가지 방법의 장단점을 비교하여 설명하라.  

➡️ 다양한 해결 방법과 논리적 비교 분석을 유도


3.3 프롬프트 내에서 명령어 스타일을 명확히 설정

모델이 어떻게 답해야 하는지 구체적으로 명령하는 것이 중요합니다.
❌ 잘못된 예시:

대체 에너지에 대해 설명해봐.

➡️ 단순 나열식 응답이 나올 가능성이 높음

✅ 개선된 예시:

1. 대체 에너지란 무엇이며, 화석 연료와 비교했을 때 장점과 단점을 설명하라.  
2. 대표적인 대체 에너지 3가지를 설명하고, 각각의 원리와 활용 사례를 들어라.  
3. 대체 에너지 중 가장 유망하다고 생각하는 한 가지를 선택하여 이유를 설명하라.  

➡️ 구체적인 요구사항을 명확하게 제시하여 응답 품질 향상


✨ DeepSeek-R1 최적화 프롬프트 적용 예 ✨

➡️ 이 프롬프트를 질문에 붙여넣거나 ChatGPT맞춤 설정에 넣어보세요

[System / Meta Prompt]

다음 규칙을 엄격히 준수하여 어떤 질문(간단·복잡 무관)이 들어와도

논리적·단계적 사고를 거친 뒤, 최종적으로는 핵심 결론만 제시한다.

---

1. 질문 태그 정의

  • 사용자가 입력한 질문은 `<question>` 태그로 감싸서 전달된다.

  • 예: `<question>사용자 질문</question>`

  • 모델은 이 질문을 기반으로 내부적 사고 프로세스를 실행한다.

2. 체인 오브 사고(Chain-of-Thought)와 단계별 처리

  • 모델은 질문을 받으면, 먼저 `<thinking>` 태그 내에서 전체 문제를 스케치하며 해결 전략을 구상한다.

  • 문제 해결 과정을 여러 단계로 나누어 `<step>` 태그에 기록한다.

    • 각 `<step>` 뒤에는 `<count>` 태그로 남은 단계 수를 표시(처음은 20단계).

    • 단계 예산(`count`)이 0이 되면 즉시 최종 답변을 도출하고 종료한다.

3. 반성(Reflection) 및 보상(Reinforcement)

  • 각 단계가 끝나거나 결정적 순간이 되면 `<reflection>` 태그에서

    오류나 개선점, 다른 접근법 가능성을 검토한다.

  • `<reflection>` 직후에 `<reward>` 태그로 0.0~1.0 범위의 점수를 부여한다.

    • 0.8 이상: 접근법 유지

    • 0.5~0.7: 작은 조정 진행

    • 0.5 미만: 백트래킹 또는 새로운 시도 수행

4. 자기 검증(Self-Verification)과 오류 수정

  • 수학·물리·화학·기타 논리적 검증이 필요한 문제에서는,

    `<thinking>`나 `<step>`에서 LaTeX 등으로 계산을 명시하고,

    오류 여부를 <reflection>에서 꼼꼼히 확인한다.

  • 오류 발견 시 즉시 대안 접근을 시도하거나,

    이전 단계로 돌아가(백트래킹) 수정·보완한다.

5. 최종 답변 형식

  • 모든 내부 추론(`thinking`, `step`, `reflection`, `reward`, `count`)은 사용자에게 노출 금지.

  • 사용자에게 보여줄 최종 결과는 `<answer>` 태그에만 작성한다.

6. 질문 재구성과 다각도 접근

  • 필요하다면 `<thinking>`에서 질문을 재해석하고,

    여러 대체 접근(다른 공식, 다른 이론, 다른 사례)을 간단히 시도한다.

  • `<reflection>`에서 비교·검토하여 최적의 해법만 `<answer>`에 정리한다.


이런식으로 입력하면 다음과 사고과정을 거쳐 답변을 받을 수 있습니다.

DeepSeek-R1의 작동방식을 활용한 프롬프트 최적화 전략(추론모델 도입) image 2

DeepSeek-R1의 작동방식을 활용한 프롬프트 최적화 전략(추론모델 도입) image 3


📌 결론

  • 논리적 사고 유도, 자기 검증, 명확한 형식 제공, 다단계 응답 등의 방법을 활용하여 추론과정을 거치면 더 좋은 응답을 유도할 수 있습니다.

공유하기
카카오로 공유하기
페이스북 공유하기
트위터로 공유하기
url 복사하기
조회수 : 574
heart
T
페이지 기반 대답
AI Chat