πŸš€ Master Prompt Engineering and building AI Agents in our NEW courses! Use PROMPTING20 for 20% off ➜ Enroll now
Self-Consistency

Self-Consistency

ν”„λ‘¬ν”„νŠΈ μ—”μ§€λ‹ˆμ–΄λ§μ„ μœ„ν•œ 더 μ§„λ³΄λœ 기법 쀑 ν•˜λ‚˜λ‘œ 자기 일관성(self-consistency)이 μžˆμŠ΅λ‹ˆλ‹€. Wang et al. (2022) (opens in a new tab)μ—μ„œ μ œμ•ˆν•œ 자기 일관성은 "μƒκ°μ˜ μ‚¬μŠ¬ ν”„λ‘¬ν”„νŒ…μ— μ‚¬μš©λ˜λŠ” 일반적인 νƒμš• μ•Œκ³ λ¦¬μ¦˜ 디코딩을 λŒ€μ²΄ν•˜λŠ” 것"을 λͺ©ν‘œλ‘œ ν•©λ‹ˆλ‹€. 이 μ•„μ΄λ””μ–΄λŠ” 퓨샷 μƒκ°μ˜ μ‚¬μŠ¬(few-shot CoT)을 톡해 μ—¬λŸ¬ κ°€μ§€ λ‹€μ–‘ν•œ μΆ”λ‘  경둜λ₯Ό μƒ˜ν”Œλ§ν•˜κ³ , μ—¬λŸ¬ 번의 ν”„λ‘¬ν”„νŠΈ 생성 과정을 거쳐 κ°€μž₯ μΌκ΄€λœ 닡을 μ„ νƒν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. 이λ₯Ό 톡해 μ‚°μˆ  및 상식적인 μΆ”λ‘ κ³Ό κ΄€λ ¨λœ μž‘μ—…μ—μ„œ μƒκ°μ˜ μ‚¬μŠ¬ ν”„λ‘¬ν”„νŠΈμ˜ μ„±λŠ₯을 ν–₯μƒμ‹œν‚¬ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ‹€μŒμ˜ μ‚°μˆ  좔둠에 λŒ€ν•œ 예제λ₯Ό μ‚΄νŽ΄λ΄…μ‹œλ‹€.

Prompt:

λ‚΄κ°€ 6μ‚΄μ΄μ—ˆμ„ λ•Œ λ‚΄ 여동생은 λ‚΄ λ‚˜μ΄μ˜ 절반인 λ‚˜μ΄μ˜€μ–΄. μ§€κΈˆ
λ‚˜λŠ” 70살이라면 여동생은 λͺ‡ μ‚΄μΌκΉŒ?

Output:

35

κ²°κ³Όκ°€ ν‹€λ ΈμŠ΅λ‹ˆλ‹€. 자기 일관성을 μ΄μš©ν•΄ 이 문제λ₯Ό μ–΄λ–»κ²Œ κ°œμ„ ν•  수 μžˆμ„κΉŒμš”? ν•œλ²ˆ ν•΄λ΄…μ‹œλ‹€. [Wang et al. 2022] λ…Όλ¬Έμ˜ (Table 17) 퓨샷 예제λ₯Ό μ΄μš©ν•΄ λ³΄κ² μŠ΅λ‹ˆλ‹€.

Prompt:

