인공지능/직접 해보기

프롬프팅 구체적으로 작성하는 방법

원담 2025. 7. 3. 12:33
728x90

프롬프트를 쓸 때 "명확하고 구체적으로 써라!"는 말은 많이 듣는데, 도대체 어떻게 해야 구체적으로 쓰는 건지 막막할 때가 있다. 오늘은 프롬프트를 짤 때 도움이 될 만한 꿀팁들을 정리해 보았다.

1. 복잡한 문제는 단계별로 쪼개서 해결하기

긴 프롬프트 하나로 모든 걸 해결하려 하지 말자. 특히 문제가 복잡할수록 여러 단계로 나눠서 프롬프트에 담는 게 좋다.

  • 나쁜 예시: "이 텍스트의 핵심 내용을 3문장으로 요약하고 이 요약을 기반으로 질문을 3개 만들어줘."
  • 좋은 예시:
    1. 이 텍스트의 핵심 내용을 3문장으로 요약해 줘.
    2. 1단계에서 요약한 내용에 빠진 중요한 정보가 있는지 확인하고, 필요하면 보완해 줘.
    3. 2단계에서 완성된 요약을 바탕으로 관련 질문 3개를 만들어 줘.
    4. 3단계에서 만든 질문들을 초급, 중급, 고급 수준으로 각각 조절해 줘. (초급: 간단한 사실 확인, 중급: 이유 설명, 고급: 비판적 사고 질문)

2. 프롬프트 템플릿 활용하기

아래와 같은 템플릿을 활용하면 프롬프트를 훨씬 구체적으로 만들 수 있다.

"넌 [역할]이야. [작업 내용]을 해야 해. [형식]으로 만들어주되, [제약 조건]을 고려해서 만들어 줘."

3. 생각 사슬 프롬프트(Chain of Thought Prompting) 활용하기

이 테크닉은 AI가 바로 정답을 내기 어려운 복잡한 추론 문제에서 빛을 발하는데 AI가 스스로 추론 과정을 거치도록 몇 가지 예시를 주거나, 문제를 푸는 단계를 상세히 알려주는 방식이다. 흔히 "왜 그런가"를 깊이 파고들어야 하는 전략 수립이나 데이터 해석 같은 문제에 특히 유용하다. 몇 가지 예를 들어보면

  • 캠페인 실패 원인 분석:
    • 나쁜 예시: "이 캠페인이 실패한 이유에 대해서 알려줘."
    • 좋은 예시: "이 캠페인의 목표는 무엇이었고, 핵심 지표는 무엇이었는지 먼저 정리해 보고, 그 다음 실제 성과 데이터를 보고 기대와 얼마나 차이가 있는지 확인해. 그리고 어떤 요인들이 이 차이를 만들었는지 추론해 줘."
  • 기능 우선순위 결정:
    • 나쁜 예시: "기능의 우선순위를 결정해 줘."
    • 좋은 예시: "우선 고려 중인 기능/요구사항의 목적을 정리해보자. 각 기능이 어떤 핵심 지표에 영향을 줄 수 있는지 생각해보자. 각 기능의 개발 난이도와 리스크를 비교해 보자. 이제 목적-효과-비용 관점에서 우선순위를 정해 보자."
  • 고객 불만사항 정리:
    • 나쁜 예시: "고객의 불만사항을 정리해 줘."
    • 좋은 예시: "우선 고객이 말한 주요 불편사항을 정리하자. 이 불편이 언제, 어떤 맥락에서 발생했는지 파악하자. 이 불편이 지표/행동에 어떤 영향을 주는지 가정해 보자. 근본적인 원인(why behind why)은 무엇인지 찾아보자."

4. 하이퍼 파라미터 활용

chatGPT에서 하이퍼 파라미터를 활용할 수 있는 방법이 있다. 간단하게 질문의 앞이나 뒤에 붙혀주기만 하면 되는데 

