프라임 데이가 프롬프트 엔지니어링에 대해 내게 가르쳐준 것
나는 프롬프트 엔지니어링을 마스터하고 싶었다.
화려한 기술을 원한 것이 아니었다. 유용한 기술을 원했다. 답변을 신뢰할 수 있도록 질문하는 방법을 알고 싶었다.
대부분의 튜토리얼은 가짜 예시를 사용한다. 주제에 관심이 없다면 잘못된 답변을 찾아내기 어렵다.
그래서 나는 내 아마존 장바구니를 대상으로 연습했다. 내가 보고 있는 딜이 진짜인지 아니면 단순한 마케팅인지 알고 싶었다. 걸려 있는 것은 내 돈이었다.
내가 배운 것은 다음과 같다.
- 앵커(Anchor)를 공격하라 마케팅에서는 할인이 엄청나 보이게 하려고 '권장 소비자 가격(list prices)'을 이용한다. 만약 "이게 좋은 딜인가요?"라고 물으면, 모델은 종종 가짜 권장 가격을 그대로 받아들인다.
해결책: 모델에게 권장 가격을 무시하라고 지시하라. 현재 가격을 지난 6~12개월 동안의 실제 시장 가격(street price)과 비교하도록 요청하라.
- 기준을 정의하라 "어떤 게 더 나은가요?"와 같은 프롬프트는 쓸모가 없다. 맥락이 없다면 '더 낫다'는 말은 아무런 의미가 없다.
해결책: 가중치가 부여된 기준을 사용하라. 무엇이 중요한지 모델에게 정확히 알려주라.
- 가격 30%
- 세척력 25%
- 작동 시간 20%
- HEPA 필터 15%
- 유지 관리 10%
또한, '최고의 딜'과 '최고의 제품'을 구분하라. 제품의 품질은 높을 수 있지만 가성비는 나쁠 수 있다.
- 수학적 계산을 강제하라 모델은 수학에 대해 자신만만해 보이지만 틀릴 수 있다. 요약 과정에서 오류를 범하는 경우가 많다.
해결책: 모델에게 "수학적 계산 과정을 명시적으로 보여달라(show the math explicitly)"고 지시하라. 모델이 뺄셈 과정을 단계별로 적으면 결과값을 환각(hallucinate)할 가능성이 낮아진다.
- 형식보다 내용에 우선순위를 두라 글자 수 제한에 걸리면 프롬프트의 뒷부분이 잘리게 된다.
해결책: 가장 중요한 지침을 맨 앞에 두라. 긴 헤더나 정중한 표현에 공간을 낭비하지 마라. '앵커 제거(anchor break)'와 '가중치 기준(weighted criteria)'을 상단에 배치하라.
5가지 핵심 기술: • 명확성을 위해 역할을 부여하라. 가격 분석가(pricing analyst)로서 행동하라고 지시하라. • 특정 구조를 요구하라. 표 형식이나 구체적인 판결을 요청하라. • 퓨샷(few-shot) 예시를 사용하라. 완벽한 답변의 예시를 하나 보여주라. • 판결 전에 추론 과정을 요구하라. 이는 모델이 생각하도록 강제한다. • 불확실성 조항을 추가하라. 데이터를 찾을 수 없는 경우 "확인되지 않음(unverified)"이라고 말하도록 지시하라.
프롬프트 엔지니어링은 디버깅이다. 첫 번째 답변을 그냥 받아들이지 마라. 모델이 어디서 실패하는지 찾아내고 그 특정 부분을 수정하라.
출처: https://dev.to/cseeman/what-prime-day-taught-me-about-prompt-engineering-3gek
선택 사항 학습 커뮤니티: https://t.me/GyaanSetuAi
