ChatGPT 프롬프트 엔지니어링 전략 – 4. 모델에게 ‘생각할’ 시간을 주기

ChatGPT 프롬프트 엔지니어링 전략 그 4번째 시간인 “모델에게 생각할 시간 주기”에 대해 설명해보겠습니다. 

프롬프트 엔지니어링 생각을 시켜라


프롬프트 엔지니어링 전략 시리즈

1.명확한 지침 작성

2. 참조 텍스트 제공

3. 복잡한 작업을 더 간단한 하위 작업으로 나누기

4. (현재글)모델에게 ‘생각할’ 시간 제공

5. 외부 도구 사용

6. 체계적으로 변경 사항 테스트


전략 1. 결론을 내리기 전에 모델 스스로 해결책을 찾도록 지시하기

때로는 결론을 내리기 전에 모델에게 첫 번째 원칙부터 추론하도록 명시적으로 지시할 때 더 나은 결과를 얻을 수 있습니다. 예를 들어 수학 문제에 대한 학생의 풀이를 평가하기 위해 모델을 사용한다고 가정해 보겠습니다. 이 문제에 접근하는 가장 확실한 방법은 모델에게 학생의 솔루션이 정답인지 아닌지를 묻는 것입니다.

시스템 : 
학생의 솔루션이 정답인지 아닌지 결정합니다.
유저 : 
문제 진술: 태양광 발전 설비를 건설 중인데 재정 문제를 해결하는 데 도움이 필요합니다.
– 토지 비용은 평방 피트당 $100입니다.
– 태양광 패널을 평방 피트당 $250에 구입할 수 있습니다.
– 연간 $100,000의 고정 비용과 평방 피트당 $10의 추가 비용이 드는 유지 보수 계약을 체결했습니다.
평방 피트 수에 따른 운영 첫해의 총 비용은 얼마인가요?

학생의 솔루션: x를 평방 피트 단위의 설치 크기라고 합니다.
1. 토지 비용: 100배
2. 태양광 패널 비용: 250배
3. 유지보수 비용: 100,000 + 100배
총 비용: 100x + 250x + 100,000 + 100x = 450x + 100,000
조교
학생의 솔루션이 정답입니다.

하지만 학생의 솔루션은 사실 정답이 아닙니다! 모델에 먼저 자체 솔루션을 생성하라는 메시지를 표시하여 모델이 이를 성공적으로 인식하도록 할 수 있습니다.

시스템 : 
먼저 문제에 대한 자신만의 해결책을 찾아보세요. 그런 다음 자신의 솔루션을 학생의 솔루션과 비교하여 학생의 솔루션이 정답인지 아닌지를 평가합니다. 문제를 직접 풀기 전에는 학생의 솔루션이 올바른지 결정하지 마세요.
유저 : 
문제 진술: 저는 태양광 발전 설비를 건설 중인데 재정 문제를 해결하는 데 도움이 필요합니다.
– 토지 비용은 평방 피트당 $100입니다.
– 태양광 패널을 평방 피트당 $250에 구입할 수 있습니다.
– 연간 $100,000의 고정 비용과 평방 피트당 $10의 추가 비용이 드는 유지 보수 계약을 체결했습니다.
평방 피트 수에 따른 운영 첫해의 총 비용은 얼마인가요?

학생의 솔루션: x를 평방 피트 단위의 설치 크기라고 합니다.
1. 토지 비용: 100배
2. 태양광 패널 비용: 250배
3. 유지보수 비용: 100,000 + 100배
총 비용: 100x + 250x + 100,000 + 100x = 450x + 100,000
보조
x는 평방 피트 단위의 설치 크기입니다.
1. 토지 비용: 100배
2. 태양광 패널 비용: 250배
3. 유지보수 비용: 100,000 + 10배
총 비용: 100x + 250x + 100,000 + 10x = 360x + 100,000

학생의 솔루션이 올바르지 않습니다. 유지 관리 비용 계산에서 10배 대신 100배를 사용하는 오류를 범했습니다. 운영 첫해의 올바른 총 비용은 360x + 100,000입니다.


전략 2. 내적 독백 또는 일련의 쿼리를 사용하여 모델의 추론 과정을 숨깁니다.

앞의 전략은 모델이 특정 질문에 답하기 전에 문제에 대해 자세히 추론하는 것이 때때로 중요하다는 것을 보여줍니다. 일부 애플리케이션의 경우, 모델이 최종 답변에 도달하기 위해 사용하는 추론 프로세스를 사용자와 공유하기에는 부적절할 수 있습니다. 예를 들어, 과외 애플리케이션에서는 학생이 스스로 답을 찾도록 유도하고 싶지만, 학생의 해답에 대한 모델의 추론 과정이 학생에게 정답을 알려줄 수 있습니다.

내적 독백은 이러한 문제를 완화하는 데 사용할 수 있는 전략입니다. 내적 독백의 개념은 모델에게 사용자에게 숨겨야 하는 출력의 일부를 구문 분석을 쉽게 할 수 있는 구조화된 형식으로 만들도록 지시하는 것입니다. 그런 다음 사용자에게 출력을 표시하기 전에 출력을 파싱하고 출력의 일부만 표시합니다.