Q: κ³Όμˆ˜μ›μ—λŠ” 15그루의 λ‚˜λ¬΄κ°€ μžˆμ–΄. κ³Όμˆ˜μ›μ˜ 일꾼듀이 였늘 κ³Όμˆ˜μ›μ— λ‚˜λ¬΄λ₯Ό 심을 κ±°μ•Ό. λ‚˜λ¬΄ 심기가 λλ‚˜λ©΄
21그루의 λ‚˜λ¬΄κ°€ μžˆμ„ κ±°μ•Ό. 였늘 κ³Όμˆ˜μ› 일꾼듀은 λͺ‡ 그루의 λ‚˜λ¬΄λ₯Ό μ‹¬μ—ˆμ„κΉŒ?
A: 15그루둜 μ‹œμž‘ν•©λ‹ˆλ‹€. λ‚˜μ€‘μ— λ‚˜λ¬΄κ°€ 21그루가 λ©λ‹ˆλ‹€. κ·Έ 차이가 그듀이 심은 λ‚˜λ¬΄μ˜ 수일 κ²ƒμž…λ‹ˆλ‹€.
λ”°λΌμ„œ 그듀은 21 - 15 = 6그루의 λ‚˜λ¬΄λ₯Ό μ‹¬μ—ˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. 정닡은 6μž…λ‹ˆλ‹€.

Q: μ£Όμ°¨μž₯에 3λŒ€μ˜ μ°¨λŸ‰μ΄ 있고 2λŒ€μ˜ μ°¨λŸ‰μ΄ 더 λ„μ°©ν•˜λ©΄ μ£Όμ°¨μž₯에 λͺ‡ λŒ€μ˜ μ°¨λŸ‰μ΄ μžˆμ„κΉŒ?
A: μ£Όμ°¨μž₯에 이미 3λŒ€μ˜ μ°¨λŸ‰μ΄ μžˆμŠ΅λ‹ˆλ‹€. 2λŒ€κ°€ 더 λ„μ°©ν•©λ‹ˆλ‹€. 이제 3 + 2 = 5λŒ€μ˜ μ°¨λŸ‰μ΄ μžˆμŠ΅λ‹ˆλ‹€. 정닡은 5μž…λ‹ˆλ‹€.

Q: μ§€ν˜ΈλŠ” μ΄ˆμ½œλ¦Ώμ„ 32개, 여동생은 42개λ₯Ό κ°€μ§€κ³  μžˆμ—ˆμ–΄. λ‘˜μ΄ 35개λ₯Ό λ¨Ήμ—ˆλ‹€λ©΄ 총 λͺ‡ κ°œκ°€ λ‚¨μ•˜μ„κΉŒ?
A: λ ˆμ•„λŠ” 초콜릿 32개, λ ˆμ•„μ˜ 여동생은 42개λ₯Ό κ°€μ§€κ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 즉, μ›λž˜ 32개 + 42개 = 74개의
초콜릿이 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 35개λ₯Ό λ¨Ήμ—ˆμŠ΅λ‹ˆλ‹€. λ”°λΌμ„œ 총 74 - 35 = 39개의 초콜릿이 남아 μžˆμŠ΅λ‹ˆλ‹€. 정닡은 39μž…λ‹ˆλ‹€.

Q: μ„ μš°λŠ” λ§‰λŒ€ 사탕을 20개 κ°€μ§€κ³  μžˆμ—ˆμ–΄. κ·ΈλŠ” λ‘λ¦¬μ—κ²Œ λ§‰λŒ€ 사탕을 λͺ‡ 개 μ£Όμ—ˆμ–΄. 이제 μ„ μš°λŠ” λ§‰λŒ€μ‚¬νƒ• 12개λ₯Ό κ°€μ§€κ³  μžˆμ–΄. μ„ μš°λŠ” λ‘λ¦¬μ—κ²Œ
λͺ‡ 개의 λ§‰λŒ€ 사탕을 μ€¬μ„κΉŒ?
A: μ„ μš°λŠ” λ§‰λŒ€ 사탕 20개λ₯Ό κ°€μ§€κ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 이제 μ„ μš°λŠ” 12개만 κ°€μ§€κ³  μžˆμœΌλ―€λ‘œ, λ‚˜λ¨Έμ§€λŠ” λ‘λ¦¬μ—κ²Œ μ£Όμ—ˆμ„ κ²ƒμž…λ‹ˆλ‹€. μ„ μš°κ°€ λ‘λ¦¬μ—κ²Œ μ€€ λ§‰λŒ€μ‚¬νƒ•μ˜
20 - 12 = 8개의 λ§‰λŒ€ 사탕을 λ‘λ¦¬μ—κ²Œ μ£Όμ—ˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. 정닡은 8κ°œμž…λ‹ˆλ‹€.

