🚗 ํ˜„๋Œ€์ฐจ LLM ์ฑ—๋ด‡ ๋ฐ๋ชจ (Hybrid: Rule + RAG)

์ถ”์„ ์—ฐํœด ๊ฐ„,
๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋กœ ์ง„ํ–‰ํ•œ ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ์ฑ—๋ด‡ ๋ฐ๋ชจ๋ฅผ ๊ณต๊ฐœํ•ฉ๋‹ˆ๋‹ค.

Rule์˜ ์•ˆ์ •์„ฑ๊ณผ LLM์˜ ํ™•์žฅ์„ฑ์„ ๊ฒฐํ•ฉํ•˜์—ฌ,
์—ฐํœด ๊ธฐ๊ฐ„ ๋™์•ˆ ๋ฐ”์ด๋ธŒ์ฝ”๋”ฉ ๋ฐฉ์‹์œผ๋กœ ์ง์ ‘ ๊ตฌ์ถ•ํ•˜๊ณ  ๋‹ค๋“ฌ์–ด ๋ณด์•˜์Šต๋‹ˆ๋‹ค.
(โ€ป ํ˜„๋Œ€์ž๋™์ฐจ ๊ณต์‹ ์ฑ—๋ด‡๊ณผ ๋ฌด๊ด€ํ•ฉ๋‹ˆ๋‹ค.)


🎬 Hook: 1๋ถ„ ๋ฐ๋ชจ + ์ตœ์ข… ํ‰๊ฐ€ ํ‘œ

👉 Demo: hyundai-chatbot-demo.vercel.app

โ€ป ์ฐธ๊ณ : Vercel ๋นŒ๋“œ ํ™˜๊ฒฝ์—์„œ๋Š” ์ผ๋ถ€ RAG ์งˆ์˜(๋„์–ด์“ฐ๊ธฐยท์œ ์‚ฌ๋ช…์นญยท์˜คํƒˆ์ž ๋“ฑ)์˜ ์ธ์‹๋ฅ ์ด Stackblitz ์‹คํ—˜ ํ™˜๊ฒฝ๋ณด๋‹ค ๋‚ฎ๊ฒŒ ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋ณธ ์˜์ƒ์€ Stackblitz ๊ธฐ์ค€์œผ๋กœ ์ดฌ์˜๋˜์—ˆ์œผ๋ฉฐ, ๋™์ผ ์ฝ”๋“œ ๊ธฐ๋ฐ˜์œผ๋กœ Vercel์—์„œ๋„ ๋Œ€๋ถ€๋ถ„ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.


1️⃣ ์™œ ๋งŒ๋“ค์—ˆ๋‚˜ (Why)

์ด๋ฒˆ ๋ฐ๋ชจ๋Š” ๋ฐ”์ด๋ธŒ์ฝ”๋”ฉ์„ ํ†ตํ•œ ์ฑ—๋ด‡ ๊ตฌํ˜„ ํ”„๋กœ์ ํŠธ์˜ ์ผํ™˜์œผ๋กœ, ์ฐจ๋Ÿ‰ ๊ตฌ๋งค ๋ชฉ์ ์˜ ์‹ค์ œ ์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์ถœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ์กด ์ฑ—๋ด‡์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ์ •๋ณด ์ œ๊ณต์€ ์ถฉ๋ถ„ํ–ˆ์ง€๋งŒ, ๊ตฌ๋งคยท์‹œ์Šนยท์ƒ๋‹ด ๋“ฑ ๋‹ค์Œ ํ–‰๋™์œผ๋กœ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์ด์–ด์ง€๋Š” ํ๋ฆ„์€ ๋” ๋ณด์™„๋  ์—ฌ์ง€๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ชฉํ‘œ๋Š” ๊ธฐ์กด ์‹œ์Šคํ…œ์„ ๋น„ํŒํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ, โ€œ์ •๋ณด ์ „๋‹ฌ โ†’ ํ–‰๋™ ์ „ํ™˜โ€ ๊ฐ„๊ฒฉ์„ ์ค„์ด๋Š” ํ”Œ๋กœ์šฐ ์„ค๊ณ„์˜€์Šต๋‹ˆ๋‹ค.

  • ๊ตฌ๋งค ๋ชฉ์  ์‚ฌ์šฉ์ž ์‹œ๋‚˜๋ฆฌ์˜ค์˜ ๊ฐœ์„ ย ํฌ์ธํŠธ
    • ๊ฒฌ์ /์‹œ์Šน ๋ฌธ์˜๊นŒ์ง€ ์ด๋™ ๋‹จ๊ณ„๊ฐ€ ๋น„๊ต์  ๊ธธ์–ด์ง€๋Š” ๊ตฌ๊ฐ„
    • ์™ธ๋ถ€ ํŽ˜์ด์ง€ ์ด๋™ ์‹œ ๋Œ€ํ™” ๋งฅ๋ฝ์ด ๋‹จ์ ˆ๋˜๋Š” ์ง€์ 
    • ๋™์ผ ๋ฉ”๋‰ด/๋ฒ„ํŠผ ๋ฐ˜๋ณต ๋…ธ์ถœ๋กœ ์ธํ•œ ํƒ์ƒ‰ ํ”ผ๋กœ

