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

Medic for Apache Spark - First Aid for Failing Jobs - Drasko Profirovic, Pinterest

AI Engineer ยท 2026-07-20 15:24 ยท 11:21

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

Pinterest๋Š” Spark ์‹คํŒจ ์›์ธ์„ ์ž๋™์œผ๋กœ ์ง„๋‹จํ•˜๋Š” Medic๋ฅผ MCP, ํ‰๊ฐ€ ํ•˜๋„ค์Šค, ๋กœ๊ทธยท๋ฉ”ํŠธ๋ฆญ ์ฒ˜๋ฆฌ ๊ฐœ์„ , ๋ฉ€ํ‹ฐ ์—์ด์ „ํŠธ ๊ตฌ์กฐ๋กœ ๊ณ ๋„ํ™”ํ•ด, ์‚ฌ๋žŒ์ด ํ•˜๋˜ ๋‚œํ•ดํ•œ ์žฅ์•  ๋ถ„์„์„ ์žฌํ˜„ ๊ฐ€๋Šฅํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ง„๋‹จ ์‹œ์Šคํ…œ์œผ๋กœ ๋ฐ”๊ฟจ๋‹ค.

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

  1. 0:01
    Spark ์žฅ์•  ์ง€์›์€ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ ํŠน์„ฑ์ƒ ์›์ธ ํŒŒ์•…์ด ์–ด๋ ต๊ณ  ์šฐ์„ ์ˆœ์œ„ ์ถฉ๋Œ๋„ ์žฆ์•„์„œ, ์‚ฌ๋žŒ์ด ์ฆ‰๋‹ตํ•˜๊ธฐ๋ณด๋‹ค ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์ง„๋‹จ ์—์ด์ „ํŠธ๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ๋ชฉํ‘œ๋Š” "์™œ job์ด ์‹คํŒจํ–ˆ๋Š”๊ฐ€"์— ๋Œ€ํ•ด ๊ทผ๊ฑฐ๊ฐ€ ์žˆ๋Š” ๋ฆฌํฌํŠธ์™€ ์ƒํ™ฉ์— ๋งž๋Š” ์ˆ˜์ •์•ˆ์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
  2. 2:00
    ์ดˆ๊ธฐ์—๋Š” MCP๋กœ ๋ฐ์ดํ„ฐ ๋ฆฌ์†Œ์Šค๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ๋‹จ์ผ React ์—์ด์ „ํŠธ์— ๋ฌธ์ œ ํ•ด๊ฒฐ ํ”„๋กฌํ”„ํŠธ๋ฅผ ๋ชฐ์•„๋„ฃ๋Š” ๋ฐฉ์‹์œผ๋กœ ์‹œ์ž‘ํ–ˆ์ง€๋งŒ, ๋‹ต๋ณ€ ํ’ˆ์งˆ์ด ๋“ค์ญ‰๋‚ ์ญ‰ํ–ˆ๊ณ  ํ”„๋กฌํ”„ํŠธ ํŠœ๋‹์ด ํ•œ๊ณ„์— ๋ถ€๋”ชํ˜”๋‹ค. ๋Œ€์šฉ๋Ÿ‰ ๋กœ๊ทธ์™€ ํ”„๋กœ๋•์…˜ ์ปจํ…์ŠคํŠธ๋Š” context window๋ฅผ ์‰ฝ๊ฒŒ ์†Œ๋ชจํ•ด ์ถ”๋ก ์ด ๋ฉˆ์ถ”๋Š” ๋ฌธ์ œ๊ฐ€ ๋“œ๋Ÿฌ๋‚ฌ๋‹ค.
  3. 4:01
    ํ’ˆ์งˆ์„ ๋Œ์–ด์˜ฌ๋ฆฌ๊ธฐ ์œ„ํ•ด ๊ด€์ธก์„ฑ๊ณผ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ์„ฑ์„ ๋จผ์ € ๊ฐ•ํ™”ํ–ˆ๋‹ค. OpenTelemetry๋ฅผ LangFuse์— ๋ณด๋‚ด ์‹คํ–‰ ๊ณผ์ •์„ ์ถ”์ ํ•˜๊ณ , production state๋ฅผ record/playback ํ•˜๋Š” end-to-end test harness์™€ offline eval๋กœ ๋ฆฌํฌํŠธ ํ’ˆ์งˆ์„ ์ˆ˜์น˜ํ™”ํ•ด ํšŒ๊ท€๋ฅผ ๋ง‰์•˜๋‹ค.
  4. 6:02
    ๋กœ๊ทธ๋Š” ๋‹จ์ˆœํ•œ regex ํ•„ํ„ฐ๋กœ๋Š” ํ™•์žฅ๋˜์ง€ ์•Š์•„ exception classifier pipeline์„ ๋„์ž…ํ–ˆ๋‹ค. ์„ฑ๊ณตํ•œ job์— ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ์˜ˆ์™ธ๋ฅผ red herring์œผ๋กœ ํ•™์Šตํ•ด ๊ฑธ๋Ÿฌ๋‚ด๊ณ , ์ƒ์œ„ K๊ฐœ์˜ ์••์ถ• ์˜ˆ์™ธ์™€ ํŠน์ • ์˜ˆ์™ธ์˜ ์ „์ฒด ๋กœ๊ทธ๋งŒ MCP ๋„๊ตฌ๋กœ ์ œ๊ณตํ•จ์œผ๋กœ์จ ์‹ ํ˜ธ ๋Œ€๋น„ ์žก์Œ์„ ํฌ๊ฒŒ ๋†’์˜€๋‹ค.
  5. 7:00
    ๋ฉ”ํŠธ๋ฆญ์€ ์›์‹œ ์‹œ๊ณ„์—ด์„ ๊ทธ๋Œ€๋กœ ๋„ฃ๋Š” ๋Œ€์‹  quarantine sub-agent๊ฐ€ ๊ทธ๋ž˜ํ”„ ์ด๋ฏธ์ง€๋กœ ์š”์•ฝํ•ด context ํšจ์œจ์„ ๋†’์˜€๋‹ค. ์ดํ›„ ๋‹จ์ผ ์—์ด์ „ํŠธ๋ฅผ ์—ญํ•  ๋ถ„๋ฆฌ๋œ multi-agent ๊ตฌ์กฐ๋กœ ๋ฐ”๊พธ๊ณ , triageยทresearchยทhealerยทsupervisor๊ฐ€ ๋ถ„์—…ํ•˜๋ฉด์„œ ์‹คํŒจ ์›์ธ ์ถ”์ •, ๊ทผ๊ฑฐ ์ˆ˜์ง‘, runbook ๊ธฐ๋ฐ˜ ๋ณต๊ตฌ ์ œ์•ˆ, ์ตœ์ข… ๋ณด๊ณ ์„œ ์กฐ๋ฆฝ๊นŒ์ง€ ๋” ์•ˆ์ •์ ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋๋‹ค.

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

  • ์žฅ์•  ์ง„๋‹จ ์—์ด์ „ํŠธ์˜ ์„ฑ๋Šฅ์€ ๋ชจ๋ธ ์ž์ฒด๋ณด๋‹ค๋„ ๋กœ๊ทธยท๋ฉ”ํŠธ๋ฆญ ์ „์ฒ˜๋ฆฌ, context budget, ์ถœ๋ ฅ ์ œ์•ฝ, ํ‰๊ฐ€ ์ฒด๊ณ„์—์„œ ๋” ํฌ๊ฒŒ ์ขŒ์šฐ๋œ๋‹ค.
  • ํ”„๋กฌํ”„ํŠธ ํ•˜๋‚˜๋กœ ๋ชจ๋“  ์ผ์„ ์‹œํ‚ค๊ธฐ๋ณด๋‹ค ์—ญํ• ๋ณ„ ์—์ด์ „ํŠธ์™€ ์ „์šฉ ๋„๊ตฌ๋ฅผ ๋‚˜๋ˆ„๋ฉด ํ’ˆ์งˆยท์œ ์ง€๋ณด์ˆ˜ยทํšŒ๊ท€ ํ…Œ์ŠคํŠธ๊ฐ€ ๋™์‹œ์— ์ข‹์•„์ง„๋‹ค.
  • ํ”„๋กœ๋•์…˜ ์ž๋™ํ™”๋Š” ๊ฐ์œผ๋กœ ๊ฐœ์„ ํ•˜๊ธฐ๋ณด๋‹ค record/playback ํ…Œ์ŠคํŠธ์™€ offline eval๋กœ ํ’ˆ์งˆ์„ ๊ณ„๋Ÿ‰ํ™”ํ•ด์•ผ ์•ˆ์ „ํ•˜๊ฒŒ ํ™•์žฅ๋œ๋‹ค.