For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegação principal

Início rápido da API de Agentes

Crie um agente que escreve e executa um script em um sandbox hospedado pela OpenAI.

Crie um assistente de programação que escreve tree.py, executa esse arquivo e exibe uma árvore de diretórios. A OpenAI gerencia o agente, sua conversa e o sandbox onde ele trabalha.

Pré-requisitos

Crie uma chave de API de aplicativo no seu projeto na plataforma da OpenAI. Conceda as permissões api.agents.read e api.agents.write para operações de sessão, além de api.responses.write para inferência do modelo, e então exporte a chave:

export OPENAI_API_KEY="your-api-key"

Mantenha essa chave fora do sandbox do agente. Consulte Sandboxes hospedados pela OpenAI para saber mais sobre a configuração e os limites do sandbox.

As requisições exigem o cabeçalho OpenAI-Beta: agents=v1. Os SDKs da OpenAI o adicionam automaticamente; inclua-o explicitamente ao usar cURL.

1. Execute uma tarefa

Escolha uma linguagem, instale o SDK da OpenAI e execute o exemplo. Os exemplos dos SDKs usam o namespace beta.agents. A requisição cria uma sessão, envia uma tarefa e transmite o progresso em tempo real.

Instale ou atualize o SDK para Python:

pip install --upgrade openai

Salve o exemplo como quickstart.py:

Crie e execute tree.py
from openai import OpenAI

with OpenAI() as client:
    with client.beta.agents.sessions.create(
        agent={
            "model": "gpt-6-astra",
            "instructions": "Write clean code, run it, and report the actual output.",
        },
        environment={"type": "openai_hosted"},
        input="Create tree.py, a Python script that prints a readable tree of the files in the current directory. Run it and show me the output.",
        stream=True,
    ) as events:
        for event in events:
            print(event.to_json(indent=None), flush=True)

Execute no seu terminal:

python quickstart.py

Não precisa de um sandbox? Defina environment.type como none para agentes que respondem a perguntas ou chamam ferramentas externas sem executar comandos nem trabalhar com arquivos locais. Saiba mais.

2. Acompanhe o progresso

O terminal exibe os eventos transmitidos em tempo real. Os exemplos dos SDKs imprimem JSON; o cURL exibe o fluxo bruto de eventos. Em uma execução bem-sucedida, o agente cria tree.py, executa esse arquivo e apresenta uma árvore de diretórios que o contém. Os demais arquivos e a saída dependem do sandbox.

Procure por agent.session.turn.completed e confira o resultado da execução informado pelo agente. Um turno concluído não garante que todas as ferramentas tenham sido executadas com sucesso. Eventos que terminam em turn.failed, turn.cancelled ou session.failed indicam falha ou cancelamento; agent.session.idle, por si só, não significa sucesso. Se o fluxo for desconectado antes do fim, recupere a sessão e seus itens salvos antes de tentar novamente.

3. Continue a sessão

Salve o session_id presente nos eventos. Use-o para enviar uma mensagem de acompanhamento, como “Add a maximum-depth option to tree.py, run it, and show me the output.” Abra o fluxo de eventos antes de enviar a nova mensagem para não perder os eventos iniciais.

4. Faça a limpeza

Mantenha a sessão para outras tarefas ou exclua-a quando terminar. Antes, salve os arquivos de que precisar.

No exemplo, substitua o valor ilustrativo sess_123 pelo ID da sessão que você salvou.

Excluir a sessão
# Replace the illustrative IDs and URLs below with your own resource values.

from openai import OpenAI


def delete_session(client: OpenAI, session_id: str):
    return client.beta.agents.sessions.delete(session_id)


if __name__ == "__main__":
    result = delete_session(OpenAI(), "sess_123")
    print(result.to_json())

Próximos passos