Hyper parameter
가능한 값
설명
temperture
0 ~ 1 까지의 실수 값 (e.g. 0.1, 0.2, 0.45, 0.8..)
출력의 다양성을 조절합니다. 더 높은 값은 더 다양한(예측불가능한) 답변을 생성합니다.
max_tokens
0 ~ 4,096까지의 정수 값
생성된 출력의 최대 길이를 제한합니다. 숫자는 토큰의 숫자를 나타냅니다
top_p
0 ~ 1 까지의 실수 값
모델이 확률 분포 상위의 토큰만 선택하도록 합니다. 갚이 높을 수록 더 희귀한 단어를 사용합니다.
frequency_penalty
0 부터 양수의 실수 값
값이 높을수록 주어진 문맥에서 더 자주 나타나는 단어를 선택합니다.
presence_penalty
0 부터 양수의 실수 값
값이 높을수록 주어진 문맥에서 특정 단어를 자주 생성하지 않도록 합니다.
stop_sequence
문자열 (e.g., "\n" 또는 "STOP")
출력을 생성하는 동안 특정 문자열을 만나면 중지하도록 설정합니다.
max_history
양의 정수 값 (e.g., 1, 2, 3)
모델이 이전 대화를 얼마나 기억하는지 제한합니다. 예를 들어 2로 설정하면 이전 2턴의 대화를 기억하고 그를 기반으로 답변합니다.
beam_width
0 ~ 10 양의 정수값
값이 높을 수록 다양한 문장을 생성합니다. 만약 3을 입력하면 3개의 가능한 단어 후보 중에서 적절한 단어를 선택해서 문장을 완성합니다.

위의 수치 관련된 하이퍼 파라미터 중 temperture 와 글쓰기 스타일(writing style)/톤(tone) 이 자주 사용된다.

예를들면 아래와 같은 프롬프팅으로 엄청난 퀄의 결과를 얻을 수 있었다.

prompt: 
[hyperparameter]
temperature : 0.2
tone : neutral
writing style : persuasive
max_token: 500

나는 PM이야.
현재 프로젝트 변경사항이 있어서 외부 협력사들의 설득을 해야하는데
협조를 구하는 이메일을 작성해줘

 

[Subject] 프로젝트 변경사항 안내 및 협조 요청드립니다

안녕하세요,
[회사명]의 프로덕트 매니저 [당신 이름]입니다.

먼저, 당사와의 협업에 지속적인 관심과 지원을 보내주셔서 진심으로 감사드립니다.

이번에 진행 중인 [프로젝트명] 관련하여 일부 방향성과 일정에 변경이 발생하게 되어, 협력사 여러분께 그 내용을 공유드리고자 합니다.
변경의 주요 사유는 [시장 상황 변화 / 사용자 피드백 / 내부 전략 조정 등], 그리고 이를 반영한 기능 우선순위 재조정에 있습니다.

변경 사항 요약은 아래와 같습니다:

기존 일정: [기존 일정]
변경 일정: [변경 일정]
주요 변경 포인트:
[변경 내용 1 (예: 기능 A → 기능 B로 우선순위 변경)]
[변경 내용 2 (예: 일정 조정에 따른 마일스톤 수정)]
이러한 변경은 제품의 완성도와 시장 적합성을 높이기 위한 결정으로, 장기적으로는 협력사 여러분께도 더 큰 기회로 이어질 수 있다고 판단하고 있습니다.

이에 따라, 협력사 측에서도 일정 및 리소스에 일부 조정이 필요할 수 있음을 사전에 안내드리며, 귀사의 유연한 협조를 부탁드립니다.

혹시 이 변경사항에 대해 추가적으로 논의가 필요하신 부분이 있으시면, 언제든지 연락 주시면 성실히 설명드리겠습니다.
가급적 이번 주 [요일]까지 의견 회신을 주시면 감사하겠습니다.

앞으로도 좋은 파트너십을 이어갈 수 있도록 최선을 다하겠습니다.
감사합니다.

감사합니다.
[당신 이름 드림]
[회사명] / Product Manager
[연락처 / 이메일]

chat gpt 에서는 하이퍼 파라미터를 조절 할 수 없을 줄 알았는데 생각보다 간단한 방식으로 적용할 수 있었다.

728x90