Q: λ„ν˜„μ΄λŠ” μž₯λ‚œκ°μ΄ λ‹€μ„― 개 μžˆμ–΄. ν¬λ¦¬μŠ€λ§ˆμŠ€μ— λ„ν˜„μ΄λŠ” μ—„λ§ˆμ™€ μ•„λΉ λ‘œλΆ€ν„° 각각 두 개의 μž₯λ‚œκ°μ„ λ°›μ•˜μ–΄. λ„ν˜„μ΄λŠ” μ§€κΈˆ λͺ‡ 개의 μž₯λ‚œκ°μ„
κ°€μ§€κ³  μžˆμ„κΉŒ?
A: λ„ν˜„μ΄μ˜ μž₯λ‚œκ°μ΄ 5κ°œμž…λ‹ˆλ‹€. μ—„λ§ˆλ‘œλΆ€ν„° 2개λ₯Ό λ°›μ•˜μœΌλ―€λ‘œ 5 + 2 = 7개의 μž₯λ‚œκ°μ„ κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€. 그리고 μ•„λΉ ν•œν…Œμ„œ 2개λ₯Ό 더 λ°›μ•˜μ–΄μš”.
총 7 + 2 = 9 개의 μž₯λ‚œκ°μ„ κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€. 정닡은 9μž…λ‹ˆλ‹€.

Q: μ„œλ²„μ‹€μ—λŠ” 9λŒ€μ˜ 컴퓨터가 μžˆμ—ˆμ–΄. μ›”μš”μΌλΆ€ν„° λͺ©μš”μΌκΉŒμ§€ 각각 5λŒ€μ”© 컴퓨터가 더 μ„€μΉ˜λ˜μ—ˆμ–΄.
ν˜„μž¬ μ„œλ²„μ‹€μ—λŠ” λͺ‡ λŒ€μ˜ 컴퓨터가 μžˆμ„κΉŒ?
A: μ›”μš”μΌλΆ€ν„° λͺ©μš”μΌκΉŒμ§€λŠ” 4μΌμž…λ‹ˆλ‹€. 맀일 5λŒ€μ”© 컴퓨터가 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€. 즉, 총 4 * 5 =
20λŒ€μ˜ 컴퓨터가 μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€. μ²˜μŒμ—λŠ” 9λŒ€μ˜ 컴퓨터가 μžˆμ—ˆμœΌλ―€λ‘œ 이제 9 + 20 = 29λŒ€μ˜ 컴퓨터가 μžˆμŠ΅λ‹ˆλ‹€.
정닡은 29μž…λ‹ˆλ‹€.

Q: μˆ˜μ™„μ΄λŠ” 58개의 골프곡을 κ°€μ§€κ³  μžˆμ—ˆμ–΄. ν™”μš”μΌμ— κ·ΈλŠ” 23개의 골프곡을 μžƒμ–΄λ²„λ Έμ–΄. μˆ˜μš”μΌμ— 2개λ₯Ό 더 μžƒμ–΄λ²„λ Έμ–΄.
μˆ˜μš”μΌμ΄ 끝났을 λ•Œ κ·Έκ°€ κ°€μ§€κ³  있던 골프곡은 λͺ‡ κ°œμ˜€μ„κΉŒ?
A: μˆ˜μ™„μ΄λŠ” μ²˜μŒμ— 58개의 곡을 κ°€μ§€κ³  μžˆμ—ˆμŠ΅λ‹ˆλ‹€. ν™”μš”μΌμ— 23개λ₯Ό μžƒμ–΄λ²„λ ΈμœΌλ―€λ‘œ κ·Έ μ΄ν›„μ—λŠ” 58 - 23 = 35개의 곡을 κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€.
μˆ˜μš”μΌμ— 2개λ₯Ό 더 μžƒμ–΄λ²„λ ΈμœΌλ―€λ‘œ 이제 35 - 2 = 33개의 곡을 κ°€μ§€κ³  μžˆμŠ΅λ‹ˆλ‹€. 정닡은 33μž…λ‹ˆλ‹€.

