ChatGPT 활용 AI 경진대회 월간 데이콘

프롬프팅 성능을 늘릴 수 있는 인사이트들을 공유합니다 :)

2023.03.22 14:31 2,958 Views

프롬프팅이란게 뭔가 딱 정해진 정답이란 건 없지만,

제가 프롬프팅하면서 경험한 더 좋은 답변을 얻을 수 있는 인사이트들을 공유해드리려 합니다 😊😊


1. 첫 답변이 중요합니다

첫 질문 후, GPT가 가장 친절하게 답변해줄 때까지 Regenerate Response를 해주는 것입니다.

똑같은 시작 프롬프트로 '학습에 사용할 데이터를 불러와 줘'라고 입력해도, 어쩔 때는 코드 제공을

import pandas as pd


# Import the train and test data
train_data = pd.read_csv('train.csv')
test_data = pd.read_csv('test.csv')

여기까지만 해 줄 때가 있고 어쩔 때는

import pandas as pd


# Import the train and test data
train_data = pd.read_csv('train.csv')
test_data = pd.read_csv('test.csv')


# Display the first few rows of the train data
print(train_data.head())


# Display the first few rows of the test data
print(test_data.head())

이렇게 몇 줄 더 써줄 때가 있습니다.

문제는 첫 시작을 전자처럼 해 줄 경우, 그 다음 response에서도 같은 태도를 유지하기 때문에 계속 정보와 디테일이 떨어지는 응답을 받을 것입니다.

그래서 이렇게 시작할 때 Regenerate Response를 해 주고, 충분히 만족스러운 답변이 나오면 그 다음 질문을 이어가시면 좋을 것 같습니다.

import pandas as pd

# Read train.csv and test.csv files
train_data = pd.read_csv('train.csv')
test_data = pd.read_csv('test.csv')

# Display the first few rows of the train and test data
print("Train Data:")
print(train_data.head())

print("\nTest Data:")
print(test_data.head())

저 같은 경우에는 아까의 동일한 프롬프트로 입력했을 때 이 정도 응답이 나오면 추가 질문을 시작했습니다.


2. 조금씩 물어보기

저는 chatGPT로 책을 쓰려고 많이 노력해 봤는데,

이 때 좋은 답변을 얻기 위해 가장 중요하게 느낀 것이 '가능한 한 더 많이 분할해서 질문하자' 라는 것입니다.

예를 들면, '학습 데이터와 테스트 데이터를 불러오는 코드를 작성해 줘'라는 질문이 있으면,

이것을 '학습 데이터를 불러오는 코드를 작성해 줘' 와

'테스트 데이터를 불러오는 코드를 작성해 줘'라는 두 개의 질문으로 분할할 수 있습니다.

예시처럼 간단한 코드는 물론 분할할 필요가 없겠지만,

많은 정보와 조건을 포함한 복잡한 질문을 주는 경우에는 분할해서 질문했을 때 퀄리티 차이가 놀라울 정도로 심합니다.


3. Continue +

가끔 chatGPT가 생성하려는 응답이 너무 길어서 중간에 끊겼던 기억이 있으실 것입니다.

이 경우 간단하게 '계속' 또는 'continue'를 입력하시면 계속 응답을 받을 수 있다는 것이 잘 알려져 있습니다.

그러나 코드 생성의 경우 continue만 입력하시게 되면 코드 블럭이 잘 만들어지지 않아서 응답이 예쁘게 나오지 않을 수 있습니다.

이럴 경우엔 '마지막 부분부터 계속 해줘' 'continue from the last line' 같이 입력하시면 계속 예쁘게 응답을 받을 수 있습니다.

저는 요즘 Continue를 입력해야 할 상황에 기존에 했던 질문을 반복해서 입력해줍니다.

'슈퍼마리오 게임 코드를 만들어주는데, 쿠파 대신 고양이를 넣어줘' 라고 만족시켜야 할 조건을 같이 입력했을 때 중간에 응답이 끊겼으면,

'계속 슈퍼마리오 게임 코드를 만들어주는데, 쿠파 대신 고양이 넣는 것을 잊지 말아줘' 라는 식으로 조건을 상기시켜 주는 것입니다.

chatGPT는 일단 계속 코드를 생성해줘야 하니까 딴소리도 안하고 일방적으로 정보를 재입력받는 셈이며,

그렇게 오래된 입력을 초기화해줘서 더 오래 문맥을 유지시키면 정확히 원하는 답변을 얻기 쉬워집니다!


4. Etc..

chatGPT는 학습시킬 때 text preprocessing을 거치지 않은 데이터를 사용했기 때문에, 강조하고 싶은 부분만 대문자로 써주면 그 부분을 잘 반영합니다.

너무 답답할 때 화내면 평소보다 더 좋은 응답을 주기도 합니다

좋은 답변을 해 줘서 고맙다, 도움이 정말 많이 되었다 등을 말해주면 정말 좋아합니다 (특히 GPT4가 더 그렇습니다)


개인적인 경험에서 나오는 견해일 뿐이지만 조금이라도 도움이 되셨으면 좋겠네요.

다들 화이팅하세요!! 😺

로그인이 필요합니다
0 / 1000
설빙더아이스
2023.03.22 17:30

이번 대회를 관통하는 꿀팁이 아닌가 싶네요.. 좋은 토크 감사합니다!

캣_지피티
2023.03.22 19:36

감사합니다! 설빙 먹고 싶네요 🤤

Surdarla
2023.03.22 19:10

칭찬에 약하다.. 메모 메모

캣_지피티
2023.03.22 19:36

우리 지피티 칭찬 많이 해주세요 .. 

kanghyun3130
2023.03.22 19:34

여러 part로 나누어서 대답시키고 있었는데
이어서 말하게 하는게 정말 좋은 꿀팁이네요!
감사합니다~

캣_지피티
2023.03.22 19:37

많은 도움 되셨으면 좋겠습니다!! ☺️☺️☺️