์ด์— ๋”ฐ๋ผ ๋ฐ๋ชจ๋Š” โ€œFAQ ์š”์•ฝ + ๊ณต์‹ ๋งํฌ(CTA) + ์ตœ์†Œ ๋‹จ๊ณ„ ์ „ํ™˜โ€์„ ์›์น™์œผ๋กœ, ์‚ฌ์šฉ์ž๊ฐ€ ์งˆ๋ฌธํ•˜๋ฉด ํ•„์š” ํ–‰๋™๊นŒ์ง€ ์ฆ‰์‹œ ์—ฐ๊ฒฐ๋˜๊ณ  ์ˆœํ™˜๋˜๋Š” ๊ฒฝํ—˜์„ ์ง€ํ–ฅํ–ˆ์Šต๋‹ˆ๋‹ค.


2️⃣ ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์—ˆ๋‚˜ (How)

Part 1. ๋ถ„์„ & ์ „๋žต

  • ๊ฐ€์„ค
    1. ๋ชฉํ‘œ ํ–‰๋™(๊ตฌ๋งคยท์‹œ์ŠนยทAS)๊นŒ์ง€ ๊ฒฝ๋กœ ๋‹จ์ถ•๊ณผ ๋งํฌ/CTA ๋ฌด๊ฒฐ์„ฑ์ด ์‚ฌ์šฉ์ž ๋งŒ์กฑ๋„์™€ ๋ชฉํ‘œ(KPI) ์ „ํ™˜์— ๊ฒฐ์ •์ ์ด๋ผ๊ณ  ๊ฐ€์ •
    2. ๋˜ํ•œ LLM ์ธก๋ฉด์—์„œ ์œ ์‚ฌ ๋ฐœํ™” ๋Œ€์‘๋ ฅ(๋„์–ด์“ฐ๊ธฐยท๋ณ„์นญยท์˜คํƒˆ์ž)์ด ์‹ค์‚ฌ์šฉ์„ฑ์— ํฐ ์˜ํ–ฅ์„ ์ค€๋‹ค๊ณ  ๊ฐ€์ •
  • ๋ถ„์„
    1. ์‹ค์ œ ๊ณต์‹ ์‚ฌ์ดํŠธ ์บก์ฒ˜ยท๋ฉ”๋‰ด ํŠธ๋ฆฌ ๋ถ„์„
    2. Top FAQ ๋ฐ ์œ ์‚ฌ ๋ฐœํ™” ์ˆ˜์ง‘&์ •๊ทœํ™”
    3. ๋งํฌ ์œ ํšจ์„ฑ ๋ฐ ๋„๋ฉ”์ธ ์ ๊ฒ€
  • ์ „๋žต
    1. ํ”Œ๋กœ์šฐ ๋‹จ์ˆœํ™”(Simplify Flow) โ†’ ๋ฉ”๋‰ด ํ†ตํ•ฉ, CTA ์ค‘์‹ฌ ์„ค๊ณ„, 1~2๋‹จ๊ณ„ ๋‚ด ํ•ด๊ฒฐ
    2. ์ง€์†์ ์ธ ์—ฐ๊ฒฐ(Connect Experience) โ†’ ํ•ต์‹ฌ ์ •๋ณด๋Š” ๋Œ€ํ™” ๋‚ด ์ œ๊ณต, ํ•„์š” ์‹œ์—๋งŒ ์™ธ๋ถ€ ๋งํฌ
    3. ๋ฐ์ดํ„ฐ ์ตœ์‹ ํ™”(Keep Data Fresh) โ†’ ๊ณต์‹ FAQ 247 + ์ถ”๊ฐ€ Top 50 ์ •๋น„ํ•˜์—ฌ ๋ฐ˜์˜ ( ์ง€์‹ ๊ฐ•ํ™”๋กœ RAG ํ’ˆ์งˆ ์•ˆ์ •ํ™”/๊ณ ๋„ํ™”์— ๊ธฐ์—ฌ)

