Introdução ao Databricks Sandbox
Beta
Este recurso está em Beta. Para habilitar essa prévia de recurso no workspace, opte pela configuração Databricks Sandbox na página Prévias do workspace. Consulte Gerenciar prévias do Databricks.
O Databricks Sandbox executa o código em um ambiente isolado e serverless, para que os agentes possam executar o código que escrevem com segurança. Você pode usar um sandbox de um agente, de um código Python ou de um terminal. Cada um dos caminhos a seguir funciona de forma independente, portanto, escolha aquele que corresponde à forma como você trabalha:
-
Forneça a um agente existente uma ferramenta de sandbox para que o agente execute o código que ele escreve em um sandbox.
-
Use o SDK do Python para criar sandboxes e fazer execução de comandos a partir de código Python.
-
Use a CLI do Databricks para criar uma sandbox e conectar-se a ela via SSH.
-
Execução do Omnigent em uma sandbox para execução de sessões de agente em um host de cloud gerenciado.
Para obter uma visão geral do Databricks Sandbox, incluindo tamanho do compute, armazenamento e limitações, consulte Databricks Sandbox.
Requisitos
- O seu workspace deve estar numa região compatível. Consulte Recursos com disponibilidade regional limitada.
- Para usar o SDK, Python 3.10 e acima.
- Para usar a CLI do Databricks, instale a CLI do Databricks e autentique-a com
databricks auth login.
Dar a um agente existente uma ferramenta de sandbox para executar código com segurança
Use este caminho ao criar seu agente com o Agent Bricks CLI e quiser que o agente execute o código que ele escreve, como análise de dados em Python, sem que esse código seja executado no próprio ambiente do agente.
Você não precisa criar um sandbox primeiro. A ferramenta de sandbox conecta seu agente ao serviço system.ai.sandbox gerenciado pelo Databricks, que execução o código do agente em um sandbox para você. Você configura apenas quais dados o sandbox pode acessar e se ele pode gravar.
Para adicionar a ferramenta, execução agentbricks tools add sandbox com um ou mais escopos que limitam quais dados o sandbox pode acessar:
# Read one table.
agentbricks tools add sandbox --scope table:samples.nyctaxi.trips
# Read a volume and a workspace folder.
agentbricks tools add sandbox --scope volume:main.default.reports --scope workspace:/Workspace/Shared/data
# Allow writes to a volume.
agentbricks tools add sandbox --scope volume:main.default.output --permission read_write
O comando registra a ferramenta no agent.toml do projeto, e o agente chama o sandbox em tempo de execução através do serviço MCP system.ai.sandbox. Por default, o sandbox é executado com as permissões do usuário que enviou a solicitação. Para usar o service principal do aplicativo em vez disso, adicione --auth app. Ao implantar com agentbricks deploy, o Agent Bricks concede ao service principal do aplicativo acesso aos recursos com escopo para ferramentas que usam --auth app.
Usar o SDK do Python para criar um sandbox
Use este caminho quando quiser criar sandboxes e execução de comandos nelas a partir do seu próprio código Python, como um aplicativo ou um agente personalizado que gerencia seus próprios sandboxes. O SDK do Databricks para Python é a maneira recomendada de trabalhar com sandboxes a partir do código.
-
Instalar ou atualizar o SDK:
Bashpip install --upgrade databricks-sdk -
Criar uma sandbox:
Pythonfrom databricks.sdk import WorkspaceClient
from databricks.sdk.service.sandbox import Sandbox
w = WorkspaceClient()
created = w.sandbox.create_sandbox(
sandbox=Sandbox(),
sandbox_id="my-sandbox",
)
print(created.name) # "sandboxes/my-sandbox" -
Executar um comando na sandbox. O comando é execução diretamente, sem um shell, portanto para execução um comando shell, chame
/bin/bash -c:Pythonfrom google.protobuf.duration_pb2 import Duration
resp = w.sandbox.execute_command_sync(
"sandboxes/my-sandbox",
"/bin/bash",
args=["-c", "echo hello world && whoami"],
execution_timeout=Duration(seconds=30),
)
print(resp.exit_code) # 0
print(resp.stdout) # "hello world\nsandbox-agent\n" -
Exclua o sandbox quando terminar. A exclusão de um sandbox remove seu diretório pessoal e interrompe a cobrança por ele:
Pythonw.sandbox.delete_sandbox("sandboxes/my-sandbox")
Para obter, listar, atualizar, parar e reiniciar sandboxes, consulte Criar e gerenciar sandboxes com o SDK.
Usar a CLI do Databricks para criar uma sandbox
Use este caminho quando você quiser trabalhar em um sandbox interativamente a partir de um terminal. Conecte-se a um sandbox via SSH para executar tarefas mais longas do agente sem manter sua máquina local ativa. Por exemplo, você pode conduzir um agente de codificação a partir da CLI do Databricks ou conectar um IDE de desktop ou um suporte de agente, como Cursor, Claude ou Codex.
Para criar um sandbox e conectar-se a ele, execute:
databricks sandbox create # create your sandbox
databricks sandbox register # optional: register SSH keys
databricks sandbox ssh # SSH to your default sandbox
Ao se conectar, a CLI do Databricks na sandbox é instalada e autenticada no workspace onde a sandbox é executada. Se o seu workspace tiver o Unity Gateway configurado, o Databricks também configurará harnesses de codificação comuns, como Claude e Codex, para usá-lo na primeira vez que você se conectar. Consulte Criar um serviço de modelo personalizado. Para usar o Git da sandbox, configure as credenciais do Git. Consulte Conectar seu provedor Git ao Databricks.
Para todos os comandos, execução databricks sandbox -h ou consulte sandbox grupo de comandos.
Executar o Omnigent em uma sandbox
Use este caminho quando você trabalhar no Omnigent e quiser que suas sessões de agente sejam executadas em um host de cloud gerenciado em vez de no seu laptop. O Omnigent gerenciado pode usar uma sandbox como o host onde as sessões do seu agente estão em execução. A sandbox continua em execução quando seu laptop está desligado e os modelos são roteados pelo Unity Gateway sem key de API.
- Em seu navegador da web, vá para
<workspace-url>/omnigent. - Selecione Nova sessão .
- Abra o seletor de host e selecione Sandbox .
- Descreva uma tarefa no compositor e envie-a para começar a sessão.
Para saber mais sobre hosts e runners, consulte o início rápido do Omnigent.