Prompt evaluation
Prompt evaluation
ํด๋ก๋์ ํจ๊ป ์ผํ ๋ ์ข์ ํ๋กฌํํธ๋ฅผ ์์ฑํ๋ ๊ฒ์ ์์์ ๋ถ๊ณผํฉ๋๋ค. ์ ๋ขฐํ ์ ์๋ AI ์ ํ๋ฆฌ์ผ์ด์
์ ๊ตฌ์ถํ๋ ค๋ฉด prompt engineering๊ณผ prompt evaluation๋ผ๋ ๋ ๊ฐ์ง ์ค์ํ ๊ฐ๋
์ ์ดํดํด์ผ ํฉ๋๋ค.
prompt engineering:
๋ ๋์ ํ๋กฌํํธ๋ฅผ ์์ฑํ๋ ๊ธฐ์ ์ ์ ๊ณต
prompt evaluation
์ด๋ฌํ ํ๋กฌํํธ๊ฐ ์ค์ ๋ก ์ผ๋ง๋ ์ ์๋ํ๋์ง ์ธก์ ํ๋ ๋ฐ ๋์
Prompt Engineering vs Prompt Evaluation

prompt engineering์ ํจ๊ณผ์ ์ธ ํ๋กฌํํธ๋ฅผ ๋ง๋๋ ๋๊ตฌ๋ก, ๋ค์๊ณผ ๊ฐ์ ๊ธฐ์ ์ด ํฌํจ
๋ฉํฐ์ท ํ๋กฌํํธ
XML ํ๊ทธ๋ฅผ ์ฌ์ฉํ ๊ตฌ์กฐํ
๋ค๋ฅธ ๋ง์ ๋ชจ๋ฒ ์ฌ๋ก
์ด ๊ธฐ์ ๋ค์ ํด๋ก๋๊ฐ ๋น์ ์ด ๋ฌด์์ ์๊ตฌํ๊ณ ์ด๋ป๊ฒ ๋ฐ์ํ๊ธฐ๋ฅผ ์ํ๋์ง ์ ํํ ์ดํดํ๋ ๋ฐ ๋์
prompt evaluation๋ ๋ค๋ฅธ ์ ๊ทผ ๋ฐฉ์์ ์ทจํฉ๋๋ค. ํ๋กฌํํธ๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์ด์ ์ ๋ง์ถ๋ ๋์ ์๋ํ๋ ํ
์คํธ๋ฅผ ํตํด ํ๋กฌํํธ์ ํจ๊ณผ๋ฅผ ์ธก์
์์๋ ๋ต๋ณ์ ๋ํ ํ ์คํธ
๋์ผํ ํ๋กฌํํธ์ ๋ค์ํ ๋ฒ์ ๋น๊ต
์ค๋ฅ๊ฐ ์๋์ง ์ถ๋ ฅ ๊ฒํ
.
Three Paths After Writing a Prompt
ํ๋กฌํํธ๋ฅผ ์์ฑํ ํ์๋ ์ผ๋ฐ์ ์ผ๋ก ๋ค์์ ์ํํ ์์ ์ ์ธ ๊ฐ์ง ์ต์ ์ด ์์ต๋๋ค:

Option 1: ํ๋กฌํํธ๋ฅผ ํ ๋ฒ ํ ์คํธํ ํ ์ถฉ๋ถํ ์ข๋ค๊ณ ํ๋จ. ์ด๋ ์ฌ์ฉ์๊ฐ ์์์น ๋ชปํ ์ ๋ ฅ์ ์ ๊ณตํ๋ฉด ์์ฐ์ ์ฐจ์ง์ด ์๊ธธ ์ํ์ด ํผ.
Option 2: ํ๋กฌํํธ๋ฅผ ๋ช ๋ฒ ํ ์คํธํ๊ณ ์ฝ๋ ์ผ์ด์ค ํ๋ ๊ฐ๋ฅผ ์ฒ๋ฆฌํ๋๋ก ์กฐ์ . ์ต์ 1๋ณด๋ค๋ ๋ซ์ง๋ง ์ฌ์ฉ์๊ฐ ๊ณ ๋ คํ์ง ์์ ๋งค์ฐ ์์์น ๋ชปํ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์.
Option 3: ํ๊ฐ ํ์ดํ๋ผ์ธ์ ํตํด ํ๋กฌํํธ๋ฅผ ์คํํ์ฌ ์ ์๋ฅผ ๋งค๊ธด ๋ค์ ๊ฐ๊ด์ ์ธ ์งํ์ ๋ฐ๋ผ ํ๋กฌํํธ๋ฅผ ๋ฐ๋ณต. ์ด ์ ๊ทผ ๋ฐฉ์์ ๋ ๋ง์ ์์ ๊ณผ ๋น์ฉ์ด ํ์ํ์ง๋ง ํ๋กฌํํธ์ ์ ๋ขฐ์ฑ์ ๋ํ ์ ๋ขฐ๋๊ฐ ํจ์ฌ ๋์
.
Why Most Engineers Fall Into Testing Traps
์ต์ 1๊ณผ 2๋ ๋ชจ๋ ์์ง๋์ด๊ฐ ํํ ์ ํ๋ ํจ์ . ์ง์งํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ํ๋กฌํํธ๋ฅผ ์์ฑํ๊ณ ์ถฉ๋ถํ ํ ์คํธํ์ง ์๋ ๊ฒ์ด ๋น์ฐ. ์ฐ๋ฆฌ๋ ์ค์ ์ฌ์ฉ์๊ฐ ์ผ๋ง๋ ๋ง์ ์ฃ์ง ์ผ์ด์ค๋ฅผ ๋ง์ฃผํ๊ฒ ๋ ์ง ๊ณผ์ํ๊ฐํ๋ ๊ฒฝํฅ์ด ์์.
์ค์ ๋ก ํ๋กฌํํธ๋ฅผ ํ๋ก๋์ ์ ๋ฐฐํฌํ๋ฉด ์ฌ์ฉ์๊ฐ ์์์น ๋ชปํ ๋ฐฉ์์ผ๋ก ํ๋กฌํํธ์ ์ํธ ์์ฉํ ์ ์์ต๋๋ค. ์ ํ๋ ํ ์คํธ ์ค์ ๊ฒฌ๊ณ ํ ํ๋กฌํํธ์ฒ๋ผ ๋ณด์๋ ๊ฒ์ ๋ค์ํ ์ค์ ์ ๋ ฅ์ ์ง๋ฉดํ๋ฉด ๋น ๋ฅด๊ฒ ๋ฌด๋์ง ์ ์์ต๋๋ค.
.
The Evaluation-First Approach
์ต์ 3์ ์ ์ํ ๊ฐ๋ฐ์ ์ํ ๋ณด๋ค ์ฒด๊ณ์ ์ธ ์ ๊ทผ ๋ฐฉ์. ํ๊ฐ ํ์ดํ๋ผ์ธ์ ํตํด ํ๋กฌํํธ๋ฅผ ์คํํ๋ฉด ๋ค์ํ ํ ์คํธ ์ฌ๋ก์์ ํ๋กฌํํธ์ ์ฑ๋ฅ์ ๋ํ ๊ฐ๊ด์ ์ธ ์งํ๋ฅผ ํ๋. ์ด ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์ ๊ทผ ๋ฐฉ์์ ์ฌ์ฉํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ด์ ์ด ์กด์ฌ:
์์ฐ ๋ฌธ์ ๊ฐ ๋๊ธฐ ์ ์ ์ฝ์ ํ์ ํ๊ธฐ
๋ค์ํ ํ๋กฌํํธ ๋ฒ์ ์ ๊ฐ๊ด์ ์ผ๋ก ๋น๊ตํ๊ธฐ
์ธก์ ๊ฐ๋ฅํ ๊ฐ์ ์ฌํญ์ ๋ฐํ์ผ๋ก ์์ ์๊ฒ ๋ฐ๋ณต
๋ ์ ๋ขฐํ ์ ์๋ AI ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ
์ด ์ ๊ทผ ๋ฐฉ์์ ์๊ฐ๊ณผ ํ ์คํธ ์ธํ๋ผ์ ๋ ๋ง์ ์ ๋ถ ํฌ์๊ฐ ํ์ํ์ง๋ง, ์ต์ข ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ขฐ์ฑ๊ณผ ๊ฒฌ๊ณ ์ฑ์ ๋ํ ๋ฐฐ๋น๊ธ์ ์ง๊ธ. ๋ชฉํ๋ ์ฌ์ฉ์๊ฐ ๋ฌธ์ ๋ฅผ ์ ํ ํ๊ฐ ์๋๋ผ ๊ฐ๋ฐ ์ค์ ๋ฌธ์ ๋ฅผ ํ์ ํ๋ ๊ฒ.
A typical eval workflow
์ผ๋ฐ์ ์ธ ํ๋กฌํํธ ํ๊ฐ ์ํฌํ๋ก์ฐ๋ ๊ฐ๊ด์ ์ธ ์ธก์ ์ ํตํด ํ๋กฌํํธ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ๊ฐ์ ํ๋ ๋ฐ ๋์์ด ๋๋ ๋ค์ฏ ๊ฐ์ง ์ฃผ์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฆ
์ด๋ฌํ ์ํฌํ๋ก์ฐ๋ฅผ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๋ค์ํ๋ฉฐ ๋ค์ํ ์คํ ์์ค ๋ฐ ์ ๋ฃ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ์ ์์ง๋ง, ํต์ฌ ํ๋ก์ธ์ค๋ฅผ ์ดํดํ๋ฉด ์์ ๊ท๋ชจ๋ก ์์ํ๊ณ ํ์์ ๋ฐ๋ผ ํ์ฅ ๊ฐ๋ฅ