Part 2. ์„ค๊ณ„ & ๊ฐœ๋ฐœ

  • ์•„ํ‚คํ…์ฒ˜(Front-only Hybrid)
    • Rule Layer: ๊ฐ€๊ฒฉยท๋ณด์ฆยท๋ฆฌ์ฝœยทEV ์ถ”์ฒœ ๋“ฑ ๊ณ ์ • ์˜๋„ ์šฐ์„  ์ฒ˜๋ฆฌ
    • RAG Layer: faq.json + BM25 ๊ฒ€์ƒ‰ โ†’ LLM ์š”์•ฝ
    • UX Layer: ์นฉ(Chips), ๋ฐ”ํ…€์‹œํŠธ, Sticky CTA(๊ณต์‹ ๋งํฌ/์ „ํ™”)

  • R1 โ†’ R2 โ†’ R3 ๊ฐœ์„  ์‚ฌ์ดํด
    • R1 (Prototype): Rule 70~80% + RAG ๊ธฐ๋ณธ(๊ฐ€๋Šฅ์„ฑ/ํ๋ฆ„ ์šฐ์„ )
    • R2 (Tuning): Rule 100% + ํ˜„๋Œ€์ฐจ ๊ณต์‹ FAQ ํฌ๋กค๋ง ๋ฐ˜์˜ + BM25 ๊ต์ฒด, ์œ ์‚ฌ ๋ฐœํ™” ์ •๊ทœํ™”, ์ž๋™ ํ…Œ์ŠคํŠธ ๋ฃจํ‹ด ๊ตฌ์ถ•
    • R3 (QA/Deploy): ์ž๋™/์ˆ˜๋™ ๋ผ๋ฒจ ๊ต์ฐจ๊ฒ€์ฆ, CTAยทFallback ๋ณด๊ฐ• โ†’ ์ตœ์ข… ํ‰๊ฐ€ ํ‘œ ๊ธฐ์ค€ ์ „ ํ•ญ๋ชฉ Pass

