๐Ÿ“บ ์˜์ƒ ์š”์•ฝ ์•„์นด์ด๋ธŒ
โ† ๋ชฉ๋ก

How to Write Your First AI Eval - SallyAnn DeLucia, Arize AI

AI Engineer ยท 2026-10-26 08:00 ยท 35:20

ํ•œ ์ค„ ํ•ต์‹ฌ

AI ์—์ด์ „ํŠธ์˜ ํ’ˆ์งˆ ๊ด€๋ฆฌ๋Š” ๊ฐ์œผ๋กœ ํ•˜๋Š” โ€œvibe checkโ€๊ฐ€ ์•„๋‹ˆ๋ผ, ํŠธ๋ ˆ์ด์Šค์™€ ๋ช…ํ™•ํ•œ ๊ธฐ์ค€์„ ๋ฐ”ํƒ•์œผ๋กœ eval์„ ์„ค๊ณ„ยท๋ฐ์ดํ„ฐํ™”ยท๊ฒ€์ฆํ•ด ๋‚˜๊ฐ€๋Š” ๋ฐ˜๋ณต ๊ณผ์ •์ด๋‹ค.

์‹œ๊ฐ„๋ณ„ ์š”์•ฝ

  1. 0:00
    ์†Œ๊ฐœ์™€ ์•„์  ๋‹ค eval์„ AI ์—์ด์ „ํŠธ์˜ ํ•ต์‹ฌ ์‹ ํ˜ธ๋กœ ๋ณด๊ณ , ๋ฌด์—‡์ด eval์ธ์ง€ ์ •์˜ํ•œ ๋’ค ์ง์ ‘ ๊ธฐ์ค€์„ ์“ฐ๊ณ  Arize์—์„œ ์ž‘๋™ํ•˜๋Š” judge๋ฅผ ๋งŒ๋“œ๋Š” ํ๋ฆ„์œผ๋กœ ์›Œํฌ์ˆ์ด ์ง„ํ–‰๋œ๋‹ค. ์˜ค๋Š˜์˜ ๋ชฉํ‘œ๋Š” ๊ฐœ๋… ์ •๋ฆฌ, ๊ธฐ์ค€ ์ž‘์„ฑ, ์‹ค์ œ ํ‰๊ฐ€๊ธฐ ๊ตฌ์ถ•๊ณผ ๊ฐœ์„  ๋ฐฉ๋ฒ•์„ ์–ป๋Š” ๊ฒƒ์ด๋‹ค.
  2. 2:06
    ๊ฐ๊ฐ์  ํŒ๋‹จ์ด ํ™•์žฅ๋˜์ง€ ์•Š๋Š” ์ด์œ  ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ฐ”๊ฟจ์„ ๋•Œ โ€œ์ข‹์•„ ๋ณด์ธ๋‹คโ€๋Š” ๊ฐ๊ฐ๋งŒ์œผ๋กœ๋Š” ํšŒ๊ท€๋ฅผ ์žก์„ ์ˆ˜ ์—†๊ณ , ๋ชจ๋ธ ๋ฒ„์ „ ๊ฐ„ ๋น„๊ต๋„ ๊ฐ๊ด€์ ์œผ๋กœ ํ•  ์ˆ˜ ์—†๋‹ค. eval์ด ์—†์œผ๋ฉด CI์— ํ’ˆ์งˆ ๊ฒŒ์ดํŠธ๋ฅผ ๋„ฃ๊ธฐ ์–ด๋ ต๊ณ , ๋ฐฐํฌ ํ›„ ์„ฑ๋Šฅ ์•…ํ™”๋ฅผ ์ฆ๋ช…ํ•˜๊ธฐ๋„ ํž˜๋“ค๋‹ค.
  3. 3:08
    eval์€ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์™€ ๊ฐ™์€๊ฐ€ AI eval์€ ์ „ํ†ต์ ์ธ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ์™€ ๋น„์Šทํ•ด ๋ณด์ด์ง€๋งŒ, ํ•˜๋‚˜์˜ ์ž…๋ ฅ์— ํ•˜๋‚˜์˜ ์ •๋‹ต๋งŒ ์žˆ๋Š” ๊ตฌ์กฐ๊ฐ€ ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์œ ํšจํ•œ ์ถœ๋ ฅ์ด ์กด์žฌํ•œ๋‹ค๋Š” ์ ์ด ๋‹ค๋ฅด๋‹ค. AI์—์„œ๋Š” ์ฝ”๋“œ๋ณด๋‹ค ํŠธ๋ ˆ์ด์Šค๊ฐ€ ๋” ์ค‘์š”ํ•˜๋ฉฐ, eval์„ ํ•˜๋ ค๋ฉด ๊ด€์ธก์„ฑ๊ณผ ํŠธ๋ ˆ์ด์Šค๊ฐ€ ํ•จ๊ป˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  4. 4:13
    ์—์ด์ „ํŠธ๊ฐ€ eval์„ ๋” ์–ด๋ ต๊ฒŒ ๋งŒ๋“œ๋Š” ์ด์œ  ์—์ด์ „ํŠธ๋Š” ์—ฌ๋Ÿฌ ๋‹จ๊ณ„์˜ LLM ํ˜ธ์ถœ๊ณผ ๋„๊ตฌ ์‚ฌ์šฉ์ด ์–ฝํžŒ ํŠธ๋ ˆ์ด์Šค๋กœ ๋™์ž‘ํ•˜๋ฏ€๋กœ, ๋‹จ์ผ ํ…Œ์ŠคํŠธ๋กœ๋Š” ์‹ค์ œ ๋ณต์žก๋„๋ฅผ ํฌ์ฐฉํ•˜๊ธฐ ์–ด๋ ต๋‹ค. ๊ฐ span์€ ์—์ด์ „ํŠธ๊ฐ€ ์ˆ˜ํ–‰ํ•œ ์ž‘์—… ๋‹จ์œ„์ด๋ฉฐ, ์ด ํ๋ฆ„ ์ „์ฒด๋ฅผ ๋ด์•ผ ์‘๋‹ต์˜ ์งˆ์„ ํŒ๋‹จํ•  ์ˆ˜ ์žˆ๋‹ค.
  5. 5:15
    eval์˜ ์ข…๋ฅ˜ ์˜ค๋Š˜์€ LLM as a judge์— ์ง‘์ค‘ํ•˜์ง€๋งŒ, ์ฝ”๋“œ ๊ธฐ๋ฐ˜ ํ‰๊ฐ€, ์ฃผ์„ ๋ฐ์ดํ„ฐ, agent as a judge, ์‚ฌ์šฉ์ž ํ”ผ๋“œ๋ฐฑ, ๋น„์ฆˆ๋‹ˆ์Šค ์ง€ํ‘œ ๋“ฑ ๋‹ค์–‘ํ•œ ํ‰๊ฐ€ ๋ฐฉ์‹์ด ์žˆ๋‹ค. ๊ฐœ๋ฐœ๊ณผ ์šด์˜ ์ „๋ฐ˜์—์„œ ํ•จ๊ป˜ ์“ธ ์ˆ˜ ์žˆ๋Š” ํ‰๊ฐ€๋ฅผ ์„ค๊ณ„ํ•ด์•ผ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋„ ์ผ๊ด€๋œ ํ’ˆ์งˆ ๊ด€๋ฆฌ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  6. 7:29
    ์›Œํฌ์ˆ ์ค€๋น„ ์ฐธ๊ฐ€์ž๋Š” demo project์— ์ ‘์†ํ•ด Arize AX์™€ ์›ํ•˜๋Š” LLM provider๋ฅผ ์—ฐ๊ฒฐํ•œ ๋’ค ํŠธ๋ ˆ์ด์Šค๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ๋‹ค์–‘ํ•œ provider๋ฅผ ์“ธ ์ˆ˜ ์žˆ๊ณ , ํ•ต์‹ฌ์€ ์‹ค์ œ LLM ํ˜ธ์ถœ์ด ๊ฐ€๋Šฅํ•œ API key๋ฅผ ๋„ฃ์–ด ์‹ค์Šต ํ™˜๊ฒฝ์„ ์ค€๋น„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
  7. 10:16
    ์—ฌํ–‰ ์—์ด์ „ํŠธ์˜ ํŠธ๋ ˆ์ด์Šค ์‚ดํŽด๋ณด๊ธฐ ์—ฌํ–‰ ๊ณ„ํš ์—์ด์ „ํŠธ๋Š” ์‚ฌ์šฉ์ž ์š”์ฒญ์„ ๋ฐ›์•„ ํ›„์† ์งˆ๋ฌธ์„ ํ•˜๊ณ  ๋„๊ตฌ๋ฅผ ํ˜ธ์ถœํ•ด ์ผ์ •์„ ๋งŒ๋“ ๋‹ค. ์ข‹์€ ๊ฒฐ๊ณผ๋Š” ์‚ฌ์šฉ์ž์˜ ํ›„์† ์งˆ๋ฌธ์— ๋‹ตํ•˜๊ณ , ์—ฌํ–‰ ์ผ์ˆ˜์™€ ์˜ˆ์‚ฐ์„ ์ง€ํ‚ค๋Š” ๊ฒƒ์ด๋ฉฐ, ํŠธ๋ ˆ์ด์Šค๋ฅผ ๋ณด๋ฉฐ ๋ฌด์—‡์„ ์ธก์ •ํ• ์ง€ ๋จผ์ € ๊ฐ์„ ์žก์•„์•ผ ํ•œ๋‹ค.
  8. 14:20
    ํŠธ๋ ˆ์ด์Šค๋ฅผ ์ฝ๋Š” ๋ฐฉ๋ฒ• root span์€ ์ตœ์ƒ์œ„ ์ž…๋ ฅ๊ณผ ์ตœ์ข… ์ถœ๋ ฅ์„ ๋‹ด๊ณ , ๊ทธ ์•„๋ž˜์˜ span๋“ค์€ ๊ฐ ์ž‘์—… ๋‹จ์œ„๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค. ์—ฐ๊ตฌ agent, tool span, LLM span์ด ์ˆœ์„œ๋Œ€๋กœ ์—ฐ๊ฒฐ๋˜๋ฉฐ, ์–ด๋–ค ๋ฐ์ดํ„ฐ๊ฐ€ ์–ด๋””์„œ ์ƒ์„ฑ๋˜๊ณ  ์–ด๋–ป๊ฒŒ ๋‹ค์Œ ๋‹จ๊ณ„๋กœ ์ „๋‹ฌ๋˜๋Š”์ง€ ์ถ”์ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  9. 19:03
    ๋ฌด์—‡์ด ์ข‹์€์ง€ ์ •์˜ํ•˜๊ธฐ ์ข‹์€ ๊ธฐ์ค€์€ โ€œhelpfulโ€์ฒ˜๋Ÿผ ๋ชจํ˜ธํ•œ ํ‘œํ˜„์ด ์•„๋‹ˆ๋ผ, ์‚ฌ์šฉ์ž์˜ ํ›„์† ์งˆ๋ฌธ์— ๋‹ตํ•œ๋‹ค, ์š”์ฒญํ•œ ์ผ์ˆ˜๋ฅผ ๋งž์ถ˜๋‹ค, ์˜ˆ์‚ฐ์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค์ฒ˜๋Ÿผ ๊ตฌ์ฒด์ ์ด์–ด์•ผ ํ•œ๋‹ค. ํŠนํžˆ LLM as a judge์—์„œ๋Š” ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์˜ ํ’ˆ์งˆ๋งŒ ํŒ๋‹จํ•˜๋Š” ๊ฒƒ์ด ๋” ์•ˆ์ •์ ์ด๋ฉฐ, ๊ธฐ์ค€์€ ์ž‘์€ ๊ฒƒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ์ ์ง„์ ์œผ๋กœ ๋Š˜๋ฆฌ๋Š” ํŽธ์ด ์ข‹๋‹ค.
  10. 22:02
    ํ•ฉ๊ฒฉ๊ณผ ๋ถˆํ•ฉ๊ฒฉ ๊ธฐ์ค€ ์“ฐ๊ธฐ ํ‰๊ฐ€ํ•˜๋ ค๋Š” task, ์„ฑ๊ณต์˜ ์˜๋ฏธ, ์‹คํŒจ์˜ ์˜๋ฏธ, judge๊ฐ€ ๋ฌด์—‡์„ ํŒ๋‹จํ• ์ง€, pass์™€ fail์˜ ๊ตฌ์ฒด์  ์กฐ๊ฑด์„ ์ ์–ด ๋‘์–ด์•ผ ํ•œ๋‹ค. ์ด ๋‚ด์šฉ์€ ๊ทธ๋Œ€๋กœ prompt๋กœ ์˜ฎ๊ฒจ์งˆ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์—, ์‚ฌ๋žŒ์—๊ฒŒ ์„ค๋ช…ํ•˜๋“ฏ ๋ถ„๋ช…ํ•˜๊ณ  ๊ตฌ์ฒด์ ์œผ๋กœ ์จ์•ผ ํ•œ๋‹ค.
  11. 25:19
    ํŠธ๋ ˆ์ด์Šค๋กœ ๋ฐ์ดํ„ฐ์…‹ ๋งŒ๋“ค๊ธฐ ํ‰๊ฐ€ํ•  span์„ ๊ณจ๋ผ ๋ฐ์ดํ„ฐ์…‹์œผ๋กœ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ๋‹ค์Œ ๋‹จ๊ณ„์ด๋ฉฐ, root span์ด๋‚˜ ํŠน์ • tool call์ฒ˜๋Ÿผ ํ‰๊ฐ€ ๋Œ€์ƒ์— ๋งž๊ฒŒ ํ•„ํ„ฐ๋งํ•˜๋ฉด ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋งŒ๋“  ๋ฐ์ดํ„ฐ์…‹์ด ์ดํ›„ playground์—์„œ eval prompt๋ฅผ ์‹œํ—˜ํ•˜๋Š” ๊ธฐ๋ฐ˜์ด ๋œ๋‹ค.
  12. 26:53
    LLM judge ๋งŒ๋“ค๊ธฐ์™€ ํ…Œ์ŠคํŠธํ•˜๊ธฐ prompt playground์—์„œ criteria๋ฅผ ํ‰๊ฐ€์šฉ prompt๋กœ ๋ฐ”๊พธ๊ณ , ๋ฐ์ดํ„ฐ์…‹์„ ์—ฐ๊ฒฐํ•ด ์‹ค์ œ๋กœ judge๋ฅผ ์‹คํ–‰ํ•ด ๋ณธ๋‹ค. variable mapping์œผ๋กœ ์ž…๋ ฅ ์ด๋ฆ„์„ ์œ ์—ฐํ•˜๊ฒŒ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ๊ณ , ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ฉฐ prompt๋ฅผ ๋ฐ˜๋ณต ๊ฐœ์„ ํ•œ ๋’ค evaluator๋กœ ์ €์žฅํ•ด ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
  13. 32:08
    ๋‹ค์Œ ๋‹จ๊ณ„: ์ •๋ ฌ, ์˜จ๋ผ์ธ eval, Signal ์ดˆ๊ธฐ eval์„ ๋งŒ๋“  ๋’ค์—๋Š” human feedback๊ณผ ๋งž๋Š”์ง€ ์ •๋ ฌํ•˜๊ณ , traces๋งˆ๋‹ค ์ž๋™์œผ๋กœ ๋Œ๋ฆฌ๋Š” online eval๋กœ ํ™•์žฅํ•˜๋Š” ํ๋ฆ„์ด ์ค‘์š”ํ•˜๋‹ค. ๋‹ค์–‘ํ•œ ์ดํ•ด๊ด€๊ณ„์ž๊ฐ€ ๊ฐ๊ฐ ์„ฑ๊ณต ๊ธฐ์ค€์„ ์ •์˜ํ•ด์•ผ ํ•˜๋ฉฐ, metric์€ ๋ฌธ์ œ๋ฅผ ๊ฐ์ง€ํ•˜๊ณ  eval์€ ์‹คํŒจ ์›์ธ์„ ๋“œ๋Ÿฌ๋‚ธ๋‹ค๋Š” ์ ์ด ํ•ต์‹ฌ์ด๋‹ค.

