Skip to content

Latest commit

ย 

History

History
114 lines (85 loc) ยท 5.67 KB

File metadata and controls

114 lines (85 loc) ยท 5.67 KB

RouteFit โ€” Strategy Mapping & Explainability Logic

์ž…๋ ฅ ์กฐ๊ฑด โ†’ ์ „๋žต ํ›„๋ณด ํ•„ํ„ฐยท์ ์ˆ˜ํ™” โ†’ ์™œ ์ฑ„ํƒ / ์™œ ํƒˆ๋ฝ ์„ค๋ช… ์ƒ์„ฑ์˜ SSOT. ๊ฒฐ๊ณผ ํ™”๋ฉด์˜ "์™œ ์ด ์ „๋žต์ธ๊ฐ€"ยท"Decision Trace"ยท"์‹ ๋ขฐ๋„ ๊ทผ๊ฑฐ"๋Š” ์ „๋ถ€ ์ด ๋ฌธ์„œ์˜ ๊ทœ์น™์—์„œ ๋‚˜์˜จ๋‹ค. ๊ด€๋ จ: methodology.md(๋น„์šฉยทํ’ˆ์งˆยท์ œ์•ฝ์‹) ยท ux-spec.md(๊ฒฐ๊ณผ ์š”๊ฑด) ยท assumptions.md(๋ฒค๋” ์‚ฌ์‹ค)

ํ•ต์‹ฌ ์›์น™: ์„ ํ˜ธ๋Š” ์‹ ํ˜ธ์ผ ๋ฟ, ์ œ์•ฝ(constraint)์ด ์ด๊ธด๋‹ค. ์„ ํ˜ธ์™€ ์กฐ๊ฑด์ด ์ถฉ๋Œํ•˜๋ฉด ๋’ค์ง‘๊ณ  ๊ทธ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.


1. ์ „๋žต ํ›„๋ณด (7์ข… + ๋ณด๋ฅ˜)

# ์ „๋žต ์ธต์œ„ ์„ฑ๊ฒฉ
S1 ๋‹จ์ผ ๊ณ ์„ฑ๋Šฅ 100% โ€” ํ’ˆ์งˆ ์ƒํ•œ / ๋น„์šฉ ๊ธฐ์ค€์„ 
S2 ๋‹จ์ผ ๊ฒฝ๋Ÿ‰ 100% โ€” ๋น„์šฉ ํ•˜ํ•œ / ํ’ˆ์งˆ ์œ„ํ—˜
S3 Rule + Semantic Routing ์ƒ์„ฑ ๅ‰ ์ž์ฒด ๊ตฌ์ถ•, ๋ฐ์ดํ„ฐ ์ ์–ด๋„ ๊ฐ€๋Šฅ
S4 Learned Router (RouteLLM ๊ณ„์—ด) ์ƒ์„ฑ ๅ‰ ์ž์ฒด ๊ตฌ์ถ•, ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ ํ•„์š”
S5 Quality Cascade (FrugalGPTํ˜•) ์ƒ์„ฑ ๅพŒ ๊ฒฝ๋Ÿ‰ ํ›„ ํ’ˆ์งˆ ๋ฏธ๋‹ฌ ์—์Šค์ปฌ๋ ˆ์ด์…˜
S6 Routing + Cascade Hybrid ๅ‰+ๅพŒ ํ’ˆ์งˆ ์•ˆ์ „๋ง + ๋น„์šฉ ์ ˆ๊ฐ
S7 ๊ด€๋ฆฌํ˜• ๋ผ์šฐํ„ฐ ๋ฒค๋” Bedrock / Foundry / Model Optimizer
S0 ๋ผ์šฐํŒ… ๋ณด๋ฅ˜ โ€” ํŠธ๋ž˜ํ”ฝยท๋น„์šฉ ์ž‘์œผ๋ฉด ๋ผ์šฐํ„ฐ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์†ํ•ด

๊ด€๋ฆฌํ˜•(S7)์€ ์šด์˜๋ฐฉ์‹=๊ด€๋ฆฌํ˜•์ผ ๋•Œ ํ›„๋ณด์— ์˜ค๋ฅด๋˜, ์ž์ฒด ๊ตฌ์ถ•(S3~S6)๊ณผ ํ•ญ์ƒ frontier์—์„œ ๋‚˜๋ž€ํžˆ ๋น„๊ต๋œ๋‹ค.


