Pular para o conteúdo principal

Permitir que os agentes executem código

A Databricks fornece system.ai.python_exec, uma função integrada do Unity Catalog que permite que agentes de AI executem dinamicamente código Python escrito pelo agente, fornecido por um usuário ou recuperado de uma base de código. Está disponível por default e pode ser usado diretamente em uma query SQL:

SQL
SELECT python_exec("""
import random
numbers = [random.random() for _ in range(10)]
print(numbers)
""")

Para saber mais sobre as ferramentas do agente, consulte Conecte Agentes a Ferramentas.

Adicione o interpretador de código ao seu agente

Para adicionar python_exec ao seu agente, conecte-se ao servidor MCP gerenciado para o esquema system.ai do Unity Catalog. O interpretador de código está disponível como uma ferramenta MCP pré-configurada em https://<workspace-hostname>/api/2.0/mcp/functions/system/ai/python_exec.

Python
from agents import Agent, Runner
from databricks.sdk import WorkspaceClient
from databricks_openai.agents import McpServer

# WorkspaceClient picks up credentials from the environment (Databricks Apps, notebook, CLI)
workspace_client = WorkspaceClient()
host = workspace_client.config.host

# The context manager manages the MCP connection lifecycle and ensures cleanup on exit.
# from_uc_function constructs the endpoint URL from UC identifiers and wires in auth
# from workspace_client, avoiding hardcoded URLs and manual token handling.
async with McpServer.from_uc_function(
catalog="system",
schema="ai",
function_name="python_exec",
workspace_client=workspace_client,
name="code-interpreter",
) as code_interpreter:
agent = Agent(
name="Coding agent",
instructions="You are a helpful coding assistant. Use the python_exec tool to run code.",
model="databricks-claude-sonnet-4-5",
mcp_servers=[code_interpreter],
)
result = await Runner.run(agent, "Calculate the first 10 Fibonacci numbers")
print(result.final_output)

Conceda ao aplicativo acesso à função em databricks.yml:

YAML
resources:
apps:
my_agent_app:
resources:
- name: 'python_exec'
uc_securable:
securable_full_name: 'system.ai.python_exec'
securable_type: 'FUNCTION'
permission: 'EXECUTE'

Outros recursos