# [[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*