Part 3. ์ž๋™ ํ…Œ์ŠคํŠธ & QA

  • ํ…Œ์ŠคํŠธ ๋ฃจํ‹ด
    • ์ฝ˜์†” ๊ธฐ๋ฐ˜ runBatch() ์ž๋™ ํ…Œ์ŠคํŠธ โ†’ ์ˆ˜๋™ ๋ผ๋ฒจ๋ง์œผ๋กœ ์ตœ์ข… ํŒ์ •
  • ๋ผ๋ฒจ ๋ถ„ํฌ ๋ณด์ •(R1์„ ์˜ˆ์‹œ)
    • ์ž๋™: Good 40 / Fair 120 / Bad 136
    • ์ˆ˜๋™(์ตœ์ข…): Good 183 / Fair 2 / Bad 111
    • โ€œ์ž๋™โ€“์ˆ˜๋™ ์ผ์น˜์œจ: 45.6%โ€ โ†’ ์ž„๊ณ„๊ฐ’ยท๊ฐ€์ค‘์น˜ ๋ณด์ • ํ›„ ์ƒํ–ฅ
  • ๋ณด์ • ์ •์ฑ…(R3 ๋ฐ˜์˜)
    • Retrieval TopScore ์ž„๊ณ„๊ฐ’ ์กฐ์ •(์˜ˆ: โ‰ฅ20=Good ํ›„๋ณด)
    • Retrieval ์„ฑ๊ณต ์‹œ CTA ํ•„์ˆ˜ ๋ถ€์ฐฉ, Fallback์—๋„ ๊ณ ๊ฐ์„ผํ„ฐ CTA ์ œ๊ณต
    • ๋ถ€๋ถ„๋งค์นญ Good๋Š” Gold ๋ฐ์ดํ„ฐ ๋ณด๊ฐ•ํ•˜์—ฌ ์—…๋ฐ์ดํŠธ
      โ†’ ์œ„ ๋ณด์ • ์ดํ›„, ๋ณธ๋ฌธ ์ƒ๋‹จ ์ตœ์ข… ํ‰๊ฐ€ ํ‘œ์˜ ๊ธฐ์ค€์œผ๋กœ ํ’ˆ์งˆ์„ ์ ๊ฒ€ยท์ •๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.

Part 4. RAG + Rule ํ•˜์ด๋ธŒ๋ฆฌ๋“œ

  • ํ˜„์—…์—์„œ๋Š” Rule-first๋ฅผ ๋ฐ˜์˜ํ–ˆ์œผ๋‚˜, ๋ณธ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” RAG-first๋ฅผ ๋„์ž…ํ•˜์—ฌ ์‹คํ—˜
  • Retrieval ์‹ ๋ขฐ๋„(TopScore/Threshold)์— ๋”ฐ๋ผ FAQ โ†’ OpenDomain โ†’ Fallback์œผ๋กœ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ
  • ์—ญํ•  ๋ถ„๋ฆฌ: โ€œRule = ์•ˆ์ •์„ฑโ€, โ€œRAG = ์ปค๋ฒ„๋ฆฌ์ง€ยท์„ค๋ช…๋ ฅโ€
    โ€ป Vercel ๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ๋Š” ๋Ÿฐํƒ€์ž„(Edge vs Node) ๋ฐ ๊ฒฝ๋กœ ์ฒ˜๋ฆฌ ์ฐจ์ด๋กœ ์ธํ•ด ์ผ๋ถ€ ์งˆ์˜(๋„์–ด์“ฐ๊ธฐ, ์œ ์‚ฌ๋ช…์นญ ๋“ฑ)์˜ ๊ฒ€์ƒ‰ ์ธ์‹๋ฅ ์ด Stackblitz ์‹คํ—˜ ํ™˜๊ฒฝ ๋Œ€๋น„ ๋‹ค์†Œ ๋‚ฎ๊ฒŒ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ๊ตฌ์กฐ์™€ ๋ฐ์ดํ„ฐ๋Š” ๋™์ผํ•˜๋ฉฐ, ์ด๋Š” ํ™˜๊ฒฝ ํŠน์„ฑ์—์„œ ๋น„๋กฏ๋œ ๊ฒฐ๊ณผ๋กœ ํŒ๋‹จ๋ฉ๋‹ˆ๋‹ค.

Part 5. ๋ฐฐํฌ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ…

  • Vercel ํ™˜๊ฒฝ: OpenAI ์ง์ ‘ ํ˜ธ์ถœ ์ง€์–‘ โ†’ /api/chat.ts ์—์ง€ ํ”„๋ก์‹œ
  • ์ธ๋ฑ์‹ฑ race ๋ฐฉ์ง€: ensureRagReady() ์‹ฑ๊ธ€ํ†ค ์ดˆ๊ธฐํ™” + ์ž„๋ฒ ๋””๋“œ ์ฝ”ํผ์Šค
  • dev/prod ์ฝ”ํผ์Šค ๋™๊ธฐํ™”: assets ์ž„๋ฒ ๋“œ + ๋Ÿฐํƒ€์ž„ /faq.json ๋ฎ์–ด์“ฐ๊ธฐ
  • ์žฌํ• ๋‹น ๊ฒฝ๊ณ  ํ•ด๊ฒฐ: const โ†’ let
  • ๊ณต์‹ FAQ URL ๋ณ€๊ฒฝ: ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ๋ฏธ์ง€์› ๊ฑด์€ ์™ธ๋ถ€ ์ด์Šˆ๋กœ Skip

