Databricks 샌드박스를 사용하면 Databricks 워크스페이스에서 에이전트의 셸 명령어를 실행하고 파일을 다룰 수 있습니다. 샌드박스는 애플리케이션이 관리합니다. 샌드박스의 실행기인 codex exec-server는 세션의 environment.id와 environment.remote_url을 사용해 OpenAI로 아웃바운드 연결을 엽니다.
Databricks 샌드박스는 현재 베타 버전입니다. 워크스페이스가 지원 리전에 있는지 확인한 다음, 워크스페이스의 Previews 페이지에서 Databricks 샌드박스를 활성화하세요.
시작하기 전에
- 워크스페이스에 사용할 Databricks 프로필로 인증하세요. 아래 명령어에서
my-workspace를 해당 프로필 이름으로 바꾸세요. OPENAI_API_KEY에는 애플리케이션 키를 설정하고,OPENAI_EXECUTOR_API_KEY에는 같은 조직, 프로젝트 및 계정(사용자 계정 또는 서비스 계정)에서 발급한 별도의 환경 키를 설정하세요. 샌드박스에는 환경 키만CODEX_API_KEY로 전달됩니다.- OpenAI 조직에서 IP 허용 목록을 적용하는 경우, 샌드박스의 아웃바운드 IP가 바뀔 때마다 목록을 업데이트하세요. 워크스페이스에서 서버리스 컴퓨팅 방화벽 프리뷰를 사용 중이라면 리전별 IP 범위에 대한 Databricks 지침을 따르세요.
예제 실행
OpenAI Cookbook 리포지터리의 루트 디렉터리에서 uv와 Python 3.11 이상을 사용해 예제를 실행하세요. 예제는 정리 단계에서 샌드박스를 삭제하므로 현재 사용하지 않는 샌드박스 ID를 선택하세요.
uv run examples/agents_api/sandboxes/databricks/application_managed/main.py \
--profile my-workspace --sandbox-id "openai-agent-$(date +%s)"
예제는 자체 호스팅 세션을 만들고 샌드박스에서 실행기를 시작한 다음, 에이전트에게 파일에 인사말을 쓰도록 요청합니다. 파일을 다시 읽어 쓰기 작업이 성공했는지 확인하고, 성공하면 Verified the agent's file write.를 출력합니다. 그런 다음 실행기를 중지하고 세션과 샌드박스를 삭제합니다.