GPT: 프롬프트 작성을 위한 6가지 대원칙

by SPECAL

그거 아세요?


GPT의 개발사인 OPEN AI는 포럼을 운영하고 있고 거기에 프롬프트 엔지니어링을 이런 방식으로 하라는 디렉션을 주고 있습니다.


1453캡처.PNG


여기에는 6가지 대원칙이 있는데요, 이번글에선 이 원칙에 대해 한번 다뤄 보자고요

Write clear instructions
Provide reference text
Split complex tasks into simpler subtasks
Give the model time to "think"
Use external tools
Test changes systematically


1.Write clear instructions

명확한 지시사항을 작성하라.

Write clear instructions

These models can’t read your mind. If outputs are too long, ask for brief replies. If outputs are too simple, ask for expert-level writing. If you dislike the format, demonstrate the format you’d like to see. The less the model has to guess at what you want, the more likely you’ll get it.

GPT에서 항상 하는 말이 GPT는 네 생각을 모르니까 명백하게 알려줘라 라는 뜻입니다.

실제로 가장 첫 문장에 들어가는 말로 명백한 배경과 목표를 알려주는 것이 중요하다 정도로 설명드릴 수 있겠네요


예시를 볼까요?

지금 보고계시는 문장은 실제로 GPT에게 작성하게 한 프롬프트로 이전에 이글을 위해 출력한 프롬프트 입니다.

당신은 IT 및 AI 분야에서 활발히 활동하는 전문가 대상의 글을 집필하는 작가입니다. 이번 프로젝트는 “GPT 글쓰기를 위한 프롬프트 기초”라는 제목 아래, 프롬프트의 근본 개념과 실제 활용법, 그리고 AI 모델 선정이 왜 프롬프트보다 우선되는지를 심도 있게 다루고자 합니다.
배경
당신은 IT 및 AI 분야에서 활발히 활동하는 전문가 대상의 글을 집필하는 작가입니다.
목표
이번 프로젝트는 “GPT 글쓰기를 위한 프롬프트 기초”라는 제목 아래, 프롬프트의 근본 개념과 실제 활용법, 그리고 AI 모델 선정이 왜 프롬프트보다 우선되는지를 심도 있게 다루고자 합니다.

이두가지를 명백하게 오더 했다고 볼 수 있겠네요, 실제로 여러분들이 작성할때도 역할을 부여주시면 굉장히 성능이 올라가는 듯한 체험을 할수 있습니다.


2.Provide reference text
참고 텍스트를 제공하라.

이전 글에서 그래프로 보여드렸지만


다운로드 (1).jpg

예문을 줄 때 드라마틱하게 성능이 오르는 것을 확인할 수 있어요, 물론 지금에서는 이 정도까지는 아니지만 그래도 내가 명백하게 원하는 글을 제공할 가능성이 높더군요


GPT 사이트의 안내문구를 봐도 비슷한 이야기를 하고 있고요

Provide reference text

Language models can confidently invent fake answers, especially when asked about esoteric topics or for citations and URLs. In the same way that a sheet of notes can help a student do better on a test, providing reference text to these models can help in answering with fewer fabrications.

그렇다면 어떻게 해야 할까요?


1453캡처.PNG

크게 2가지 방법으로 애초에 논문을 던져주거나 저처럼 초안을 써서 던저주시면 되겠습니다.

초안을 쓰는 게 힘들다면 주제아래에

전체적으로 어려운 이유에 대해서 소개하고 이거에 대한 명백한 근거를 넣어서 상황을 독자에게 소개하고 싶어

이런 느낌으로요 세부적인 디렉션이 많을수록 LLM모델은 더 큰 힘을 쓸 수 있습니다.


413캡처.PNG

세부적인 명령을 잘 내려라와 거의 동일한 말이지만 실제로 위 저는 직접 쓴 글을 넣어주는 게 가장 빠르더군요


3.Split complex tasks intosimpler subtasks

복잡한 작업을 더 간단한 하위 작업으로 분할


코딩에서 많이 쓰이는 방식입니다.

41453캡처.PNG

조금 복잡해 보이지만 결론적으로 명백하게 해야 할 일을 나누라는 거예요 글쓰기에선 어떤 방식으로 쓰일 수 있을까요?

11캡처.PNG

단순합니다. 문단별로 디렉션을 넘겨주세요, 본인이 쓰고 싶은 내용들을 간단하게 던져주고 각각을 써주면 꽤나 괜찮은 결과 물이 나옵니다. 한 번에 작성해와 하면 좀 많이 부족해요


각 문단별 문장을 쓰게 하는 게 꽤나 유요한 전략으로 먹협니다.


4.Give the model time to "think"
모델에게 ‘생각할 시간’을 주라.

이건 한번 지난 질문방식입니다. 사실 추론모델이 일정시간을 거치기에, 어려운 질문에 대한 답변은 연산시간을 주는 게 더 뛰어나다 이런 결론이 나온 상태예요


하지만 여기서도 아셔야 할 부분이 있습니다.

1435453캡처.PNG

음 추론명령으로 저런 논리적인 구조를 짤 수 있다고?


아! 내 글에 논리적 빈틈이 있는지 없는지 그리고 비문을 체크하는 데 사용하면 되겠구나 이런 논리가 쉽게 세워집니다. 이건 제가 가끔 사용하는 방법인데 나중에 한번 보여드리겠습니다.


5.Use external tools
외부 도구를 사용하라.

1434캡처.PNG

여기서는 단순히 코드를 사용했지만 추가적으로 활용할 수 있는 수단이 많습니다.


실제로 저 같은 경우 미분방정식을 풀이하는 울프람알파 코드를 짜라고 해서 이게 설명하는지 적합한지 판단하게 하던가


혹은 다른 글을 콜 해서 넣는 경우가 있죠 실제로 제가 예문을 넣는 것도 이쪽에 가깝다고 할 수 있겠죠


6.Test changes systematically
변경 사항을 체계적으로 테스트하라.

43453캡처.PNG

어려워 보이지만 결론은 한 가지입니다. 여러 번 교차검증 테스를 하면서 질문을 날려라

AI가 내 논답이라고 100% 믿지 마라 이런 뜻입니다.


샘알트만이 추천하는 O1프롬포트

다운로드.jpg

자 제가 이전에 올려드린 글입니다. 실제로 보시다 보면 이제 위에 올라가 있는 모든 자료들이 추가되어 있어요 배경, 세부요청사항, 디렉션, 예문까지 대충 감이 오시죠?


문제는 여기서 끝이 아닙니다. 오케이 이런 프롬프트를 짜는 법은 알겠어요 그럼 어떤 모델을 써야 하는데요?

O1 O3 4O? 심지어 때대론 O3보다 4O의 대답이 나을 때도 있던데요


실제로 그렇습니다. O3와 O1의 대답은 비슷하지만 생각보다 문제가 발생하는 경우가 많아요 이걸 모두 세부적으로 조절하는 기능은, GPT 플레이 그라운드라는 파트로 넘어가야 하지만이건 나중에 다뤄보기로 하자고요


자 그럼 이제 모델선택과 각각의 개념들을 어떤 식으로 GPT에 적용할 수 있는지 한번 다음 글부터 가보죠


keyword
이전 04화대체 AI 프롬프트란 무엇인가?