AI 샌드박스는 브라우저 자동화를 실행할 수 있지만, 적합성은 워크플로우가 실제로 요구하는 사항에 따라 달라집니다. Novita Sandbox와 같은 샌드박스는 에이전트에게 완전히 격리된 Linux 환경을 제공합니다. 헤드리스 브라우저를 설치하고, Playwright 또는 Puppeteer를 실행하고, 페이지를 탐색하고, 데이터를 추출하고, 양식을 제출하고, 결과를 스크린샷으로 저장할 수 있습니다. 이 모든 작업은 에이전트가 제어하는 임시 컨테이너 내에서 이루어집니다. 제공하지 않는 것은 전용 브라우저 자동화 플랫폼이 제공하는 것과 같은 영구적인 관리형 브라우저 인프라, 세션 풀링, 리지덴셜 프록시, 또는 여러 작업에 걸쳐 유지되는 장기 실행 상태 저장 브라우저입니다. AI 에이전트 샌드박스 격리가 일반적으로 어떻게 작동하는지(파일 시스템, 프로세스, 이그레스 경계 포함)는 정의 가이드를 참조하세요. 브라우저 자동화 워크로드를 지원하는 샌드박스 제공업체 비교는 2026년 최고의 AI 에이전트 샌드박스를 참조하세요.
이 가이드에서는 AI 샌드박스가 적합한 시나리오, 적합하지 않은 시나리오, 사전에 알아야 할 하드 한계, 그리고 Novita Sandbox가 각각을 처리하는 방법을 다룹니다.
샌드박스에서의 브라우저 자동화가 실제로 의미하는 것
AI 샌드박스 내에서 브라우저 자동화를 실행할 때, 호스팅된 브라우저 클라우드 서비스를 사용하는 것이 아닙니다. 격리된 Linux 환경에 헤드리스 브라우저 바이너리를 직접 설치하고 실행하는 것입니다. 에이전트(또는 코드)는 Playwright, Puppeteer, Selenium 또는 동등한 라이브러리를 호출하여 브라우저를 제어합니다. 샌드박스는 OS, CPU와 메모리, 파일 시스템, 네트워크 인터페이스를 제공합니다. 사용자는 브라우저, 자동화 로직, 지침을 제공합니다.
이 모델에는 실제 장점이 있습니다.
- 전체 환경 제어. 모든 브라우저 버전, 확장 프로그램, 종속성을 설치할 수 있습니다. 미리 구워진 이미지에 고정되지 않습니다.
- 작업별 격리. 각 샌드박스는 별도의 컨테이너입니다. 충돌하는 스크립트, 다운로드를 트리거하는 페이지, 또는 파일 시스템을 수정하는 에이전트 동작은 모두 컨테이너 내에 머물며 다른 것에 영향을 주지 않습니다.
- LLM에서 프로그래밍 가능. 샌드박스가 셸과 파일 시스템을 노출하기 때문에 LLM은 브라우저 자동화 스크립트를 즉석에서 작성하고, 실행하고, 출력을 관찰하고, 독점적인 브라우저 API 표면을 거치지 않고 반복할 수 있습니다.
Novita Sandbox는 평균 200ms 이내에 시작되며(Novita Sandbox 문서, 2026-06-28 확인) 실제 vCPU 및 메모리 사용량을 기준으로 초당 청구되므로(가격, 2026-06-28 확인) 각 브라우저 작업에 대해 새 환경을 시작하는 오버헤드가 낮습니다.
AI 샌드박스가 적합한 시나리오
에이전트 웹 리서치 및 일회성 스크래핑
에이전트가 페이지를 방문하고, 구조화된 데이터를 추출하고, 링크를 따라가고, 결과를 반환해야 하는 경우 샌드박스가 자연스럽게 적합합니다. 에이전트가 Playwright 스크립트를 작성하거나 실행하고, 헤드리스 Chromium 인스턴스를 시작하고, 필요한 것을 수집한 후 샌드박스는 폐기됩니다. 격리, 재현 가능성, 그리고 관련 없는 작업 간에 쿠키나 세션 상태가 유출될 위험이 없습니다.
예제 워크플로우:
from novita_sandbox.code_interpreter import Sandbox
sandbox = Sandbox.create()
script = """
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto("https://example.com/pricing")
text = page.inner_text("table")
print(text)
browser.close()
"""
result = sandbox.commands.run(
f"pip install playwright -q && playwright install chromium --with-deps -q && python3 -c '{script}'"
)
print(result.stdout)
sandbox.kill()
이 패턴은 각 작업이 독립적인 경쟁 리서치, 데이터 수집, 양식 검사, 링크 크롤링에 깔끔하게 작동합니다.
샌드박스 평가 및 에이전트 테스트
브라우저 사용 에이전트를 테스트하거나 AI가 웹 작업을 처리하는 방식을 평가하는 경우, 실행 간에 재설정되고 부작용이 누적되지 않는 환경이 필요합니다. 샌드박스는 설계상 그런 환경을 제공합니다. 각 평가 실행은 깨끗한 상태로 시작됩니다. 이전 실행의 캐시된 자격 증명, 남은 쿠키, 수정된 시스템 파일이 없습니다.
browser-use 및 Skyvern과 같은 도구는 바로 이러한 이유로 샌드박스 환경 내에서 실행되도록 설계되었습니다. 샌드박스는 에이전트가 작동하는 제어된 표면이며, 우리는 발생하는 상황을 관찰하고 종료합니다.
프로토타입 및 데모 워크플로우
LLM 추론과 웹 상호 작용을 결합한 개념 증명(가격 모니터, 양식 작성기, 웹 QA 봇 등)을 구축할 때 샌드박스를 사용하면 영구 인프라를 프로비저닝하지 않고도 빠르게 반복할 수 있습니다. 브라우저 자동화 로직을 변경하고, 격리된 컨테이너에서 테스트하고, 완료되면 환경을 폐기할 수 있습니다.
웹과 관련된 코드 실행
에이전트가 주로 계산을 수행하지만 때때로 페이지를 가져오거나, 렌더링된 DOM을 구문 분석하거나, URL을 확인해야 하는 경우 샌드박스는 코드 실행 기능의 자연스러운 확장으로 이를 처리합니다. 우발적인 웹 액세스를 위해 별도의 브라우저 서비스가 필요하지 않습니다.
구축하기 전에 이해해야 할 하드 한계
세션 지속성은 기본적으로 일시적입니다.
Novita Sandbox 인스턴스는 sandbox.kill() 이후에 상태를 유지하지 않습니다. 쿠키, localStorage, 캐시된 인증 토큰, 브라우저 프로필, 다운로드된 파일은 샌드박스가 종료되면 사라집니다. 워크플로우에 여러 에이전트 턴에 걸쳐 지속되는 로그인된 브라우저 세션이 필요한 경우, 다음 중 하나를 수행해야 합니다.
- 세션 기간 동안 샌드박스를 활성 상태로 유지(Novita Sandbox 문서에 따르면 최대 24시간 지원, 2026-06-28 확인)하거나
- 브라우저 상태를 명시적으로 저장 및 복원(Playwright는
storage_state내보내기/가져오기 지원)하거나 - 워크플로우의 해당 부분에 전용 상태 저장 브라우저 플랫폼을 사용합니다.
세션 연속성을 위해 오래 실행되는 샌드박스를 실행하는 것은 가능하지만, 브라우저 작업 사이에 유휴 컴퓨팅에 대한 비용을 지불해야 함을 의미합니다. 사용자가 한 번 로그인한 후 에이전트가 몇 시간 동안 상호 작용하는 워크플로우의 경우, 세션 관리 기능이 있는 전용 브라우저 서비스가 일반적으로 더 비용 효율적입니다.
네트워크 액세스는 배포 구성을 반영합니다.
기본적으로 Novita Sandbox 인스턴스는 패키지 설치 및 페이지 요청을 위한 아웃바운드 인터넷 액세스 권한이 있습니다. Novita Sandbox를 자체 VPC 내에 배포할 때(AWS 및 GCP에서 가능) 네트워크 동작을 강화할 수 있습니다. 해당 구성에서는 이그레스 규칙을 제어하고, 내부 URL로만 액세스를 제한하거나, 자체 프록시를 통해 트래픽을 라우팅할 수 있습니다.
브라우저 자동화에 의미하는 바: 리지덴셜 프록시, IP 회전 또는 특정 지리적 위치의 이그레스 주소가 필요한 경우 직접 구성해야 합니다(예: Playwright 실행 옵션에서 프록시 설정). 샌드박스에는 내장 프록시 계층이 포함되어 있지 않습니다.
브라우저 워크로드에는 리소스 크기 조정이 중요합니다.
헤드리스 Chromium은 가볍지 않습니다. 컨테이너 내에서 브라우저를 실행하면 에이전트가 수행하는 다른 작업 위에 메모리 압력이 추가됩니다. Novita Sandbox는 실제 vCPU 및 메모리에 대해 요금을 청구하므로 큰 브라우저 작업은 순수 컴퓨팅 작업보다 비용이 더 많이 듭니다. 안정적인 헤드리스 브라우저 세션을 위해 최소 1-2GB의 메모리를 할당하세요. 병렬 탐색(여러 탭 또는 동시 페이지)의 경우 그에 따라 크기를 조정하세요.
설치 시 지연 시간이 추가됩니다.
새로운 샌드박스에 Playwright 및 해당 브라우저 바이너리를 처음 설치할 때는 네트워크 상태와 전체 브라우저 패키지를 가져오는지 여부에 따라 30~90초가 소요됩니다. 지연 시간에 민감한 워크플로우의 경우 종속성을 사용자 지정 환경 이미지에 포함하거나 파이프라인에 캐시하세요. 시작 시간이 중요하다면 이를 계획하세요.
안전 경계
샌드박스에서 브라우저 자동화를 실행하면 의미 있는 격리 제어를 제공하지만, 모든 위협 모델에 대해 절대적인 격리를 보장하지는 않습니다. 격리가 실제로 다루는 내용은 다음과 같습니다.
파일 시스템 격리 및 다운로드 처리. 각 샌드박스 인스턴스는 자체 파일 시스템을 갖습니다. 파일을 다운로드하는 브라우저, 디스크에 쓰는 스크립트, 또는 구성 파일을 수정하는 에이전트 동작은 모두 해당 컨테이너 내에 머물며, 브라우저가 기본 다운로드 디렉터리에 저장하는 모든 항목도 포함됩니다. 다운로드된 파일(CSV 구문 분석, PDF 검사 등)에 대해 에이전트가 작업해야 하는 경우 샌드박스 내에서 안전하게 수행할 수 있습니다. 다운로드된 콘텐츠를 호출자에게 다시 전달해야 하는 경우 세션이 종료되기 전에 샌드박스 파일 API를 사용하여 명시적으로 복사하세요.
프로세스 격리. 브라우저 프로세스는 컨테이너 내에서 실행됩니다. 브라우저의 충돌, 메모리 누수 또는 무한 루프는 다른 샌드박스나 호스트에 영향을 미치지 않습니다.
세션 격리 및 자격 증명 격리. 각 작업은 깨끗한 컨테이너에서 시작할 수 있으므로 관련 없는 작업 간에 자격 증명, 쿠키, localStorage 또는 브라우저 기록이 암시적으로 공유되지 않습니다. 이는 서로 다른 사용자나 작업이 동일한 인프라를 공유하는 에이전트 워크플로우에서 중요합니다. 서비스에 인증하는 세션(액세스 토큰, 세션 쿠키 및 로컬에 캐시된 자격 증명 획득)은 해당 샌드박스 인스턴스로만 범위가 지정됩니다.
스크린샷 캡처 및 시각적 출력. 샌드박스 내의 헤드리스 브라우저는 Playwright(page.screenshot()) 또는 Puppeteer(page.screenshot())를 통해 기본적으로 스크린샷을 지원합니다. 스크린샷은 샌드박스 파일 시스템에 기록되며 에이전트가 읽을 수 있습니다. 이는 시각적 확인 워크플로, 감사 증거 수집, 그리고 다음 작업을 결정하기 전에 렌더링된 페이지 상태를 평가하는 컴퓨터 사용 스타일의 에이전트 루프를 지원합니다.
DOM 작업 로깅 및 재생. Playwright의 tracing API를 사용하면 모든 DOM 상호 작용(클릭, 탐색, 양식 입력, 네트워크 요청)의 추적을 기록하고 .zip 추적 파일로 저장할 수 있습니다. 샌드박스 내에서 세션 시작 시 추적을 활성화하고, 자동화를 실행하고, 종료 시 추적을 저장합니다.
context = browser.new_context()
context.tracing.start(screenshots=True, snapshots=True)
page = context.new_page()
# ... automation steps ...
context.tracing.stop(path="/tmp/trace.zip")
저장된 추적은 브라우저가 수행한 작업의 전체 감사 기록입니다. 에이전트는 샌드박스 파일 시스템에서 이를 복사하여 오프라인 검토, Playwright Trace Viewer에서 재생, 규정 준수 또는 QA 워크플로에 포함할 수 있습니다.
감사 추적. 감사 증거가 중요한 장기 워크플로(에이전트가 승인된 작업만 수행하고 데이터를 유출하거나 예상치 못한 버튼을 클릭하지 않았는지 확인)의 경우, 샌드박스 격리(폭발 반경 제한)와 Playwright 추적(단계별 기록)을 결합하면 격리 보장과 사람이 검토할 수 있는 작업 로그를 모두 얻을 수 있습니다. 이는 규제된 워크플로, 브라우저 에이전트의 QA, 그리고 각 에피소드에서 정확히 어떤 일이 발생했는지 검사해야 하는 RL 평가에 유용합니다.
격리가 보호하지 않는 것. 브라우저가 악성 JavaScript를 반환하는 사이트를 방문하고 에이전트가 임의 코드를 평가할 수 있는 권한이 있는 경우, 악성 코드는 컨테이너 내에서 에이전트 프로세스가 가진 권한으로 실행됩니다. 샌드박스는 폭발 반경을 제한하지만, 샌드박스 내에서 에이전트 자체 권한은 여전히 적용됩니다. 작업에 명시적으로 필요하지 않는 한 샌드박스 프로세스에 중요한 외부 리소스(데이터베이스, 프로덕션 API, 클라우드 자격 증명)에 대한 쓰기 액세스 권한을 부여하지 마십시오. 다른 컴퓨팅 환경과 마찬가지로 샌드박스 내에서 실행되는 프로세스에 최소 권한 원칙을 사용하세요.
"샌드박스가 브라우저 자동화를 완전히 안전하게 만든다"와 같은 표현은 피하세요. 올바른 표현은 다음과 같습니다. 샌드박스는 실행을 격리하고, 폭발 반경을 줄이며, 호스트 수준의 오염을 방지합니다. 이는 대부분의 에이전트 브라우저 자동화 사용 사례에 의미 있고 유용한 제어 세트입니다.
대신 전용 브라우저 자동화 도구를 사용해야 하는 경우
AI 샌드박스가 항상 정답은 아닙니다. 다음과 같은 경우 전용 브라우저 자동화 플랫폼을 사용하세요.
- 세션 풀링 및 웜 브라우저 인스턴스가 필요한 경우. Browserbase, Browserless 또는 Playwright Cloud와 같은 서비스는 사용 준비가 된 브라우저 세션 풀을 관리합니다. 처리량이 많은 스크래핑 또는 1초 미만의 브라우저 가용성이 중요한 워크플로우의 경우, 요청당 새 샌드박스를 시작하는 것보다 해당 인프라가 더 효율적입니다.
- 리지덴셜 프록시 지원이 기본으로 필요한 경우. 특정 IP 지역, ISP 다양성 또는 CAPTCHA 처리 서비스가 필요한 사용 사례의 경우, 내장 프록시 통합 기능이 있는 브라우저 자동화 플랫폼이 더 나은 출발점입니다.
- 워크플로우가 순수하게 브라우저 기반이며 코드 실행이 없는 경우. 에이전트가 브라우저만 제어하면 되고 임의 코드를 실행하거나, 종속성을 설치하거나, 파일 시스템과 상호 작용할 이유가 없는 경우, 전체 Linux 샌드박스 환경은 필요 이상입니다.
- 매우 오래 지속되는 상태 저장 세션이 필요한 경우. 며칠 또는 몇 주 동안 웜 상태를 유지해야 하는 세션은 브라우저 세션 지속성을 위해 특별히 구축된 서비스에서 더 잘 관리됩니다.
경계는 대략 다음과 같습니다. 에이전트가 더 광범위한 컴퓨팅 워크플로(리서치, 데이터 처리, 코드 생성, 테스트)의 일부로 브라우저가 필요한 경우 AI 샌드박스가 자연스럽게 적합합니다. 브라우저가 전체 제품이고 그 주변에 관리형 인프라가 필요한 경우 이를 위해 구축된 도구를 사용하세요.
종합: 의사 결정 기준
| 시나리오 | AI 샌드박스 | 전용 브라우저 도구 |
|---|---|---|
| 에이전트 웹 리서치(일회성 스크래핑) | 예 | 선택 사항 |
| LLM 기반 양식 작성, 단일 작업 | 예 | 선택 사항 |
| Browser-use / Skyvern 에이전트 평가 | 예(설계상) | 필요 없음 |
| 여러 날에 걸친 세션 | 아니요 | 예 |
| 대용량 병렬 스크래핑(100개 이상 동시) | 가능하지만 비용이 많이 듦 | 예 |
| 리지덴셜 프록시 / IP 회전 | 프록시 구성을 통해 직접 구현 | 내장 |
| 코드 실행 + 가끔 웹 가져오기 | 예 | 필요 없음 |
| 브라우저 흐름의 샌드박스 CI 테스트 | 예 | 선택 사항 |
Novita Sandbox 시작하기
SDK 설치:
pip install novita-sandbox
API 키 설정:
export NOVITA_API_KEY=your_api_key_here
간단한 브라우저 자동화 테스트 실행:
from novita_sandbox.code_interpreter import Sandbox
sandbox = Sandbox.create()
result = sandbox.commands.run(
"pip install playwright -q && playwright install chromium --with-deps -q && "
"python3 -c \""
"from playwright.sync_api import sync_playwright; "
"p = sync_playwright().start(); "
"b = p.chromium.launch(); "
"page = b.new_page(); "
"page.goto('https://example.com'); "
"print(page.title()); "
"b.close(); "
"p.stop()\""
)
print(result.stdout)
sandbox.kill()
Novita Sandbox 문서는 VPC 배포, 리소스 구성, 파일 시스템 액세스, browser-use 및 Skyvern 에이전트를 위한 통합 패턴을 다룹니다.
결론
AI 샌드박스는 작업이 에이전트 기반이고, 코드 중심적이며, 작업별 격리의 이점이 있는 경우 브라우저 자동화에 실용적으로 적합합니다. Novita Sandbox는 빠른 시작, 초당 과금, 필요한 모든 헤드리스 브라우저 스택을 실행할 수 있는 충분한 유연성을 갖춘 깨끗한 Linux 환경을 제공합니다. 주요 제약 사항은 일시적인 세션, 내장 프록시 계층 부재, 브라우저 설치 지연 시간이며, 이는 모두 설계 시 고려하면 관리할 수 있습니다. 브라우저 세션을 확장 가능한 영구 인프라로 관리해야 하는 워크플로우의 경우 전용 브라우저 자동화 플랫폼이 더 적합합니다. 대부분의 프로덕션 에이전트 아키텍처는 에이전트의 일반 컴퓨팅을 위한 샌드박스와 이를 필요로 하는 워크플로우 부분을 위한 브라우저 서비스를 모두 사용합니다.
FAQ
샌드박스에서 쿠키와 자격 증명은 어떻게 격리되나요?
각 샌드박스 인스턴스는 깨끗하고 빈 브라우저 프로필을 가져옵니다. 다른 샌드박스 실행이나 호스트 환경에서 쿠키, 저장된 비밀번호, 세션 토큰 또는 localStorage 항목이 전달되지 않습니다. 한 작업이 서비스에 인증하고 세션 쿠키를 저장하면 해당 쿠키는 해당 샌드박스 인스턴스 내에만 존재하며 샌드박스가 종료되면 폐기됩니다. 별도의 샌드박스 인스턴스에서 동시에 실행되는 작업은 공유 브라우저 상태가 없습니다. 이것이 샌드박스 브라우저 자동화를 다중 사용자 또는 다중 작업 인프라에서 안전하게 만드는 핵심 격리 속성입니다.
Novita Sandbox 내에서 Playwright 또는 Puppeteer를 실행할 수 있나요?
둘 다 샌드박스의 Linux 환경 내에서 실행됩니다. pip install playwright && playwright install chromium --with-deps(또는 Node.js 등가물)로 패키지와 브라우저 바이너리를 설치한 다음 스크립트를 정상적으로 실행하세요. 설치 시 첫 번째 실행에 30~90초가 추가되므로 시작 지연 시간이 중요하다면 종속성을 캐시하세요.
샌드박스는 브라우저 자동화 작업을 위한 인터넷 액세스 권한이 있나요?
기본적으로 페이지 탐색 및 패키지 설치를 위한 아웃바운드 인터넷 액세스가 가능합니다. AWS 또는 GCP에서 자체 VPC 내에 Novita Sandbox를 배포하는 경우 이그레스 규칙을 제어하고 필요에 따라 트래픽을 제한하거나 라우팅할 수 있습니다.
여러 에이전트 턴에 걸쳐 브라우저 세션을 로그인 상태로 유지하려면 어떻게 해야 하나요?
턴 사이에 샌드박스 인스턴스를 활성 상태로 유지하거나(세션은 최대 24시간 실행 가능), Playwright의 storage_state를 사용하여 각 턴이 끝날 때 쿠키와 localStorage를 내보내고 다음 턴이 시작될 때 가져올 수 있습니다.
AI 에이전트가 샌드박스 내에서 브라우저를 제어하도록 하는 것이 안전한가요?
샌드박스는 의미 있는 격리를 제공합니다. 브라우저 프로세스, 파일 시스템 쓰기, 다운로드는 컨테이너 내에 머물며 호스트에 영향을 줄 수 없습니다. 최소 권한 원칙은 여전히 적용됩니다. 작업에 필요한 경우가 아니면 샌드박스 프로세스에 프로덕션 데이터베이스, 클라우드 자격 증명 또는 외부 API에 대한 쓰기 액세스 권한을 부여하지 마세요.
AI 샌드박스는 Browserbase 또는 Browserless와 같은 전용 브라우저 자동화 서비스와 어떻게 비교되나요?
샌드박스는 브라우저 설치 및 자동화 로직을 소유할 수 있는 완전한 Linux 환경을 제공합니다. 유연하지만 설정을 직접 관리해야 하고 세션 풀링이 없습니다. 전용 브라우저 서비스는 내장 프록시 지원 및 세션 지속성이 있는 웜 관리형 브라우저 인스턴스를 제공합니다. 브라우저 자동화가 더 광범위한 에이전트 워크플로우의 일부인 경우 샌드박스를 사용하고, 브라우저 인프라가 핵심 제품 요구 사항인 경우 전용 서비스를 사용하세요.
Novita Sandbox에서 브라우저 자동화를 실행하는 비용은 얼마인가요?
Novita Sandbox는 실제 vCPU 및 메모리 사용량을 기준으로 초당 요금을 청구합니다. 헤드리스 Chromium 세션은 일반적으로 최소 1-2GB의 메모리가 필요합니다. 정확한 현재 요금은 Novita Sandbox 가격 페이지(2026-06-28 확인)를 참조하세요.