์‹ค๋ฌด ์ธ์‚ฌ์ดํŠธ

  • ์‹ค๋ฌด์—์„œ๋Š” โ€œ์ข‹์•„ ๋ณด์ธ๋‹คโ€ ์ˆ˜์ค€์˜ ํŒ๋‹จ์„ ๋ฒ„๋ฆฌ๊ณ , ์‚ฌ์šฉ์ž ์š”๊ตฌยท์˜ˆ์‚ฐยท์ผ์ˆ˜์ฒ˜๋Ÿผ ์ธก์ • ๊ฐ€๋Šฅํ•œ ๊ธฐ์ค€์œผ๋กœ ํ‰๊ฐ€ ํ•ญ๋ชฉ์„ ๋จผ์ € ์ •์˜ํ•ด์•ผ ํ•œ๋‹ค.
  • eval ํ’ˆ์งˆ์€ prompt๋งŒ์œผ๋กœ ๊ฒฐ์ •๋˜์ง€ ์•Š๊ณ , ํŠธ๋ ˆ์ด์Šค ์ˆ˜์ง‘๊ณผ span ๋‹จ์œ„ ๋ฐ์ดํ„ฐ์…‹ ๊ตฌ์„ฑ๊นŒ์ง€ ํฌํ•จํ•œ ๊ด€์ธก ์„ค๊ณ„์— ํฌ๊ฒŒ ์ขŒ์šฐ๋œ๋‹ค.
  • ์ดˆ๊ธฐ์—๋Š” ํ•œ ๊ฐ€์ง€ ํ’ˆ์งˆ ๊ธฐ์ค€๊ณผ ์†Œ์ˆ˜์˜ ํŠธ๋ ˆ์ด์Šค๋กœ ์‹œ์ž‘ํ•ด, human feedback๊ณผ ์šด์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ˜์˜ํ•˜๋ฉฐ ์ ์ง„์ ์œผ๋กœ ํ™•์žฅํ•˜๋Š” ๋ฐฉ์‹์ด ๊ฐ€์žฅ ์•ˆ์ •์ ์ด๋‹ค.