Q: ν•œμ–Όμ΄λŠ” 23λ‹¬λŸ¬λ₯Ό κ°€μ§€κ³  μžˆμ–΄. κ·Έλ…€λŠ” 각각 3λ‹¬λŸ¬μ— 베이글 5개λ₯Ό 샀어. ν•œμ–Όμ΄μ—κ²Œ 남은 λˆμ€ μ–Όλ§ˆμΌκΉŒ?
A: ν•œμ–Όμ΄λŠ” 각각 3λ‹¬λŸ¬μ— 베이글 5개λ₯Ό μƒ€μŠ΅λ‹ˆλ‹€. 이것은 κ·Έλ…€κ°€ 5 * 3 = 15λ‹¬λŸ¬λ₯Ό μΌλ‹€λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.

Q: λ‚΄κ°€ 6μ‚΄μ΄μ—ˆμ„ λ•Œ λ‚΄ 여동생은 λ‚΄ λ‚˜μ΄μ˜ 절반인 λ‚˜μ΄μ˜€μ–΄. μ§€κΈˆ λ‚˜λŠ” 70살이고 λ‚΄ 여동생은 λͺ‡ μ‚΄μΌκΉŒ?
A:

Output 1:

μ œκ°€ 6μ‚΄μ΄μ—ˆμ„ λ•Œ 여동생은 제 λ‚˜μ΄μ˜ μ ˆλ°˜μ΄μ—ˆμœΌλ―€λ‘œ 3μ‚΄μ΄μ—ˆμ–΄μš”. 이제 μ €λŠ” 70μ‚΄μ΄λ―€λ‘œ 여동생은 70 - 3 = 67μ‚΄μž…λ‹ˆλ‹€. 정닡은 67μž…λ‹ˆλ‹€.

Output 2:

ν™”μžκ°€ 6μ‚΄μ΄μ—ˆμ„ λ•Œ 여동생은 ν™”μžμ˜ 절반 λ‚˜μ΄μΈ 3μ‚΄μ΄μ—ˆμŠ΅λ‹ˆλ‹€. 이제 ν™”μžκ°€ 70살이 λ˜μ—ˆμœΌλ―€λ‘œ 여동생은 70 - 3 = 67살이 λ©λ‹ˆλ‹€. 정닡은 67μž…λ‹ˆλ‹€.

Output 3:

λ‚΄κ°€ 6μ‚΄μ΄μ—ˆμ„ λ•Œ 여동생은 λ‚΄ λ‚˜μ΄μ˜ μ ˆλ°˜μ΄μ—ˆμœΌλ―€λ‘œ 3살이고, 이제 λ‚˜λŠ” 70μ‚΄μ΄λ―€λ‘œ 여동생은 70/2 = 35μ‚΄μž…λ‹ˆλ‹€. 정닡은 35μž…λ‹ˆλ‹€.

μ΅œμ’… 정닡을 κ³„μ‚°ν•˜λŠ” λ°λŠ” λͺ‡ κ°€μ§€ 단계가 ν•„μš”ν•˜μ§€λ§Œ(μžμ„Έν•œ λ‚΄μš©μ€ λ…Όλ¬Έμ—μ„œ ν™•μΈν•˜μ„Έμš”), κ°„λ‹¨ν•˜κ²Œ μ„€λͺ…ν•˜κΈ° μœ„ν•΄ 이미 λ‹€μˆ˜μ˜ μ •λ‹΅μ—μ„œ 확인할 수 μžˆλ“―μ΄ 이 정닡이 근본적으둜 μ΅œμ’… 정닡이 λ˜λŠ” 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.