# [[Containerization]] ## πŸ“Œ Brief Summary μ»¨ν…Œμ΄λ„ˆν™”(Containerization)λŠ” μ—μ΄μ „νŠΈ ν•˜λ„€μŠ€ ν™˜κ²½μ—μ„œ AI μ—μ΄μ „νŠΈκ°€ μ•ˆμ „ν•˜κ²Œ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜κ³  도ꡬ와 μƒν˜Έμž‘μš©ν•  수 μžˆλ„λ‘ 격리된 μƒŒλ“œλ°•μŠ€(Sandbox) μ‹€ν–‰ ν™˜κ²½μ„ μ œκ³΅ν•˜λŠ” 핡심 κΈ°μˆ μ΄λ‹€ [1-3]. 도컀(Docker), OCI μ»¨ν…Œμ΄λ„ˆ, 마이크둜VM 등을 ν™œμš©ν•˜μ—¬ 호슀트 μ‹œμŠ€ν…œμ„ λ³΄ν˜Έν•¨κ³Ό λ™μ‹œμ— μΌκ΄€λ˜κ³  μž¬ν˜„ κ°€λŠ₯ν•œ μ—μ΄μ „νŠΈ ꡬ동 및 벀치마크 평가 ν™˜κ²½μ„ κ΅¬μ„±ν•˜λŠ” 데 μ‚¬μš©λœλ‹€ [1, 2, 4, 5]. 이λ₯Ό 톡해 μ—μ΄μ „νŠΈλŠ” μ™ΈλΆ€ μ‹œμŠ€ν…œ 인프라λ₯Ό μ˜€μ—Όμ‹œν‚€μ§€ μ•Šκ³  자율적으둜 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλ‹€ [1, 5]. ## πŸ“– Core Content * **격리된 μ½”λ“œ μ‹€ν–‰ 및 μƒŒλ“œλ°•μ‹±**: AutoGen(AG2)κ³Ό 같은 μ˜€μΌ€μŠ€νŠΈλ ˆμ΄μ…˜ ν”„λ ˆμž„μ›Œν¬λŠ” Docker λ„€μ΄ν‹°λΈŒ μƒŒλ“œλ°•μ‹± κΈ°λŠ₯을 톡해 μ½”λ“œλ₯Ό μž‘μ„±ν•˜λŠ” μ—μ΄μ „νŠΈκ°€ 호슀트 μ‹œμŠ€ν…œμ— λŒ€ν•œ μœ„ν—˜ 없이 격리된 ν™˜κ²½μ—μ„œ μ½”λ“œλ₯Ό μ‹€ν–‰ν•˜κ³  ν…ŒμŠ€νŠΈν•  수 μžˆλ„λ‘ μ§€μ›ν•œλ‹€ [1]. λ˜ν•œ Open Harness λͺ¨λΈμ€ 단일 ν”„λ‘œμ νŠΈ 및 λΈŒλžœμΉ˜μ— ν• λ‹Ήλœ 단일 Docker μ»¨ν…Œμ΄λ„ˆλ₯Ό κ΅¬λ™ν•˜μ—¬, 호슀트의 μ˜μ‘΄μ„± λΆ€νŒ¨(Toolchain rot) 없이 μ—μ΄μ „νŠΈκ°€ 독립적인 μž‘μ—… 곡간을 μ†Œμœ ν•˜κ³  ν™œλ™ν•  수 있게 ν•œλ‹€ [5]. * **μΌκ΄€λœ 평가 및 λ²€μΉ˜λ§ˆν‚Ή ν™˜κ²½ ꡬ좕**: μ—μ΄μ „νŠΈμ˜ μ„±λŠ₯을 μž¬ν˜„ κ°€λŠ₯ν•˜κ²Œ ν‰κ°€ν•˜κΈ° μœ„ν•΄ HAL(Holistic Agent Leaderboard)κ³Ό 같은 톡합 평가 ν•˜λ„€μŠ€λŠ” Docker μ»¨ν…Œμ΄λ„ˆλ₯Ό ν™œμš©ν•œλ‹€ [3, 6]. SWE-bench, ScienceAgentBench 및 USACO λ“± λ‹€μ–‘ν•œ 벀치마크 ν…ŒμŠ€νŠΈκ°€ μ»¨ν…Œμ΄λ„ˆ 기반으둜 병렬 μ‹€ν–‰λ˜λ©°, λͺ¨λΈμ˜ μ‹œμŠ€ν…œ μ œμ–΄ λ³€μˆ˜λ₯Ό μΌμ •ν•˜κ²Œ μœ μ§€ν•œλ‹€ [3, 4, 7, 8]. * **λ‹€μ–‘ν•œ μ»¨ν…Œμ΄λ„ˆ λŸ°νƒ€μž„ 및 μΈν”„λΌμ˜ μ§„ν™”**: μ—”ν„°ν”„λΌμ΄μ¦ˆ ν•˜λ„€μŠ€ ν™˜κ²½μ—μ„œλŠ” λ‹¨μˆœν•œ Dockerλ₯Ό λ„˜μ–΄ λ‹€μ–‘ν•œ ν˜•νƒœμ˜ μ»¨ν…Œμ΄λ„ˆ 기술이 쓰인닀. λΉ λ₯Έ μ‹œμž‘ μ‹œκ°„κ³Ό 컀널 μˆ˜μ€€μ˜ 격리λ₯Ό μ œκ³΅ν•˜λŠ” Firecracker 기반의 마이크둜VM(예: E2B)μ΄λ‚˜ 90ms 미만의 λΆ€νŒ… 속도와 영ꡬ μƒνƒœλ₯Ό μ§€μ›ν•˜λŠ” OCI μ»¨ν…Œμ΄λ„ˆ(예: Daytona)κ°€ μ‚¬μš©λœλ‹€ [2, 9]. κΈ°μ‘΄ 인프라에 톡합해야 ν•  경우, gVisorλ‚˜ Kata Containersλ₯Ό 톡해 컀널 μˆ˜μ€€μ˜ 격리λ₯Ό μ œκ³΅ν•˜λŠ” μΏ λ²„λ„€ν‹°μŠ€(Kubernetes) λ„€μ΄ν‹°λΈŒ μƒŒλ“œλ°•μŠ€ CRDκ°€ λ„μž…λ˜κΈ°λ„ ν•œλ‹€ [10]. ## βš–οΈ Trade-offs & Caveats * **운영 및 인프라 λ³΅μž‘μ„± 증가**: μ»¨ν…Œμ΄λ„ˆν™”λœ ν™˜κ²½μ—μ„œ 파일 μ‹œμŠ€ν…œμ„ λ°±μ—”λ“œλ‘œ μ‚¬μš©ν•˜μ—¬ μ—μ΄μ „νŠΈμ˜ μ»¨ν…μŠ€νŠΈλ₯Ό μ˜€ν”„λ‘œλ”©(Offloading)ν•˜κ³  κ΄€λ¦¬ν•˜λŠ” 방식은 전체 μ‹œμŠ€ν…œμ˜ 운영 λ³΅μž‘μ„±μ„ κ°€μ€‘μ‹œν‚¨λ‹€ [11]. * **평가 ν™˜κ²½μ˜ μžμ› ꡬ성에 λ”°λ₯Έ 행동 λ…Έμ΄μ¦ˆ**: μ»¨ν…Œμ΄λ„ˆμ— ν• λ‹Ήλ˜λŠ” μžμ›(CPU, λ©”λͺ¨λ¦¬ λ“±) μ„€μ • μžμ²΄κ°€ μ—μ΄μ „νŠΈμ˜ 문제 ν•΄κ²° μ „λž΅μ— 큰 영ν–₯을 λ―ΈμΉ  수 μžˆλ‹€ [12]. μ—„κ²©ν•œ μžμ› μ œν•œ ν™˜κ²½κ³Ό λ„‰λ„‰ν•œ ν™˜κ²½μ—μ„œ μ—μ΄μ „νŠΈκ°€ μ„ νƒν•˜λŠ” λ„κ΅¬λ‚˜ 쒅속성 ν™œμš© μ „λž΅μ΄ μ™„μ „νžˆ 달라져 벀치마크 μ μˆ˜μ— 큰 변동을 μΌμœΌν‚€λŠ” 원인이 λœλ‹€ [12]. * **μ»¨ν…Œμ΄λ„ˆ κ²©λ¦¬λ§ŒμœΌλ‘œλŠ” λΆ€μ‘±ν•œ λ³΄μ•ˆ ν•œκ³„**: μ»¨ν…Œμ΄λ„ˆ 기반의 μƒŒλ“œλ°•μŠ€ 격리 κΈ°λŠ₯λ§ŒμœΌλ‘œλŠ” μ—μ΄μ „νŠΈμ˜ μ•…μ˜μ  ν˜Ήμ€ ν†΅μ œ 뢈λŠ₯ μƒνƒœλ₯Ό μ™„λ²½νžˆ 막을 수 μ—†λ‹€ [2, 9]. μ—μ΄μ „νŠΈκ°€ μžμ‹ μ˜ ν•˜λ„€μŠ€ ꡬ성(예: MCP μ„œλ²„ μ„€μ •, ν›… 파일)을 μˆ˜μ •ν•  수 μžˆκ±°λ‚˜ λ„€νŠΈμ›Œν¬ 이그레슀(Egress) μ œν•œμ΄ μ—†λŠ” 경우, μ»¨ν…Œμ΄λ„ˆ 내뢀에 μžˆλ”λΌλ„ κΆŒν•œ μƒμŠΉμ΄λ‚˜ μ™ΈλΆ€ 유좜의 μœ„ν—˜μ΄ μ‘΄μž¬ν•˜λ―€λ‘œ 컀널 μˆ˜μ€€μ˜ μ œμ–΄λ‚˜ OPA(Open Policy Agent) 기반의 λ„€νŠΈμ›Œν¬ μ œμ–΄κ°€ λ™λ°˜λ˜μ–΄μ•Ό ν•œλ‹€ [2, 9]. --- *Last updated: 2026-05-05*