.
Step 1: Draft a Prompt
๊ฐ์ ํ ์ด๊ธฐ ํ๋กฌํํธ๋ฅผ ์์ฑํ๋ ๊ฒ๋ถํฐ ์์. ์ด ์์ ์์๋ ๊ฐ๋จํ ํ๋กฌํํธ๋ฅผ ์ฌ์ฉ:

์ด ๊ธฐ๋ณธ ํ๋กฌํํธ๋ ํ ์คํธ ๋ฐ ๊ฐ์ ์ ๊ธฐ์ค์ด ๋ ๊ฒ์ ๋๋ค.
.
Step 2: Create an Eval Dataset
ํ๊ฐ ๋ฐ์ดํฐ์ ์๋ ํ๋กฌํํธ๊ฐ ํ๋ก๋์ ์์ ์ฒ๋ฆฌํ ์ง๋ฌธ ๋๋ ์์ฒญ ์ ํ์ ๋ํ๋ด๋ ์ํ ์ ๋ ฅ์ด ํฌํจ. ๋ฐ์ดํฐ์ ์๋ ํ๋กฌํํธ ํ ํ๋ฆฟ์ ๋ณด๊ฐ๋ ์ง๋ฌธ์ด ํฌํจ๋์ด์ผ ํฉ๋๋ค.

์๋ฅผ ๋ค์ด, ๋ฐ์ดํฐ์ ์๋ ์ธ ๊ฐ์ง ์ง๋ฌธ์ด ํฌํจ๋์ด ์์ต๋๋ค:
2+2๋ ๋ฌด์์ธ๊ฐ์?
์คํธ๋ฐ์ ์ด๋ป๊ฒ ๋ง๋๋์?
๋ฌ์ ์ผ๋ง๋ ๋ฉ๋ฆฌ ์๋์?
์ค์ ํ๊ฐ์์๋ ์์ญ, ์๋ฐฑ, ์ฌ์ง์ด ์์ฒ ๊ฐ์ ๋ ์ฝ๋๊ฐ ์์ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์์์ ์ผ๋ก ์กฐ๋ฆฝํ๊ฑฐ๋ ํด๋ก๋๋ฅผ ์ฌ์ฉํ์ฌ ์์ฑํ ์ ์์ต๋๋ค.
.
Step 3: Feed Through Claude
๋ฐ์ดํฐ์ ์์ ๊ฐ ์ง๋ฌธ์ ๊ฐ์ ธ์ ํ๋กฌํํธ ํ ํ๋ฆฟ๊ณผ ๋ณํฉํ์ฌ ์์ ํ ํ๋กฌํํธ๋ฅผ ๋ง๋ญ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๊ฐ ์ง๋ฌธ์ ํด๋ก๋์๊ฒ ๋ณด๋ด ์๋ต์ ์ป์ต๋๋ค.