3️⃣ ๊ฒฐ๊ณผ & ๋ฐฐ์šด ์  (What / Lessons)

🎯 ํ•ต์‹ฌ ์„ฑ๊ณผ

  • ์ตœ์ƒ๋‹จ ์ตœ์ข… ํ‰๊ฐ€ ํ‘œ ๊ธฐ์ค€์œผ๋กœ ์ •ํ™•๋„ยท๋ผ์šฐํŒ…/ํด๋ฐฑยท๋งํฌ/CTAยท์„ฑ๋Šฅยท์Šคํƒ€์ผ/์•ˆ์ „ยทUI/UX ์ „ ํ•ญ๋ชฉ Pass๋ฅผ ๋‹ฌ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค.
  • Rule + RAG ๊ฒฐํ•ฉ ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ถ•ํ•˜๊ณ , ์ž๋™ QA ๋ฃจํ‹ด(runBatch)์„ ์ ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.
  • R1โ†’R2โ†’R3 ๊ฐœ์„  ์‚ฌ์ดํด์„ ํ†ตํ•ด ํ’ˆ์งˆ์„ ํ™•๋ณดํ•˜๊ณ  ํ”„๋กœ๋•์…˜ ๋ ˆ๋”” ์ˆ˜์ค€์œผ๋กœ ์ •๋น„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

🧩 ์ง„ํ–‰ ์ค‘ ์–ด๋ ค์›€

  • ๋งˆ์ง€๋ง‰ 5% ์™„์„ฑ ๊ตฌ๊ฐ„์—์„œ ์‹œ๊ฐ„ ์†Œ์š”๊ฐ€ ์ง‘์ค‘๋˜์—ˆ์Šต๋‹ˆ๋‹ค. (์ฒด๊ฐ์ƒ ์ „์ฒด ์†Œ์š” ์‹œ๊ฐ„์˜ 20% ์ด์ƒ)
  • ๊ณต์‹ ์‚ฌ์ดํŠธ URL ๋ณ€๊ฒฝ(๋ฆฌ๋‹ค์ด๋ ‰ํŠธ ๋ฏธ์ง€์›)๋กœ ์ผ๋ถ€ ํ•ญ๋ชฉ์€ Skip ์ฒ˜๋ฆฌํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐ”์ด๋ธŒ ์ฝ”๋”ฉ ์‹œ, ํ”„๋กฌํ”„ํŠธ ๋ฐ˜๋ณต ์ž…๋ ฅ ์‹œ ๋งฅ๋ฝ์„ ๋ฒ—์–ด๋‚˜ ํ•„์š” ์ด์ƒ์œผ๋กœ ์ˆ˜์ • ๋ฐœ์ƒํ•˜๋Š” ์ผ€์ด์Šค๊ฐ€ ๋งŽ์•˜์Šต๋‹ˆ๋‹ค.
  • ๋ฐฐํฌ ํ™˜๊ฒฝ(Vercel)์—์„œ RAG ๊ฒ€์ƒ‰ ์„ฑ๋Šฅ์ด Stackblitz ๋Œ€๋น„ ์•ฝํ•˜๊ฒŒ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋Ÿฐํƒ€์ž„ ๋ฐ ๋นŒ๋“œ ํ™˜๊ฒฝ ์ฐจ์ด๋กœ ์ธํ•œ ํ˜„์ƒ์œผ๋กœ, ์‹ค ์„œ๋น„์Šค ์˜ํ–ฅ ๋ฒ”์œ„๋Š” RAG ํ•œ์ •์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