2. Hard Constraint Filter (ํƒˆ๋ฝ โ†’ Decision Trace์— ์‚ฌ์œ  ๊ธฐ๋ก)

์กฐ๊ฑด ํƒˆ๋ฝ์‹œํ‚ค๋Š” ํ›„๋ณด ํƒˆ๋ฝ ์‚ฌ์œ  ๋ฌธ๊ตฌ
๋ฐ์ดํ„ฐ ๋ฐ˜์ถœ ๋ถˆ๊ฐ€/์ œํ•œ S7 ๊ด€๋ฆฌํ˜•(ํด๋ผ์šฐ๋“œ) "๋ฐ์ดํ„ฐ ๋ฐ˜์ถœ ์ œํ•œ๊ณผ ์ถฉ๋Œ โ€” ๋กœ์ปฌ ์ฒ˜๋ฆฌ ํ•„์š”"
์ตœ๋Œ€ ์ปจํ…์ŠคํŠธ > ๋ชจ๋ธ ์ง€์› ํ•ด๋‹น ๋ชจ๋ธ ๊ทœ์น™ "์ปจํ…์ŠคํŠธ ๊ธธ์ด ๋ฏธ๋‹ฌ"
๋ฉ€ํ‹ฐ๋ชจ๋‹ฌ/tool calling ํ•„์š”ํ•œ๋ฐ ๋ฏธ์ง€์› ํ•ด๋‹น ๋ชจ๋ธ "ํ•„์ˆ˜ ๊ธฐ๋Šฅ ๋ฏธ์ง€์›"
P95 ์ง€์—ฐ < ์บ์Šค์ผ€์ด๋“œ 2ํšŒ ํ˜ธ์ถœ ์˜ˆ์ƒ S5/S6 (์ง€์—ฐ ๋ฏผ๊ฐ) "ํ—ˆ์šฉ ์ง€์—ฐ ์ดˆ๊ณผ ์œ„ํ—˜"
ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ ์—†์Œ S4 Learned๋ฅผ ์ฐจ์„ ์œผ๋กœ ๊ฐ•๋“ฑ(ํƒˆ๋ฝ ์•„๋‹˜) "ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ ๋ถ€์กฑ โ€” ํ•™์Šตํ˜• ๊ฐ•์  ๋ชป ์‚ด๋ฆผ"

๊ด€๋ฆฌํ˜•+ํŠน์ • ํด๋ผ์šฐ๋“œ๋ฅผ ์„ ํ˜ธํ–ˆ๋Š”๋ฐ ๋ฐ˜์ถœ ์ œํ•œ์œผ๋กœ S7์ด ํƒˆ๋ฝํ•˜๋ฉด: "๊ด€๋ฆฌํ˜•์„ ์„ ํ˜ธํ•˜์…จ์ง€๋งŒ ๋ฐ์ดํ„ฐ ๋ฐ˜์ถœ ์ œํ•œ์—์„œ๋Š” Bedrock์ด ํƒˆ๋ฝํ•ฉ๋‹ˆ๋‹ค. ๋Œ€์‹  ๋กœ์ปฌ Semantic Router + ์ž์ฒด ๋ชจ๋ธ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค." โ† ์„ ํ˜ธ๋ฅผ ์กด์ค‘ํ•˜๋˜ ๋’ค์ง‘๊ณ  ์„ค๋ช….


3. ๊ทœ์น™ ๊ธฐ๋ฐ˜ ์šฐ์„  ์ถ”์ฒœ (ยง6, soft ์ ์ˆ˜ ๊ฐ€์ )