์๋ฅผ ๋ค์ด, ์ฒซ ๋ฒ์งธ ์ง๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
ํด๋ก๋๋ ์ํ ๋ฌธ์ ์ ๋ํด "2 + 2 = 4"๋ก ๋๋ตํ๊ณ , ๋ ๋ฒ์งธ ์ง๋ฌธ์๋ ์คํธ๋ฐ ์๋ฆฌ ์ง์นจ์ ์ ๊ณตํ๋ฉฐ, ์ธ ๋ฒ์งธ ์ง๋ฌธ์๋ ๋ฌ๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ์ ๊ณตํ ์ ์์ต๋๋ค.
.
Step 4: Feed Through a Grader
์ฑ์ ์๋ ์๋ ์ง๋ฌธ๊ณผ ํด๋ก๋์ ๋ต๋ณ์ ๋ชจ๋ ๊ฒํ ํ์ฌ ํด๋ก๋์ ๋ต๋ณ์ ํ์ง์ ํ๊ฐํฉ๋๋ค. ์ด ๋จ๊ณ๋ ์ผ๋ฐ์ ์ผ๋ก 1์์ 10๊น์ง์ ์ฒ๋๋ก ๊ฐ๊ด์ ์ธ ์ ์๋ฅผ ์ ๊ณตํ๋ฉฐ, 10์ ์ ์๋ฒฝํ ๋ต๋ณ์ ๋ํ๋ด๊ณ ์ ์๊ฐ ๋ฎ์์๋ก ๊ฐ์ ์ ์ฌ์ง๊ฐ ์์์ ๋ํ๋ ๋๋ค.

์์์์, ์ฑ์ ์๋ ๋ค์์ ํ ๋นํ ์ ์์ต๋๋ค:
์ํ ๋ฌธ์ : 10 (์๋ฒฝํ ๋ต)
์คํธ๋ฐ ์ง๋ฌธ: 4 (๊ฐ์ ํ์)
๋ฌธ ์ง๋ฌธ: 9 (๋งค์ฐ ์ข์ ๋ต๋ณ)
๋ชจ๋ ์ง๋ฌธ์ ํ๊ท ์ ์๋ ๊ฐ๊ด์ ์ธ ์ธก์ ์ ์ ๊ณตํฉ๋๋ค: (10 + 4 + 9) รท 3 = 7.66
.
Step 5: Change Prompt and Repeat
์ด์ ๊ธฐ๋ณธ ์ ์๋ฅผ ์ป์์ผ๋ ํ๋กฌํํธ๋ฅผ ์์ ํ๊ณ ์ ์ฒด ํ๋ก์ธ์ค๋ฅผ ๋ค์ ์คํํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ด ์ฑ๋ฅ์ ํฅ์์ํค๋์ง ํ์ธํ ์ ์์ต๋๋ค.

์๋ฅผ ๋ค์ด, ํ๋กฌํํธ์ ๋ ๋ง์ ์๋ด๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค:
๋์ผํ ํ๊ฐ ๊ณผ์ ์ ํตํด ๊ฐ์ ๋ ํ๋กฌํํธ๋ฅผ ์คํํ ํ, ํ๊ท ์ ์๊ฐ 8.7์ ๋ ๋์์ง ์ ์์ผ๋ฉฐ, ์ด๋ ์ถ๊ฐ ์ง์นจ์ด ํด๋ก๋๊ฐ ๋ ๋์ ์๋ต์ ์ ๊ณตํ๋ ๋ฐ ๋์์ด ๋์์์ ๋ํ๋ ๋๋ค.
.
Prompt Scoring
์ด ์ํฌํ๋ก์ฐ์ ์ฃผ์ ์ด์ ์ ์ ์ํ ์ฑ๋ฅ์ ๊ฐ๊ด์ ์ผ๋ก ์ธก์ ํ ์ ์๋ค๋ ์
๋ค์ํ ํ๋กฌํํธ ๋ฒ์ ์ ์์น์ ์ผ๋ก ๋น๊ตํ๊ธฐ
๊ฐ์ฅ ์ข์ ์ ์๋ฅผ ๋ฐ์ ๋ฒ์ ์ฌ์ฉํ๊ธฐ
๋ ๋์ ์ ๊ทผ ๋ฐฉ์์ ์ฐพ๊ธฐ ์ํด ๊ณ์ ๋ฐ๋ณตํ๊ธฐ

์ด ์ฒด๊ณ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ์ ์ํ ์์ง๋์ด๋ง์์ ์ถ์ธก์ ์ ๊ฑฐํ๊ณ , ๋น์ ์ ๋ณํ๊ฐ ๋จ์ํ ๋ค์ํ ๋ณํ์ด ์๋๋ผ ์คํ๋ ค ๊ฐ์ ๋ ๊ฒ์ด๋ผ๋ ํ์ ์ ์ค๋๋ค.
Generating test datasets
์ฌ์ฉ์ ์ง์ ํ๋กฌํํธ ํ๊ฐ ์ํฌํ๋ก์ฐ๋ฅผ ๊ตฌ์ถํ๋ ๊ฒ์ ๊ฒฌ๊ณ ํ ํ๋กฌํํธ๋ฅผ ๋ง๋ ๋ค์ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ์ฌ ์ผ๋ง๋ ์ ์๋ํ๋์ง ํ์ธํ๋ ๊ฒ์ผ๋ก ์์. ์ฌ์ฉ์๊ฐ AWS ์ ์ฉ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ๋์์ด ๋๋ ํ๋กฌํํธ ํ๊ฐ ์์คํ ์ ์ค์ ํ๋ ๊ณผ์ ์ ์ดํด๋ณด์.
.
Setting Up the Goal
ํ๋กฌํํธ๋ ์ฌ์ฉ์๊ฐ AWS ์ฌ์ฉ ์ฌ๋ก์ ๋ํ ์ธ ๊ฐ์ง ํน์ ์ ํ์ ์ถ๋ ฅ์ ์์ฑํ๋ ๋ฐ ๋์์ด ํ์
ํ์ด์ฌ ์ฝ๋
JSON ๊ตฌ์ฑ ํ์ผ
์ ๊ท ํํ์
ํต์ฌ ์๊ตฌ ์ฌํญ์ ์ฌ์ฉ์๊ฐ ์์ ์ ๋ํ ๋์์ ์์ฒญํ ๋ ์ถ๊ฐ ์ค๋ช , ํค๋ ๋๋ ๋ฐ๋ฅ๊ธ ์์ด ๋ค์ ํ์ ์ค ํ๋๋ก ๊นจ๋ํ ์ถ๋ ฅ์ ๋ฐํํด์ผ ํ๋ค๋ ๊ฒ