💡 ๊ตํ›ˆ

  1. ์ž‘์—… ๋‹จ์œ„๋Š” ์ตœ๋Œ€ํ•œ ์ž‘๊ฒŒ ์ชผ๊ฐœ๊ณ , ๋ฌธ๋งฅ์€ ๋ช…ํ™•ํ•˜๊ฒŒ ๊ฐ€์ ธ๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค. (์ฑ—๋ฐฉ ์ตœ๋Œ€ํ•œ ์ชผ๊ฐœ๊ธฐ + ์ƒ์„ธํ•œ ํ”„๋กฌํ”„ํŠธ ํ•„์š”)
  2. ์ œ์•ˆ ์ฝ”๋“œ๋Š” ๊ทธ๋Œ€๋กœ ์ ์šฉํ•˜๊ธฐ๋ณด๋‹ค ๊ตฌ์กฐ๋ฅผ ํ™•์ธํ•˜๊ณ  ์ตœ์†Œ ์ˆ˜์ •์œผ๋กœ ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  3. ๋ฐ”์ด๋ธŒ ์ฝ”๋”ฉ์€ ๊ฐœ๋ฐœ ๋„๊ตฌ์— ๊ฐ€๊น์Šต๋‹ˆ๋‹ค(๊ธฐ๋ณธ ๋ฌธ๋ฒ•ยท๊ตฌ์กฐ ์ดํ•ด๊ฐ€ ํšจ์œจ์„ ์ขŒ์šฐ).
  4. Agent ๋กœ ์ž๋™ ๊ฒ€์ˆ˜ + ์ˆ˜๋™ QA ์กฐํ•ฉ์œผ๋กœ ํšจ์œจ์ ์œผ๋กœ ์‹œ๊ฐ„์„ ์•„๋ผ๊ณ  ํ’ˆ์งˆ์„ ๋†’์—ฌ์ค๋‹ˆ๋‹ค.
  5. ์ดˆ๊ธฐ ๋ชฉํ‘œ๋Š” 50% ๋ฒ”์œ„๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ดˆ ์˜ˆ์ƒ๋ณด๋‹ค 2~3๋ฐฐ์˜ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์ด ์†Œ์š”๋˜๊ธฐ ์‰ฌ์›Œ, ๋‹จ๊ณ„๋ณ„ ํ™•์žฅ์ด ํ˜„๋ช…ํ•ฉ๋‹ˆ๋‹ค.
  6. RAG ๋ณด์ •์€ ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ต์Šต๋‹ˆ๋‹ค. (์˜ˆ: ์œ ์‚ฌ ๋ฐœํ™”ยท๋„์–ด์“ฐ๊ธฐยท๋ณ„์นญ ๋Œ€์‘ ๋“ฑ)

 

P.S. ์ถ”์„ ์—ฐํœด ๋‚ด๋‚ด ์ž‘์—…ํ•˜์—ฌ ๋งˆ์ง€๋ง‰ ๋ณด์ • ์ž‘์—…๊ณผ ๊ธ€ ์ž‘์—…์„ ์ง„ํ–‰ํ•˜๋‹ˆ ์–ด๋А๋ง 1์ฃผ์ผ์ด ๊ธˆ๋ฐฉ์ด๋„ค์š”. ์ฒ˜์Œ ํ•ด๋ณด๋Š” ๋ฐ”์ด๋ธŒ์ฝ”๋”ฉ์€ ์ƒ๊ฐ๋ณด๋‹ค ์–ด๋ ต๊ณ  ํž˜๋“ค์—ˆ์ง€๋งŒ, ์ƒ๊ฐ๋ณด๋‹ค ์žฌ๋ฏธ์žˆ๊ณ  ๋งŽ์€ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ์žฌ๋ฏธ๋‚˜๊ณ  ์‰ฌ์šด ๋ฐ”์ด๋ธŒ์ฝ”๋”ฉ 2ํƒ„์œผ๋กœ ์ฐพ์•„์˜ค๊ฒ ์Šต๋‹ˆ๋‹ค 😊🤩

 

๊ธ€์“ด์ด

๋‹ต๊ธ€ ๋‚จ๊ธฐ๊ธฐ

์ด๋ฉ”์ผ ์ฃผ์†Œ๋Š” ๊ณต๊ฐœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•„์ˆ˜ ํ•„๋“œ๋Š” *๋กœ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค