핵심 요약
AI 에이전트가 코드를 실행하고 파일을 조작하기 위해서는 격리된 환경인 샌드박스가 필수적이다. 본 아티클은 에이전트를 샌드박스 내부에 배치하는 방식과 외부에서 API를 통해 도구로 호출하는 방식의 두 가지 아키텍처 패턴을 다룬다. 각 패턴은 보안, 개발 속도, 상태 관리 측면에서 뚜렷한 차이를 보이며 사용자의 요구사항에 따른 선택 기준을 제시한다. 오픈소스 프레임워크인 deepagents를 활용하면 두 패턴 모두 손쉽게 구현 가능하다.
배경
Docker 및 가상 머신(VM)에 대한 기초 지식, AI 에이전트 및 툴 콜링(Tool Calling) 개념, Python 프로그래밍 언어
대상 독자
AI 에이전트 시스템 아키텍처를 설계하고 보안 실행 환경을 구축하려는 개발자
의미 / 영향
에이전트의 자율적 코드 실행 능력이 강화됨에 따라 실행 환경의 격리와 보안 설계가 필수적인 요소로 자리 잡고 있다. 이 가이드는 개발 효율성과 보안성 사이의 균형을 맞추는 구체적인 설계 패턴을 제공하여 안정적인 에이전트 서비스 배포를 지원한다.
섹션별 상세
이미지 분석

클라이언트가 샌드박스 경계 내부에 존재하는 서버 및 에이전트와 직접 통신하는 구조를 보여준다. 에이전트가 격리된 환경 내에서 실행되며 네트워크를 통해 외부와 상호작용함을 시각적으로 설명한다.
패턴 1인 'Agent IN Sandbox'의 아키텍처 다이어그램이다.

에이전트가 샌드박스 외부의 서버에서 실행되고 필요할 때만 별도의 샌드박스 환경을 도구처럼 호출하는 구조를 나타낸다. 에이전트의 상태와 실행 환경이 분리되어 있음을 명확히 보여준다.
패턴 2인 'Sandbox as Tool'의 아키텍처 다이어그램이다.
실무 Takeaway
- 보안이 최우선인 프로덕션 환경에서는 API 키를 격리할 수 있는 'Sandbox as Tool' 패턴을 우선적으로 고려해야 한다.
- 에이전트가 특정 시스템 라이브러리에 의존하거나 복잡한 환경 설정이 필요한 경우 'Agent IN Sandbox' 패턴이 개발 편의성 면에서 유리하다.
- 네트워크 지연 시간을 최소화하기 위해 샌드박스 제공업체가 지원하는 상태 유지 세션(Stateful Sessions) 기능을 적극 활용해야 한다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료