์์ ํ๋กฌํํธ(๋ฒ์ 1)
.
Creating an Evaluation Dataset
ํ๊ฐ ๋ฐ์ดํฐ์ ์๋ ํ๋กฌํํธ์ ์ ๋ ฅํ ์ ๋ ฅ์ด ํฌํจ
ํ๋กฌํํธ์ ์ ๋ ฅ์ ๊ฐ ์กฐํฉ์ ๋ํด ํ๋กฌํํธ๋ฅผ ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ถ์
์ฐ๋ฆฌ์ ๋ฐ์ดํฐ์ ์ JSON ๊ฐ์ฒด๋ค์ ๋ฐฐ์ด
๊ฐ ๊ฐ์ฒด๋ Claude๊ฐ ๋ฌด์์ ์ฑ์ทจํ๊ธฐ๋ฅผ ์ํ๋์ง ์ค๋ช ํ๋ "์์ " ์์ฑ์ ํฌํจ
์ฐ๋ฆฌ๋ ์ด ๋ฐ์ดํฐ์ ์ ์์ผ๋ก ๋ง๋ค๊ฑฐ๋ Claude๋ฅผ ์ฌ์ฉํ์ฌ ์๋์ผ๋ก ์์ฑ ๊ฐ๋ฅ

ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ ์ฒด ํด๋ก๋ ๋ชจ๋ธ ๋์ Haiku์ ๊ฐ์ ๋ ๋น ๋ฅธ ๋ชจ๋ธ์ ์ฌ์ฉํ ์ ์๋ ์๋ฒฝํ ๊ธฐํ
.
Generating Test Data with Code
ํ ์คํธ ๋ฐ์ดํฐ์ ์ ์๋์ผ๋ก ์์ฑํ๋ ํจ์๋ฅผ ๋ง๋ค์ด ๋ณด์. ๋จผ์ ํด๋ก๋์ ํจ๊ป ์์ ํ๋ ค๋ฉด ๋์ฐ๋ฏธ ํจ์๊ฐ ํ์:
๋ฐ์ดํฐ์ ์์ฑ ํจ์ ์์ฑํ๊ธฐ
JSON ์๋ต์ ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ค๋ฉด prefilling ๋ฐ ์ค์ง ์ํ์ค๋ฅผ ์ฌ์ฉ
.
Testing the Dataset Generation
๊ธฐ๋ฅ์ ์คํํ์ฌ ์ด๋ค ์ข ๋ฅ์ ํ ์คํธ ์ผ์ด์ค๊ฐ ๋์ค๋์ง ํ์ธํด ๋ณด์.
์ด๋ ๊ฒ ํ๋ฉด Python ํจ์, JSON ๊ตฌ์ฑ, AWS ์ ์ฉ ์์ ์ ๋ํ ์ ๊ท ํํ์ ๋ฑ ๋ชฉํ ์ถ๋ ฅ์ ๋ค๋ฃจ๋ ์ธ ๊ฐ์ง ํ ์คํธ ์ผ์ด์ค๊ฐ ๋ฐํ
.
Saving the Dataset
๋ฐ์ดํฐ์ ์ด ํ๋ณด๋๋ฉด ๋์ค์ ํ๊ฐ ์ค์ ์ฝ๊ฒ ๋ก๋ํ ์ ์๋๋ก ํ์ผ์ ์ ์ฅ
์ด๋ ๊ฒ ํ๋ฉด ๋
ธํธ๋ถ๊ณผ ๋์ผํ ๋๋ ํ ๋ฆฌ์ data.json ํ์ผ์ด ์์ฑ๋๋ฉฐ, ์ ์ํ ํ๊ฐ๋ฅผ ์ํด ์ค๋น๋ ์์
๋ชฉ๋ก์ด ํฌํจ
์ด ๊ธฐ๋ฐ์ด ๋ง๋ จ๋จ์ ๋ฐ๋ผ ์ด์ ๋ค์ํ ์ ํ์ AWS ๊ด๋ จ ์ฝ๋ฉ ์์ ์์ ํ๋กฌํํธ๊ฐ ์ผ๋ง๋ ์ ์ํ๋๋์ง ํ๊ฐํ๊ธฐ ์ํ ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์ฒด๊ณ์ ์ผ๋ก ์์ฑํ ์ ์๊ฒ ๋์์ต๋๋ค.
Running the eval
์ด์ ํ๊ฐ ๋ฐ์ดํฐ์ ์ด ์ค๋น๋์์ผ๋ ํต์ฌ ํ๊ฐ ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ ์ฐจ๋ก
์ฌ๊ธฐ์๋ ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ฅผ ๊ฐ์ ธ์ ํ๋กฌํํธ์ ๋ณํฉํ ๋ค์, ํด๋ก๋์๊ฒ ๊ณต๊ธ, ๊ทธ๋ฆฌ๊ณ ๊ฒฐ๊ณผ๋ฅผ ์ฑ์ ํ๋ ์์ ์ด ํฌํจ

