AI 에이전트가 코드를 실행하고 패키지를 설치하고 파일을 다뤄야 한다면, 그 작업을 어디서 실행해야 할까요? 보안을 위해 샌드박스가 필요하다는 건 분명하지만, 에이전트와 샌드박스를 어떻게 연결할지는 또 다른 문제입니다.
LangChain이 AI 에이전트와 샌드박스를 통합하는 두 가지 아키텍처 패턴을 분석한 글을 발표했습니다. E2B, Runloop, Daytona 같은 샌드박스 제공업체와의 협업을 통해 정리한 내용으로, 각 패턴의 장단점과 선택 기준을 제시합니다.
출처: The two patterns by which agents connect sandboxes – LangChain Blog
패턴 1: 에이전트가 샌드박스 안에서 실행

첫 번째 패턴은 에이전트 자체를 샌드박스 안에서 실행하는 방식입니다. Docker나 VM 이미지에 에이전트 프레임워크를 미리 설치하고, 샌드박스 안에서 에이전트를 구동한 뒤 외부에서 네트워크로 통신합니다.
이 방식의 가장 큰 장점은 로컬 개발 환경을 그대로 미러링한다는 점입니다. 터미널에서 에이전트를 실행하는 것과 동일한 방식으로 샌드박스 안에서 실행할 수 있죠. 에이전트가 파일시스템에 직접 접근하고 환경을 수정할 수 있어서, 에이전트와 실행 환경이 긴밀하게 결합된 경우에 유용합니다.
하지만 단점도 분명합니다. API 키가 샌드박스 안에 있어야 해서 보안 리스크가 생깁니다. 샌드박스가 뚫리거나 프롬프트 인젝션 공격으로 인증 정보가 유출될 가능성이 있죠. 에이전트 코드를 업데이트하려면 컨테이너 이미지를 다시 빌드하고 재배포해야 해서 반복 주기가 느려집니다. 또한 Witan Labs의 Nuno Campos가 지적한 것처럼, bash 도구보다 높은 권한을 가진 다른 도구(웹 검색 등)를 안전하게 분리하기 어렵습니다.
패턴 2: 샌드박스를 도구로 사용

두 번째 패턴은 에이전트를 로컬이나 서버에서 실행하고, 코드 실행이 필요할 때만 원격 샌드박스를 API로 호출하는 방식입니다. 에이전트 입장에서 샌드박스는 그냥 하나의 도구일 뿐입니다.
이 방식은 에이전트 코드를 즉시 업데이트할 수 있어 개발 속도가 빠릅니다. API 키는 샌드박스 밖에 안전하게 보관되고, 실행만 격리된 환경에서 이뤄지죠. 에이전트의 상태(대화 기록, 추론 체인, 메모리)와 샌드박스 실행이 분리되어 있어서, 샌드박스에 문제가 생겨도 에이전트 상태는 영향을 받지 않습니다.
E2B의 Tomas Beran이 추가로 지적한 장점도 있습니다. 여러 샌드박스를 병렬로 실행할 수 있고, 코드를 실행할 때만 샌드박스 비용을 지불하면 됩니다. Zo Computer의 Ben Guo는 향후 GPU 머신에서 에이전트를 실행해야 할 때도 이 패턴이 유리하다고 봅니다.
단점은 네트워크 레이턴시입니다. 실행 요청마다 네트워크 경계를 넘어야 해서, 작은 실행이 많은 워크로드에서는 지연이 누적될 수 있습니다. 다만 대부분의 샌드박스 제공업체가 상태 유지 세션을 지원해 변수나 파일, 설치된 패키지를 세션 내에서 유지할 수 있어 이를 어느 정도 완화합니다.
어떤 패턴을 선택해야 할까
LangChain은 다음과 같은 선택 기준을 제시합니다.
패턴 1을 선택하는 경우:
- 에이전트와 실행 환경이 긴밀하게 결합되어 있을 때
- 프로덕션 환경이 로컬 개발 환경과 최대한 유사해야 할 때
- 샌드박스 제공업체의 SDK가 통신 레이어를 처리해줄 때
패턴 2를 선택하는 경우:
- 에이전트 로직을 빠르게 반복 개발해야 할 때
- API 키를 샌드박스 밖에 보관하고 싶을 때
- 에이전트 상태와 실행 환경을 명확히 분리하고 싶을 때
두 패턴 모두 LangChain의 오픈소스 프레임워크 deepagents에서 간단한 설정으로 지원됩니다. 패턴 2의 경우 E2B, Daytona, Runloop, Modal 같은 샌드박스 제공업체를 백엔드로 선택할 수 있습니다.
아키텍처 선택이 중요한 이유
AI 에이전트 개발에서 샌드박스 통합 방식은 단순한 기술적 디테일이 아닙니다. 보안, 개발 속도, 유지보수성, 비용에 직접적인 영향을 미치는 아키텍처 결정이죠. 특히 프로덕션 환경에서 에이전트를 운영할 때 각 패턴의 트레이드오프를 명확히 이해하는 것이 중요합니다.
프롬프트 인젝션 공격이나 샌드박스 취약점 같은 보안 위협이 현실화되는 상황에서, 어떤 패턴을 선택하느냐에 따라 시스템의 공격 표면이 크게 달라질 수 있습니다.

답글 남기기