๊ธฐ์—… ์กฐ๊ฑด ์šฐ์„  ์˜ค๋ฅด๋Š” ์ „๋žต
๊ด€๋ฆฌํ˜• + AWS, ์˜์–ด ์ค‘์‹ฌ, ๋™์ผ ํŒจ๋ฐ€๋ฆฌ๋กœ ์ถฉ๋ถ„ S7 Bedrock Intelligent Prompt Routing
๊ด€๋ฆฌํ˜• + Azure, ๋‹ค์–‘ํ•œ ํ›„๋ณด ๊ด€๋ฆฌํ˜• ์šด์˜ S7 Foundry Model Router
๊ด€๋ฆฌํ˜• + Google, Gemini ์ค‘์‹ฌ S7 Gemini Enterprise Agent Platform โ€” Model Optimizer
์—…๋ฌด ์นดํ…Œ๊ณ ๋ฆฌ ๋ช…ํ™• + ๋ฐ์ดํ„ฐ ์ ์Œ S3 Rule + Semantic
์—…๋ฌด ์˜ˆ์‹œ๋Š” ์žˆ์œผ๋‚˜ ์„ ํ˜ธ ๋ฐ์ดํ„ฐ ์—†์Œ S3 Embedding Semantic
๊ฐ•/์•ฝ ์„ ํ˜ธ ๋น„๊ต ๋ฐ์ดํ„ฐ ๋ณด์œ  S4 Learned Router
ํ’ˆ์งˆ ํ•˜๋ฝ ํ—ˆ์šฉ ๊ฑฐ์˜ ์—†์Œ S6 Routing + Cascade Hybrid
๋ชจ๋“  ์š”์ฒญ ์œ ์‚ฌ + ํ’ˆ์งˆ ์š”๊ตฌ ์ผ์ • S1 ๋‹จ์ผ / ์ •์  ๋ผ์šฐํŒ…
๋ฐ์ดํ„ฐ ๋ฐ˜์ถœ ๋ถˆ๊ฐ€ S3 ๋กœ์ปฌ Semantic + ์ž์ฒด ๋ชจ๋ธ
์ž์ฒด GPU๋กœ ๋Œ€ยท์†Œ ๋ชจ๋ธ ์„œ๋น™ S5โ†’ Speculative Cascade ๊ฒ€ํ†  (์ฐธ๊ณ )
ํŠธ๋ž˜ํ”ฝ ์ ๊ณ  ๋ชจ๋ธ๋น„ ๋‚ฎ์Œ S0 ๋ผ์šฐํŒ… ๋ณด๋ฅ˜

4. ์ ์ˆ˜ํ™” (ยง10 ์ œ์•ฝ์‹)

Minimize ์›” ๋น„์šฉ(ยง1โ€“ยง9)
Subject to: ์˜ˆ์ƒ ํ’ˆ์งˆ โ‰ฅ ์ตœ์†Œ ๊ธฐ์ค€ ยท P95 โ‰ค ํ—ˆ์šฉ์ง€์—ฐ ยท ๋ฐ˜์ถœ์ •์ฑ… ยท ์ปจํ…์ŠคํŠธ ยท ๊ธฐ๋Šฅ์š”๊ตฌ

๊ฐ ์‚ด์•„๋‚จ์€ ํ›„๋ณด์— ๋Œ€ํ•ด:

  • ๋น„์šฉ = methodology ยง1โ€“ยง9๋กœ ์‹œ๋‚˜๋ฆฌ์˜ค ๊ณ„์‚ฐ (๋ณด์ˆ˜/๊ธฐ์ค€/๊ณต๊ฒฉ)
  • ํ’ˆ์งˆ = ยง11 ์—…๋ฌด๋ณ„ ์„ฑ๊ณต๋ฅ  ร— ์—…๋ฌด ๋น„์œจ (ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ ์—†์œผ๋ฉด ๋ฒค์น˜๋งˆํฌ ์ถ”์ •)
  • ์šด์˜ ๋ณต์žก๋„ / ์ข…์†์„ฑ / ๋ฐ์ดํ„ฐ ์ค€๋น„๋„ = ๊ฐ์  ์š”์ธ
  • ์„ ํ˜ธ ๊ฐ€์  = ์šด์˜๋ฐฉ์‹ ์„ ํ˜ธ์™€ ์ผ์น˜ ์‹œ ์†Œํญ ๊ฐ€์‚ฐ (์ œ์•ฝ์„ ๋ชป ์ด๊น€)

ํ’ˆ์งˆ ์šฐ์„ ์ˆœ์œ„(๋น„์šฉ/๊ท ํ˜•/ํ’ˆ์งˆ)๊ฐ€ ๋น„์šฉ vs ํ’ˆ์งˆ ๊ฐ€์ค‘์„ ์กฐ์ ˆ. ์ตœ์ข… = ์ œ์•ฝ ํ†ต๊ณผ + Pareto ๋ฌด๋ฆŽ์ (knee) ์šฐ์„ . ์ •๋‹ต ํ•˜๋‚˜๊ฐ€ ์•„๋‹ˆ๋ผ frontier ์œ„ ์—ฌ๋Ÿฌ ์ ์„ ์ œ์‹œ.