ํ๊ฐ ๊ณผ์ ์ ๋ช ํํ ์ํฌํ๋ก์ฐ๋ฅผ ๋ฐ๋ฆ ๋๋ค:
ํ ์คํธ ์ผ์ด์ค ๋ฐ์ดํฐ์ ์ ๊ฐ์ ธ์์ ๊ฐ ๋ฐ์ดํฐ์ ์ ํ๋กฌํํธ ํ ํ๋ฆฟ๊ณผ ๊ฒฐํฉํ ๋ค์ ํด๋ก๋์๊ฒ ์ ์กํ์ฌ ์ฒ๋ฆฌ
๊ทธ ํ, grader system์ ์ฌ์ฉํ์ฌ ์ถ๋ ฅ์ ํ๊ฐ
.
Building the Core Functions
ํ๊ฐ ํ์ดํ๋ผ์ธ์ ๊ฐ๊ฐ ํน์ ์ฑ ์์ด ์๋ ์ธ ๊ฐ์ง ์ฃผ์ ๊ธฐ๋ฅ์ผ๋ก ๊ตฌ์ฑ ๊ฐ์ฅ ๊ฐ๋จํ ๊ธฐ๋ฅ์ธ ๊ฐ๋ณ ํ๋กฌํํธ๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ๋ถํฐ ์์ํด ๋ณด์.
.
The run_prompt Function
์ด ํจ์๋ ํ ์คํธ ์ผ์ด์ค๋ฅผ ๊ฐ์ ธ์์ ํ๋กฌํํธ ํ ํ๋ฆฟ๊ณผ ๋ณํฉ
์ง๊ธ์ ํ๋กฌํํธ๋ฅผ ๋งค์ฐ ๊ฐ๋จํ๊ฒ ์ ์งํ๊ณ ์์ต๋๋ค. ํ์ ์ง์ ์ง์นจ์ ํฌํจํ์ง ์๊ธฐ ๋๋ฌธ์ ํด๋ก๋๋ ํ์ ์ด์์ ์ฅํฉํ ์ถ๋ ฅ์ ๋ฐํํ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ด๋ ๋์ค์ ํ๋กฌํํธ ๋์์ธ์ ๋ฐ๋ณตํ๋ฉด์ ๊ฐ์ ํ ๊ฒ์ ๋๋ค.
.
The run_test_case Function
์ด ํจ์๋ ๋จ์ผ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์คํํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ํ๊ฐํ๋ ์ค์ผ์คํธ๋ ์ด์ ์ ์ํ
ํ์ฌ๋ก์๋ ํ๋์ฝ๋ฉ๋ 10์ ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค.
์ฑ์ ๋
ผ๋ฆฌ๋ ๋ค๊ฐ์ค๋ ์น์
์์ ์๋นํ ์๊ฐ์ ํ ์ ํ ์ ์์ง๋ง, ์ด placeholder๋ฅผ ํตํด ์ ์ฒด ํ์ดํ๋ผ์ธ์ ํ
์คํธํ ์ ์์ต๋๋ค.
.
The run_eval Function
์ด ๊ธฐ๋ฅ์ ์ ์ฒด ํ๊ฐ ๊ณผ์ ์ ์กฐ์ ํฉ๋๋ค:
์ด ๊ธฐ๋ฅ์ ๋ฐ์ดํฐ์ ์ ๋ชจ๋ ํ ์คํธ ์ผ์ด์ค๋ฅผ ์ฒ๋ฆฌํ๊ณ ๋ชจ๋ ๊ฒฐ๊ณผ๋ฅผ ํ๋์ ๋ชฉ๋ก์ผ๋ก ์์งํฉ๋๋ค.
.
Running the Evaluation
ํ๊ฐ ํ์ดํ๋ผ์ธ์ ์คํํ๊ธฐ ์ํด ๋ฐ์ดํฐ์ ์ ๋ก๋ํ๊ณ ํจ์๋ฅผ ํตํด ์คํํฉ๋๋ค:
์ฒ์ ์คํํ ๋๋ ํด๋ก๋ ํ์ด์ฟ ๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ์ ์ฒด ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ฒ๋ฆฌํ๋ ๋ฐ ์ฝ 30์ด ์ ๋ ๊ฑธ๋ฆด ์ ์์ต๋๋ค. ์ต์ ํ ๊ธฐ๋ฒ์ ๋ํด์๋ ๋์ค์ ์ค๋ช ํ๊ฒ ์ต๋๋ค.
.
Examining the Results
ํ๊ฐ๋ ๊ฐ ๊ฐ์ฒด๊ฐ ํ๋์ ํ ์คํธ ์ฌ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ํ๋ด๋ ๊ตฌ์กฐํ๋ JSON ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค:

๊ฐ ๊ฒฐ๊ณผ์๋ ์ธ ๊ฐ์ง ์ฃผ์ ์ ๋ณด๊ฐ ํฌํจ๋์ด ์์ต๋๋ค:
output: ํด๋ก๋์ ์์ ํ ์๋ต
test_case: ์ฒ๋ฆฌ๋ ์๋ ํ ์คํธ ์ผ์ด์ค
score: ํ๊ฐ ์ ์(ํ์ฌ ํ๋์ฝ๋ฉ๋จ)
์ถ๋ ฅ์์ ๋ณผ ์ ์๋ฏ์ด ํด๋ก๋๋ ์์ง ๊ตฌ์ฒด์ ์ธ ํ์ ์ง์ ์ง์นจ์ ์ ๊ณตํ์ง ์์๊ธฐ ๋๋ฌธ์ ๋งค์ฐ ์ฅํฉํ ์๋ต์ ์์ฑํฉ๋๋ค. ํ๋กฌํํธ๋ฅผ ์ธ๋ถํํ๋ฉด์ ๋ฐ๋ก ์ด๋ฐ ์ข ๋ฅ์ ๋ฌธ์ ๋ฅผ ๋ค๋ฃฐ ๊ฒ์ ๋๋ค.

.
What We've Accomplished
์ด ์์ ์์ ์ฐ๋ฆฌ๋ ํต์ฌ ํ๊ฐ ํ์ดํ๋ผ์ธ์ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌ์ถํ์ต๋๋ค. ๋ฐ์ดํฐ์ ์ ๊ฐ์ ธ์ ํด๋ก๋๋ฅผ ํตํด ์ฒ๋ฆฌํ๊ณ ๊ตฌ์กฐํ๋ ๊ฒฐ๊ณผ๋ฅผ ์์งํ ์ ์์ต๋๋ค. ๊ฐ์ฅ ์ค์ํ ๋๋ฝ๋ ๋ถ๋ถ์ ์ฑ์ ์์คํ ์ผ๋ก, ํ๋์ฝ๋ฉ๋ 10์ ์ ์ค์ ํ๊ฐ ๋ ผ๋ฆฌ๋ก ๋์ฒดํด์ผ ํ๋ค๋ ์ ์ ๋๋ค.
์ด ํ์ดํ๋ผ์ธ์ ๋๋ถ๋ถ์ AI ํ๊ฐ ์์คํ ์ ๊ธฐ์ด๋ฅผ ๋ํ๋ ๋๋ค. ๊ฐ๋จํด ๋ณด์ผ ์ ์์ง๋ง, ํ๊ฐ ํ์ดํ๋ผ์ธ์ด ์ค์ ๋ก ์ํํ๋ ๋๋ถ๋ถ์ ์์ ์ ์ด์ ๋ง ๊ตฌ์ถํ ๊ฒ์ ๋๋ค. ๋ณต์ก์ฑ์ ๋ ๋์ ํ๋กฌํํธ, ์ ๊ตํ ์ฑ์ , ์ฑ๋ฅ ์ต์ ํ ๋ฑ ์ธ๋ถ ์ฌํญ์์ ๋น๋กฏ๋ฉ๋๋ค.
๋ค์์ผ๋ก, ์ฐ๋ฆฌ๋ ํ์๋ค์ ์ค์ํ ์ฃผ์ ์ ๋ํด ์์ธํ ๋ค๋ฃฐ ๊ฒ์ ๋๋ค. ์ด ์ฃผ์ ๋ ์ฐ๋ฆฌ์ ํ๋์ฝ๋ฉ๋ ์ ์๋ฅผ ํด๋ก๋์ ์ฑ๊ณผ์ ๋ํ ์๋ฏธ ์๋ ํ๊ฐ๋ก ๋ณํํ ๊ฒ์ ๋๋ค.
Model based grading
์ ์ํ ํ๊ฐ ์ํฌํ๋ก์ฐ๋ฅผ ๊ตฌ์ถํ ๋, ์ฑ์ ์์คํ ์ ์ถ๋ ฅ ํ์ง์ ๋ํ ๊ฐ๊ด์ ์ธ ์ ํธ๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ฑ์ ์๋ ๋ชจ๋ธ ์ถ๋ ฅ์ ๋ฐ์ ์ธก์ ๊ฐ๋ฅํ ํผ๋๋ฐฑ(์ผ๋ฐ์ ์ผ๋ก 1 ~ 10 ์ฌ์ด์ ์ซ์)์ ๋ฐํํฉ๋๋ค. ์ฌ๊ธฐ์ 10์ ๋์ ํ์ง์, 1์ ๋ฎ์ ํ์ง์ ๋ํ๋ ๋๋ค.
Types of Graders

