Let's Think step by step! 문장 하나 더 썼다고 챗GPT의 답변 수준이 확! 달라진다고?
챗GPT의 성능을 2배 올리는 프롬프트 작성법! 생각의 사슬(Chain of Thought)을 소개합니다.
AI 훜과 함께 '생각의 사슬' 프롬프트와 프롬프트 작성법을 알아보세요.
앞으로 챗GPT로 복잡한 문제를 해결하고 더 깊이 있는 인사이트를 얻을 수 있습니다.
'생각의 사슬 (Chain of Thought)'이란?
여러분! 여러분은 챗GPT를 사용할 때 어떻게 사용하시나요?
보통 이런 식 아닌가요?
간단한 수학 문제를 물어본다고 가정하고 챗GPT에게 질문을 해보았습니다.
암산이랄 것도 없이 간단한 문제죠?
우리는 대부분 이런 식으로 챗GPT에게 질문을 합니다.
아래 도식과 같이, 문제를 입력하고 바로 결괏값을 받는 형태죠.
그럼 다시! 우리가 초등학교 1학년이 됐다고 가정해 보겠습니다.
우리는 사실 위의 문제를 해결하기 위해 이런 과정을 단계적으로 거쳤습니다.
![]() |
# 처음 식당에 있던 사과의 수 initial_apples = 23 # 점심에 사용된 사과의 수 used_apples = 20 # 추가로 구매한 사과의 수 purchased_apples = 6 # 현재 식당에 있는 사과의 개수 current_apples = initial_apples - used_apples + purchased_apples 답: 9개. |
바로 이것이 바로 생각의 사슬(Chain of Prompt) 기법입니다.
복잡한 문제를 더 작고 다루기 쉬운 부분들로 쪼갠 다음 단계적으로 문제를 해결하는 방식이죠.
바로 이 도식처럼요!
위의 수학 문제를 예시로 설명해보겠습니다.
A. 현재 사과의 수 = (원래 사과의 수 - 사용된 사과의 수) + 추가로 구매한 사과의 수 = (23 - 20) + 6 = 3 + 6 = 9개 식당엔 현재 9개의 사과가 있습니다. |
챗GPT가 단순히 "9개"라고 대답하고 끝나는 게 아니라,
이렇게 하늘색으로 형광펜 친 풀이 과정,
즉 결괏값이 나오기까지의 중간 단계를 명시적으로 표현하게 만드는 것을 생각의 사슬 기법이라고 합니다.
굳이 왜 그래야 하냐고요?
우리가 어렸을 때 선생님들이 항상 하시던 말씀을 생각해 보세요.
뭐였죠?
"틀리지 말고 풀이 과정 써라!"
우리의 기억은 한정적입니다. 문제 해결 과정을 전부 기억할 수 없습니다.
복잡한 문제를 풀다 보면 계산이 틀리기도 하고, 중요한 부분을 생략하기도 하죠.
풀이 과정을 적으면 이런 부분을 보완하여 논리의 오류를 줄일 수 있습니다.
설사 최종 결괏값이 틀렸다고 하더라도,
다시 문제를 해결하는 과정에서 오류를 찾아낼 수도 있습니다.
이처럼 사용자는 생각의 사슬 기법을 사용하면
챗GPT가 어떤 어떤 정보를 근거로, 어떤 논리와 과정을 거쳐서
이런 결론을 내렸는지 두 눈으로 직접 확인할 수 있습니다.
챗GPT도 마찬가지입니다.
챗GPT는 사용자와 대화를 이어 나가면서 이전의 대화 내용에 근거해 새로운 답변을 생성합니다.
당연히 기존의 방식보다 더 일관성 있고, 깊이 있는 답변을 생성하겠죠?
👆 생각의 사슬(CoT) 기법을 대규모 언어 모델(LLM)을 대상으로 사용했을 때 산술, 상식 추론 등 추론 능력이 개선되었다는 연구 결과가 있었습니다.
'생각의 사슬 (Chain of Thought)' 사용해 보기
아하, 그럼 개념은 알겠어요!
그런데 이 중간 단계를 어떻게 쪼개냐고요?
그럴 때 필요한 게 이 마법의 문장
Let’s think step by step(차근차근 생각해 봅시다)입니다.
예를 들어 저희가 제안서를 작성해 본다고 가정해 보겠습니다.
그럼 중간 단계는 이런 식으로 나눌 수 있겠죠.
주요 문제 | 마케팅 캠페인 |
하위 문제 1 | 현황 분석(산업, 고객 분석) |
하위 문제 2 | 제품 차별화 |
하위 문제 3 | 채널 최적화 |
주요 문제 해결하기 | 문제점 도출 > 개선안 |
그런데 생각해 보세요?
우리가 어떤 복잡한 문제에 부딪혔을 때,
“중간 단계를 이렇게 설계해야지!”
바로 생각이 나나요?
사실 그럴 수 있는 사람은 몇 없을 거예요.
그래서 프롬프트 맨 앞에
Let’s think step by step(차근차근 생각해 봅시다)
이 한 문장을 추가해 주는 겁니다.
짠! 챗GPT가 사고 과정을 구조적으로 쭉 작성해 줬죠?
특히 무료 버전 사용하시는 분들!
자체적으로 단계를 설계해 예시로 주거나 CoT 지시문을 꼭 집어넣어 보세요.
지시문을 안 넣어도 4.0은 비교적 중간 과정을 잘 서술해 주는데,
3.5는 지시문을 넣는 게 내용을 잘 작성해 주는 것 같더라고요.
아래 프롬프트는 제가 업무를 보면서 자주 활용하는 프롬프트입니다.
캡처나 복사해놓으신 다음에,
기획서, 제안서 등을 작성하실 때 활용해 보세요!
일반 CoT 프롬프트 |
|
- Let's think step by step. - First, (*문제) - Let's solve this problem by splitting it into steps. - Let's Think about this logically. - Let's be realistic and think step by step. - First, Let's understand the problem. - Let's start by identifying the key elements of the problem. - Can we break this problem down into simpler parts? - Break down the problem into smaller, more manageable parts. - Let's clarify our assumptions step by step. |
- 차근차근 생각해 봅시다. - 먼저, (*문제) - 이 문제를 여러 단계로 나눠서 해결해 봅시다. - 논리적으로 생각해 봅시다. - 현실적이 되어 차근차근 생각해 봅시다. - 먼저, 문제를 이해해 봅시다. - 문제의 핵심 요소를 파악하는 것부터 시작하겠습니다. - 이 문제를 더 간단한 부분으로 나눌 수 있을까요? - 문제를 더 작고 관리하기 쉬운 부분으로 나누세요. - 가정을 단계별로 명확히 해 봅시다. |
기획서, 제안서에 활용할 수 있는 CoT 프롬프트 | |
타깃, 산업 파악 |
|
- Let's think step by step. First, analyze the target market for [제품/서비스], then identify key trends impacting [타깃 시장/산업]. - Let's solve this problem by splitting it into steps: First, identify the current industry trends for [산업]. What are the major shifts and developments we're observing? - Categorize the identified trends into [technological, economic, societal, and regulatory], to understand their origins and potential impacts on [제품/서비스]. |
- 차근차근 생각해 봅시다. 먼저, [제품/서비스]의 타깃 시장을 분석한 다음, [타깃 시장/산업]에 영향을 미치는 주요 트렌드를 파악합니다. - 이 문제를 단계별로 나누어 해결해 봅시다: 먼저, [산업]의 현재 산업 트렌드를 파악합니다. 우리가 관찰하고 있는 주요 변화와 발전은 무엇인가요? - 파악한 트렌드를 [기술, 경제, 사회]로 분류하여 그 기원과 [제품/서비스]에 미칠 수 있는 잠재적 영향을 파악합니다. |
문제점 파악 & 개선 | |
- Let's think step by step to understand the problem facing [제품/서비스 or 타깃 시장]. - First, let's identify the key elements of the problem affecting [제품/서비스]. - Can we break this problem down into simpler parts? Let's solve this problem by splitting it into steps, focusing on [specific aspect of the problem]. - Break down the problem into smaller, more manageable parts to improve [제품/서비스]. - Let's clarify our assumptions about [제품/서비스 or 타깃 시장]. |
- [제품/서비스 또는 타깃 시장]이 직면한 문제를 이해하기 위해 단계별로 생각해 봅시다. - 먼저, [제품/서비스]에 영향을 미치는 문제의 핵심 요소를 파악해 봅시다. - 이 문제를 더 간단한 부분으로 나눌 수 있을까요? [문제의 특정 측면]에 초점을 맞춰 이 문제를 여러 단계로 나누어 해결해 봅시다. - [제품/서비스]를 개선하기 위해 문제를 더 작고 관리하기 쉬운 부분으로 세분화해봅시다. - [제품/서비스 또는 타깃 시장]에 대한 가정을 명확히 해봅시다. |
전략(무엇을) |
|
- Let's think step by step to explore possible solutions. - Let's consider the pros and cons of each option. - Explain why this is the best solution logically. - What are the key factors influencing our decision? Let's think about this logically. |
- 가능한 해결책을 단계별로 살펴봅시다. - 각 옵션의 장단점을 고려해 봅시다. - 이것이 최선의 해결책인 이유를 논리적으로 설명하세요. - 결정에 영향을 미치는 주요 요인은 무엇인가요? 이에 대해 논리적으로 생각해 봅시다. |
전술(어떻게) | |
- List potential marketing tactics logically. How will we implement them step by step? - Define success metrics logically. What are our targets, and how will we measure progress? - First, list potential marketing tactics. In what order should we implement them for maximum impact? - Before we decide, Let's review all options. |
- 잠재적인 마케팅 전략을 논리적으로 나열하세요. 단계별로 어떻게 구현하나요? - 성공 지표를 논리적으로 정의하세요. 목표는 무엇이며 진행 상황을 어떻게 측정하나요? - 먼저, 잠재적인 마케팅 전략을 나열하세요. 효과를 극대화하려면 어떤 순서로 실행해야 할까요? - 결정하기 전에 모든 옵션을 검토해 봅시다. |
자원 배분 |
|
- Let's develop an action plan. How do we prioritize tasks and allocate resources effectively? |
- 실행 계획을 수립해 봅시다. 작업의 우선순위를 정하고 리소스를 효과적으로 할당하려면 어떻게 해야 할까요? |
기대효과 |
|
- Let's predict the outcomes logically. - After implementation, let's review the outcomes versus our goals. What have we learned? - Considering the results, how should we adjust our strategies moving forward logically? |
- 결과를 논리적으로 예측해 봅시다. - 실행 후 목표 대비 결과를 검토해 봅시다. 우리는 무엇을 배웠나요? - 결과를 고려할 때, 앞으로의 전략을 어떻게 논리적으로 조정해야 할까요? |
💡 오늘 내용은 위의 영상으로 쉽고 빠르게 확인할 수 있습니다.
* 해당 포스트의 내용은아래의 논문들을 참고했습니다.
➡️ Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
We explore how generating a chain of thought -- a series of intermediate reasoning steps -- significantly improves the ability of large language models to perform complex reasoning. In particular, we show how such reasoning abilities emerge naturally in su
arxiv.org
➡️ Large Language Models are Zero-Shot Reasoners
Large Language Models are Zero-Shot Reasoners
Pretrained large language models (LLMs) are widely used in many sub-fields of natural language processing (NLP) and generally known as excellent few-shot learners with task-specific exemplars. Notably, chain of thought (CoT) prompting, a recent technique f
arxiv.org
➡️ Tree of Thoughts: Deliberate Problem Solving with Large Language Models
Tree of Thoughts: Deliberate Problem Solving with Large Language Models
Language models are increasingly being deployed for general problem solving across a wide range of tasks, but are still confined to token-level, left-to-right decision-making processes during inference. This means they can fall short in tasks that require
arxiv.org
'챗GPT 마스터하기' 카테고리의 다른 글
30분 만에 챗GPT로 시장 조사, 트렌드 분석 끝내기 : GPT 스토어 추천 베스트 5 (0) | 2024.03.19 |
---|