5. ์„ค๋ช… ์ƒ์„ฑ (๊ฒฐ๊ณผ ํ™”๋ฉด์œผ๋กœ ์ง๊ฒฐ)

๊ฐ ํ›„๋ณด๋Š” ๊ณ„์‚ฐ ์‹œ ๊ตฌ์กฐํ™”๋œ ์‚ฌ์œ  ๊ฐ์ฒด๋ฅผ ๋‚จ๊ธด๋‹ค:

{
  strategy: "S6",
  status: "picked" | "alternative" | "rejected" | "baseline",
  reasons: [ { text, source: "input:data_export" | "ยง6" | "ยง10" | "ยง1-9" } ],
  reject_reason?: "๋ฐ์ดํ„ฐ ๋ฐ˜์ถœ ์ œํ•œ๊ณผ ์ถฉ๋Œ",
  cost: {conservative, base, aggressive},
  quality_est: 0.xx,
  confidence_factors: {...}
}
  • "์™œ ์ด ์ „๋žต์ธ๊ฐ€" = picked ํ›„๋ณด์˜ reasons (์ถœ์ฒ˜ ํƒœ๊ทธ ๊ทธ๋Œ€๋กœ ๋…ธ์ถœ)
  • Decision Trace = ์ „์ฒด ํ›„๋ณด์˜ status + reject_reason
  • ์ด ๊ตฌ์กฐ๊ฐ€ ์—†์œผ๋ฉด ๊ฒฐ๊ณผ๋ฅผ ๊ทธ๋ฆฌ์ง€ ์•Š๋Š”๋‹ค (์„ค๋ช… ์—†๋Š” ์ถ”์ฒœ ๊ธˆ์ง€).

6. ์‹ ๋ขฐ๋„ ๋“ฑ๊ธ‰ ๋„์ถœ

์ถ• ๊ทผ๊ฑฐ ๋“ฑ๊ธ‰ ๊ทœ์น™
๊ฐ€๊ฒฉ ๊ณ„์‚ฐ ๊ณต์‹ API ๊ฐ€๊ฒฉ ๊ธฐ๋ฐ˜ ํ•ญ์ƒ ๋†’์Œ (manual seed ์‹œ ํ‘œ๊ธฐ)
์‚ฌ์šฉ๋Ÿ‰ ๊ณ„์‚ฐ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๊ธฐ๋ฐ˜ ์ž…๋ ฅ ์™„์ „=๋†’์Œ / ํ”„๋ฆฌ์…‹ ์˜์กด=๋ณดํ†ต
ํ’ˆ์งˆ ์˜ˆ์ธก ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ ์œ ๋ฌด ์ž์ฒด ํ‰๊ฐ€์…‹=๋†’์Œ / ๋ฒค์น˜๋งˆํฌ ์ถ”์ •=๋ณดํ†ต / ๊ธฐํƒ€ ์—…๋ฌด=๋ณดํ†ต ๊ฐ•์ œ

์ข…ํ•ฉ = ์„ธ ์ถ•์˜ ์ตœ์ €๊ฐ’ ๊ทผ์ฒ˜. ํ™”๋ฉด์—” ์ถ•๋ณ„ ๋ถ„ํ•ด + ์ข…ํ•ฉ ๋ฑƒ์ง€ + "๋ฌด์—‡์„ ํ•˜๋ฉด ์˜ฌ๋ผ๊ฐ€๋Š”์ง€"(์˜ˆ: ์ž์ฒด ํ‰๊ฐ€ ๋ฐ์ดํ„ฐ ํ™•๋ณด)๋ฅผ ํ•จ๊ป˜ ํ‘œ์‹œ.


๊ฐฑ์‹  ๋กœ๊ทธ

  • 2026-07-13: ์ตœ์ดˆ ์ž‘์„ฑ. ํ›„๋ณด 7+๋ณด๋ฅ˜, hard filterยทยง6 ๊ทœ์น™ยทยง10 ์ ์ˆ˜ํ™”ยท๊ตฌ์กฐํ™” ์‚ฌ์œ ยท์‹ ๋ขฐ๋„ ๋„์ถœ ํ™•์ •. ์„ ํ˜ธ<์ œ์•ฝ ์›์น™ ๋ช…๋ฌธํ™”.