๋ชจ๋ธ ์ถ๋ ฅ์ ํ๊ฐํ๋ ๋ฐ๋ ์ธ ๊ฐ์ง ์ฃผ์ ์ ๊ทผ ๋ฐฉ์์ด ์์ต๋๋ค:
Code graders: ๋ง์ถคํ ๋ ผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ์ถ๋ ฅ์ ํ๋ก๊ทธ๋๋ฐ์ ์ผ๋ก ํ๊ฐModel graders: ๋ค๋ฅธ AI ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ํ์ง์ ํ๊ฐHuman graders: ์ฌ๋๋ค์ด ์๋์ผ๋ก ๊ฒฐ๊ณผ๋ฌผ์ ๊ฒํ ํ๊ณ ์ฑ์
Code graders
Code graders๋ฅผ ์ฌ์ฉํ๋ฉด ์์ํ ์ ์๋ ๋ชจ๋ ํ๋ก๊ทธ๋๋ฐ ๊ฒ์ฌ๋ฅผ ๊ตฌํํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ธ ์ฉ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค:
์ถ๋ ฅ ๊ธธ์ด ํ์ธ
์ถ๋ ฅ์ ํน์ ๋จ์ด๊ฐ ์๋์ง ํ์ธํ๊ธฐ
JSON, Python ๋๋ regex์ ๋ํ ๊ตฌ๋ฌธ ๊ฒ์ฆ
๊ฐ๋ ์ฑ ์ ์
์ ์ผํ ์๊ตฌ ์ฌํญ์ ์ฝ๋๊ฐ ์ฌ์ฉ ๊ฐ๋ฅํ ์ ํธ(๋ณดํต 1 ~ 10 ์ฌ์ด์ ์ซ์)๋ฅผ ๋ฐํํ๋ ๊ฒ์ ๋๋ค.
Model Graders
Model Graders๋ ์๋ณธ ์ถ๋ ฅ๋ฌผ ํ๊ฐ๋ฅผ ์ํ ๋ ๋ค๋ฅธ API ํธ์ถ์ ์ ๋ ฅํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ํ๊ฐ์ ์์ฒญ๋ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค:
์๋ต ํ์ง
๊ต์ก ํ์ง ํ๋ก์ฐ
์์ ์ฑ
์ ์ฉ์ฑ
์์
Human Graders
Human Graders๋ ์ ์ฐ์ฑ์ ๊ฐ์ฅ ๋ง์ด ์ ๊ณตํ์ง๋ง ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฌ๊ณ ์ง๋ฃจํฉ๋๋ค. ํ๊ฐํ๋ ๋ฐ ์ ์ฉํฉ๋๋ค:
์ผ๋ฐ ์๋ต ํ์ง
ํฌ๊ด์ฑ
๊น์ด
๊ฐ๊ฒฐํจ
๊ด๋ จ์ฑ
Defining Evaluation Criteria