시스템 : 
사용자 쿼리에 응답하려면 다음 단계를 따르세요.

1단계 – 먼저 문제에 대한 자신만의 해결책을 찾아보세요. 학생의 솔루션은 정확하지 않을 수 있으므로 의존하지 마십시오. 이 단계의 모든 작업은 큰따옴표(“””) 안에 넣으세요.

2단계 – 자신의 솔루션을 학생의 솔루션과 비교하고 학생의 솔루션이 올바른지 여부를 평가합니다. 이 단계의 모든 작업은 큰따옴표(“””) 안에 넣습니다.

3단계 – 학생이 실수한 경우 답을 알려주지 않고 학생에게 어떤 힌트를 줄 수 있는지 결정합니다. 이 단계의 모든 작업을 큰따옴표(“””) 안에 넣습니다.

4단계 – 학생이 실수한 경우 이전 단계의 힌트를 큰따옴표 안에 넣어 학생에게 제공합니다(큰따옴표 외부). “4단계 – …”라고 쓰는 대신 “힌트:”라고 씁니다.
유저 : 
문제 진술: <문제 진술 삽입>

학생 솔루션: <학생 솔루션 삽입>

또는 마지막 쿼리를 제외한 모든 쿼리가 최종 사용자에게 출력을 숨기는 일련의 쿼리를 사용하여 이 작업을 수행할 수도 있습니다.

먼저 모델에 스스로 문제를 해결하도록 요청할 수 있습니다. 이 초기 쿼리는 학생의 솔루션이 필요하지 않으므로 생략할 수 있습니다. 이렇게 하면 학생의 솔루션에 의해 모델의 솔루션이 편향될 가능성이 없다는 추가적인 이점이 있습니다.

USER
<문제 문구 삽입>

다음으로, 모델이 사용 가능한 모든 정보를 사용하여 학생의 솔루션의 정확성을 평가하도록 할 수 있습니다.

시스템
자신의 솔루션을 학생의 솔루션과 비교하고 학생의 솔루션이 올바른지 평가합니다.
USER
문제 진술: “””<문제 문구 삽입>””””

사용자의 솔루션: “””<인서트 모델 생성 솔루션>”””

학생의 솔루션: “””<학생의 솔루션 삽입>”””

마지막으로, 모델이 자체 분석을 사용하여 도움이 되는 튜터의 페르소나로 답장을 작성하도록 할 수 있습니다.

시스템 : 
수학 튜터입니다. 학생이 오류를 범한 경우 정답을 드러내지 않는 방식으로 학생에게 힌트를 제공합니다. 학생이 오류를 범하지 않았다면 격려의 댓글을 달면 됩니다.
유저 : 
문제 진술: “””<문제 문구 삽입>”””

솔루션: “””<인서트 모델 생성 솔루션>”””

학생의 솔루션: “””<학생의 솔루션 삽입>”””

분석: “””<이전 단계에서 생성된 모델 분석 삽입>””””


전략 3. 모델에 이전 패스에서 놓친 부분이 있는지 물어봅니다.

특정 질문과 관련된 소스에서 발췌한 내용을 나열하는 데 모델을 사용한다고 가정해 보겠습니다. 각 발췌문을 나열한 후 모델은 다른 발췌문을 작성해야 할지 아니면 중단해야 할지 결정해야 합니다. 소스 문서가 큰 경우, 모델이 너무 일찍 멈춰서 관련 발췌문을 모두 나열하지 못하는 경우가 많습니다. 이 경우 모델에 후속 쿼리를 통해 이전 패스에서 놓친 발췌문을 찾으라는 메시지를 표시하면 더 나은 성능을 얻을 수 있습니다.

시스템
세 개의 따옴표로 구분된 문서가 제공됩니다. 당신의 임무는 다음 질문과 관련된 발췌문을 선택하는 것입니다: “인공 지능의 역사에서 어떤 중요한 패러다임의 변화가 일어났는가?”

발췌문에 해석에 필요한 모든 관련 컨텍스트가 포함되어 있는지, 즉 중요한 컨텍스트가 누락된 작은 스니펫을 추출하지 않았는지 확인하세요. 다음과 같이 JSON 형식의 출력을 제공하세요:

[{“발췌”: “…”},

{“발췌”: “…”}]
USER
“””<여기에 문서 삽입>”””
ASSISTANT
[{“excerpt”: “모델이 여기에 발췌문을 씁니다”},

{“excerpt”: “모델이 여기에 다른 발췌문을 씁니다”}]
USER
관련성 있는 발췌문이 더 있나요? 발췌문을 반복하지 않도록 주의하세요. 또한 발췌문에 해석에 필요한 모든 관련 문맥이 포함되어 있는지, 즉 중요한 문맥이 누락된 작은 스니펫을 추출하지 않았는지 확인하세요.


함께 보면 좋은 글

GPT 스토어 이용방법 및 유용한 앱 추천

chatGPT DALL-E 그림 스타일 종류

GPTs 활용방법