์ฑ์ ๊ธฐ๋ฅผ ๊ตฌํํ๊ธฐ ์ ์ ๋ช ํํ ํ๊ฐ ๊ธฐ์ค์ด ํ์ํฉ๋๋ค. ์ฝ๋ ์์ฑ ํ๋กฌํํธ๋ฅผ ๋ณด๋ ค๋ฉด ๋ค์์ ์ง์คํ ์ ์์ต๋๋ค:
Format: ์ค๋ช ์์ด Python, JSON ๋๋ Regex๋ง ๋ฐํํด์ผ ํฉ๋๋คValid Syntax: ์์ฑ๋ ์ฝ๋๋ ์ ํจํ ๊ตฌ๋ฌธ์ ๊ฐ์ ธ์ผ ํฉ๋๋คTask Following: ์๋ต์ ์ฌ์ฉ์์ ์์ ์ ์ ํํ ์ฝ๋๋ก ์ง์ ์ฒ๋ฆฌํด์ผ ํฉ๋๋ค
์ฒ์ ๋ ๊ฐ์ง ๊ธฐ์ค์ Code graders์ ์ ์๋ํ๋ฉฐ, Task Following๋ ์ ์ฐ์ฑ ๋๋ถ์ Model Graders์๊ฒ ๋ ์ ํฉํฉ๋๋ค.
Implementing a Model Grader
Model Grader ํจ์๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ
ํต์ฌ ์ธ์ฌ์ดํธ๋ ์ ์์ ํจ๊ป ๊ฐ์ , ์ฝ์ , ์ถ๋ก ์ ๋ฌป๋ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ๋งฅ๋ฝ์ด ์์ผ๋ฉด ๋ชจ๋ธ์ ๊ธฐ๋ณธ์ ์ผ๋ก 6์ ๋ด์ธ์ ์ค๊ฐ ์ ์๋ฅผ ๋ฐ๋ ๊ฒฝํฅ์ด ์์ต๋๋ค.
Integrating Grading into Your Workflow
๋ง์ง๋ง์ผ๋ก, ๋ชจ๋ ์ํ ์ฌ๋ก์์ ํ๊ท ์ ์๋ฅผ ๊ณ์ฐํฉ๋๋ค:
์ด๋ ๊ฒ ํ๋ฉด ํ๋กฌํํธ๋ฅผ ๋ฐ๋ณตํ๋ฉด์ ์ถ์ ํ ์ ์๋ ๊ฐ๊ด์ ์ธ ์งํ๊ฐ ์ ๊ณต๋ฉ๋๋ค. Model Graders์ ๋ค์ ๋ณ๋์ค๋ฌ์ธ ์ ์์ง๋ง ๊ฐ์ ์ฌํญ์ ์ธก์ ํ๊ธฐ ์ํ ์ผ๊ด๋ ๊ธฐ์ค์ ์ ์ ๊ณตํฉ๋๋ค.
Code based grading
์ฝ๋๋ฅผ ์์ฑํ๋ AI ๋ชจ๋ธ์ ํ๊ฐํ ๋๋ ๋จ์ํ ์๋ต์ด ์๋ฏธ๊ฐ ์๋์ง ํ์ธํ๋ ๊ฒ ์ด์์ ๊ฒ์ด ํ์ํฉ๋๋ค. ๋ํ ์์ฑ๋ ์ฝ๋๊ฐ ์ค์ ๋ก ์ ํจํ ๊ตฌ๋ฌธ์ ๊ฐ์ง๊ณ ์ฌ๋ฐ๋ฅธ ํ์์ ๋ฐ๋ฅด๊ณ ์๋์ง ํ์ธํด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์ ์ฝ๋ ๊ธฐ๋ฐ ๋ฑ๊ธ์ด ์ ์ฉ๋ฉ๋๋ค.
How Code Grading Works
Code grading๋ AI ์์ฑ ์๋ต์ ๋ ๊ฐ์ง ์ฃผ์ ์ธก๋ฉด์ ๊ฒ์ฆํฉ๋๋ค.
Format
์๋ต์ ์ค๋ช ์์ด ์์ฒญ๋ ์ฝ๋ ์ ํ(ํ์ด์ฌ, JSON ๋๋ Regex)๋ง ๋ฐํํด์ผ ํฉ๋๋ค
Valid Syntax
์์ฑ๋ ์ฝ๋๋ ์ค์ ๋ก ์๋ํ ์ธ์ด๋ก ์ฌ๋ฐ๋ฅด๊ฒ ๊ตฌ๋ฌธ ๋ถ์ํด์ผ ํฉ๋๋ค
Task Following
์๋ต์ ์์ฒญ๋ ๋ด์ฉ์ ์ง์ ๋ค๋ฃจ๊ณ ์ ํํด์ผ ํฉ๋๋ค
์ฒ์ ๋ ๊ฐ์ง ๊ธฐ์ค์ ์ฝ๋ ์ฑ์ ์๊ฐ ์ฒ๋ฆฌํ๊ณ , Task Following๋ ๋ชจ๋ธ ์ฑ์ ์๊ฐ ํ๊ฐํ์ฌ ํจ๊ป ์ข ํฉ์ ์ธ ํ๊ฐ๋ฅผ ์ ๊ณต
Syntax Validation Functions
์์ฑ๋ ์ฝ๋์ ์ ํจํ ๊ตฌ๋ฌธ์ด ์๋์ง ํ์ธํ๋ ค๋ฉด ์ถ๋ ฅ์ ๊ตฌ๋ฌธ ๋ถ์ํ๋ ค๊ณ ์๋ํ๋ ์ธ ๊ฐ์ง ๋์ฐ๋ฏธ ํจ์๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
๊ฐ ํจ์๋ ํ ์คํธ๋ฅผ ๊ฐ์์ ํ์์ผ๋ก ๊ตฌ๋ฌธ ๋ถ์ํ๋ ค๊ณ ํฉ๋๋ค. ๊ตฌ๋ฌธ ๋ถ์์ ์ฑ๊ณตํ๋ฉด 10์ ๋ง์ ์ ๋ฐํํฉ๋๋ค. ์ค๋ฅ๋ก ์คํจํ๋ฉด ๊ตฌ๋ฌธ์ด ์๋ชป๋์ด 0์ ๋ฐํํฉ๋๋ค.
Dataset Format Requirements
code grader๊ฐ ์ด๋ค ๊ฒ์ฆ๊ธฐ๋ฅผ ์ฌ์ฉํ ์ง ์๊ธฐ ์ํด์๋ ํ
์คํธ ์ผ์ด์ค์ ์์ ์ถ๋ ฅ ํ์์ ์ง์ ํด์ผ ํฉ๋๋ค.
์์ ์ถ๋ ฅ ๊ตฌ์กฐ์ ์ด ํ์ ํ๋๋ฅผ ์ถ๊ฐํ์ฌ ์๋์ผ๋ก ํฌํจํ๋๋ก ๋ฐ์ดํฐ์ ์์ฑ ํ๋กฌํํธ๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
Improving Prompt Clarity
AI ๋ชจ๋ธ์์ ๋ ๋์ ๊ฒฐ๊ณผ๋ฅผ ์ป์ผ๋ ค๋ฉด ์์ ์ถ๋ ฅ ํ์์ ๋ํ ํ๋กฌํํธ ์ง์นจ์ ๋ณด๋ค ๊ตฌ์ฒด์ ์ผ๋ก ์์ฑํ์ธ์:
์ฝ๋ ๋ธ๋ก์ด ํฌํจ๋ ๋ฏธ๋ฆฌ ์ฑ์์ง ์ด์์คํดํธ ๋ฉ์์ง๋ฅผ ์ฌ์ฉํ์ฌ ๋ชจ๋ธ์ด ์์ ์ฝ๋๋ง ๋ฐํํ๋๋ก ์ ๋ํ ์๋ ์์ต๋๋ค:
์ด๊ฒ์ ํด๋ก๋์๊ฒ ๋ฏธ๋ฆฌ ํ์ด์ฌ์ธ์ง JSON์ธ์ง Regex์ธ์ง ์ง์ ํ ํ์ ์์ด ์ฝ๋ ์ฝํ ์ธ ์์ฑ์ ์์ํ๋ผ๊ณ ์ง์ํฉ๋๋ค.
Combining Scores
๋ง์ง๋ง ๋จ๊ณ๋ ๋ชจ๋ธ ์ฑ์ ์ ์ ์์ ์ฝ๋ ์ฑ์ ์ ์ ์๋ฅผ ๋ณํฉํ๋ ๊ฒ์ ๋๋ค. ๊ฐ๋จํ ์ ๊ทผ ๋ฐฉ์์ ํ๊ท ์ ๊ตฌํ๋ ๊ฒ์ ๋๋ค:
์ด๋ ๊ฒ ํ๋ฉด ์ฝํ ์ธ ํ์ง๊ณผ ๊ธฐ์ ์ ์ ํ์ฑ ๋ชจ๋์ ๋์ผํ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ ์ ์์ต๋๋ค. ํน์ ์ฌ์ฉ ์ฌ๋ก์ ๋ ์ค์ํ ๊ฒ์ด ๋ฌด์์ธ์ง์ ๋ฐ๋ผ ์ด๋ฌํ ๊ฐ์ค์น๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค.
Testing Your Implementation
code grading์ ๊ตฌํํ ํ์๋ ํ๊ฐ๋ฅผ ์คํํ์ฌ ๊ธฐ๋ณธ ์ ์๋ฅผ ์ป์ต๋๋ค.
์ ์ ์์ฒด๊ฐ ๋ณธ์ง์ ์ผ๋ก ์ข๊ฑฐ๋ ๋์ ๊ฒ์ ์๋๋ฉฐ, ์ค์ํ ๊ฒ์ ํ๋กฌํํธ๋ฅผ ์ธ๋ถํํ์ฌ ์ ์๋ฅผ ๊ฐ์ ํ ์ ์๋์ง ์ฌ๋ถ์ ๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด ์ฃผ๊ด์ ์ธ ํ๊ฐ์ ์์กดํ์ง ์๊ณ ์ ์ํ ์์ง๋์ด๋ง ์งํ ์ํฉ์ ์ ๋์ ์ผ๋ก ์ธก์ ํ ์ ์์ต๋๋ค.
Exercise on prompt evals
๋ชจ๋ธ ์ฑ์ ์์๊ฒ ์ข์ ์๋ฃจ์ ์ด ๋ฌด์์ธ์ง์ ๋ํ ๋ ๋ง์ ๋ฌธ๋งฅ์ ์ ๊ณตํ๊ธฐ
Step #1: ๊ฐ ํ ์คํธ ์ผ์ด์ค์ "solution_criteria"์ด ํฌํจ๋๋๋ก ๋ฐ์ดํฐ์ ์์ฑ ํ๋กฌํํธ๋ฅผ ์ ๋ฐ์ดํธ
Step #2: ํด๋น ์๋ฃจ์ ๊ธฐ์ค์ ํฌํจํ๋๋ก 'grade_by_model' ํ๋กฌํํธ๋ฅผ ์ ๋ฐ์ดํธ
์์ฝ
์น์ ์ ๋ชฉ
์์ฝ ๋ด์ฉ
Prompt evaluation
Prompt engineering๊ณผ evaluation์ ์ฐจ์ด๋ฅผ ์ค๋ช . Engineering์ ๋ ๋์ ํ๋กฌํํธ๋ฅผ ์์ฑํ๋ ๊ธฐ์ , Evaluation์ ํ๋กฌํํธ์ ํจ๊ณผ๋ฅผ ์ธก์ ํ๋ ๊ณผ์ .
Prompt Engineering vs Prompt Evaluation
Prompt engineering์ ํจ๊ณผ์ ์ธ ํ๋กฌํํธ๋ฅผ ๋ง๋๋ ๊ธฐ์ , Evaluation์ ์๋ํ๋ ํ ์คํธ๋ฅผ ํตํด ํ๋กฌํํธ์ ์ฑ๋ฅ์ ์ธก์ .
Three Paths After Writing a Prompt
ํ๋กฌํํธ ์์ฑ ํ ํ ์คํธ ์ต์ 3๊ฐ์ง: 1) ๊ฐ๋จํ ํ ์คํธ, 2) ์ฝ๋ ์ผ์ด์ค ์ฒ๋ฆฌ, 3) ํ๊ฐ ํ์ดํ๋ผ์ธ์ ํตํ ์ฒด๊ณ์ ๋ฐ๋ณต.
Why Most Engineers Fall Into Testing Traps
์ ํ๋ ํ ์คํธ๋ก ์ธํด ์์์น ๋ชปํ ์ ๋ ฅ์ ์ทจ์ฝํ ํ๋กฌํํธ๊ฐ ํ๋ก๋์ ์์ ์คํจํ ๊ฐ๋ฅ์ฑ์ด ๋์.
The Evaluation-First Approach
ํ๊ฐ ํ์ดํ๋ผ์ธ์ ํตํด ํ๋กฌํํธ์ ์ฝ์ ์ ์ฌ์ ์ ํ์ ํ๊ณ , ๋ค์ํ ๋ฒ์ ์ ๋น๊ตํ๋ฉฐ, ์ ๋ขฐํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถ.
A typical eval workflow
ํ๋กฌํํธ ํ๊ฐ ์ํฌํ๋ก์ฐ์ 5๋จ๊ณ: 1) ์ด๊ธฐ ํ๋กฌํํธ ์์ฑ, 2) ํ๊ฐ ๋ฐ์ดํฐ์ ์์ฑ, 3) Claude์ ์ ๋ ฅ, 4) ์ฑ์ , 5) ํ๋กฌํํธ ์์ ๋ฐ ๋ฐ๋ณต.
Generating test datasets
ํ๊ฐ ๋ฐ์ดํฐ์ ์์ฑ ๋ฐฉ๋ฒ: Claude๋ฅผ ์ฌ์ฉํด ์๋์ผ๋ก ํ ์คํธ ๋ฐ์ดํฐ๋ฅผ ์์ฑํ๊ณ , JSON ํ์์ผ๋ก ์ ์ฅํ์ฌ ํ๊ฐ์ ํ์ฉ.
Running the eval
ํ๊ฐ ํ์ดํ๋ผ์ธ ์คํ: ํ ์คํธ ์ผ์ด์ค๋ฅผ ํ๋กฌํํธ์ ๋ณํฉํด Claude์ ์ ๋ ฅํ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ์ฑ์ ํ์ฌ ๊ตฌ์กฐํ๋ JSON์ผ๋ก ๋ฐํ.
Model based grading
๋ชจ๋ธ ๊ธฐ๋ฐ ์ฑ์ : Claude์ ์ถ๋ ฅ๋ฌผ์ ํ๊ฐํ๋ ๋ฐ AI ๋ชจ๋ธ์ ์ฌ์ฉ. ๊ฐ์ , ์ฝ์ , ์ ์๋ฅผ ํฌํจํ ๊ตฌ์กฐํ๋ ํผ๋๋ฐฑ ์ ๊ณต.
Code based grading
์ฝ๋ ์ฑ์ : ์์ฑ๋ ์ฝ๋์ ํ์, ๊ตฌ๋ฌธ ์ ํจ์ฑ, ์์ ์ค์ ์ฌ๋ถ๋ฅผ ํ๊ฐ. Python, JSON, Regex์ ๋ํ ๊ตฌ๋ฌธ ๊ฒ์ฆ ํจ์ ์ ๊ณต.
Exercise on prompt evals
๋ฐ์ดํฐ์ ์ "solution_criteria"๋ฅผ ์ถ๊ฐํด ํ๊ฐ ๊ธฐ์ค์ ๋ช ํํ ํ๊ณ , Claude์ ํ๊ฐ ํ๋กฌํํธ๋ฅผ ์ ๋ฐ์ดํธํ์ฌ ๋ ๋์ ์๋ฃจ์ ์ ์์ฑํ๋๋ก ์ ๋.
Last updated