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

Configuração de Agentes

Defina um agente, reutilize sua configuração e personalize cada sessão.

A configuração de um agente define como ele se comporta. Você pode fornecê-la ao criar uma sessão ou salvá-la para reutilização. A sessão mantém a conversa e o trabalho, enquanto o agente salvo mantém as configurações reutilizáveis.

Defina o comportamento do agente

Comece pelo modelo e pelas instruções e, em seguida, adicione as ferramentas e os controles necessários para sua tarefa:

  • Modelo: Qual modelo realiza o trabalho.
  • Instruções: O que o agente deve fazer e como deve se comportar.
  • Ferramentas: Quais ações o agente pode realizar, como pesquisar na Web ou chamar suas funções.
  • Raciocínio e saída: Quanto raciocínio o modelo usa e qual é o formato e o nível de detalhe de suas respostas.

Passe essas configurações em agent ao criar uma sessão. Este exemplo fornece um modelo, instruções e a primeira mensagem do usuário:

Configure um agente para uma sessão
from openai import OpenAI

client = OpenAI()

session = client.beta.agents.sessions.create(
    agent={
        "model": "gpt-6-astra",
        "instructions": "Answer the user clearly and concisely.",
    },
    environment={"type": "none"},
    input=[
        {
            "role": "user",
            "content": [{"type": "input_text", "text": "What can you help with?"}],
        }
    ],
)
print(session.to_json())

Consulte a referência da API de Agentes para conhecer os campos de configuração e os valores aceitos. Consulte Funções e Conexões MCP para configurar ferramentas, e Múltiplos agentes para saber sobre delegação.

Reutilize um agente em várias sessões

Salve um agente para reutilizar sua configuração em várias sessões. Crie-o uma vez e passe seu ID como agent_id ao iniciar cada sessão:

Reutilize um agente
from openai import OpenAI

client = OpenAI()
agent = client.beta.agents.create(
    model="gpt-6-astra",
    instructions="Answer technical questions accurately.",
    reasoning={"summary": "auto"},
    timeout=360,
)
session = client.beta.agents.sessions.create(
    agent_id=agent.id,
    environment={"type": "none"},
    input="Explain how an agent connects to an MCP server.",
)
print(session.to_json())

Cada sessão tem sua própria conversa e seu próprio trabalho. Consulte a referência da API de Agentes para listar, recuperar, atualizar ou excluir agentes salvos. As credenciais ficam em cofres, separadas da configuração salva.

Atualize um agente salvo

As atualizações de um agente salvo se aplicam apenas a novas sessões. Cada sessão copia a configuração salva no momento da criação e mantém essas configurações nos turnos seguintes. Para alterar uma sessão existente, atualize suas configurações.

Ao atualizar um agente salvo:

  • Os campos omitidos mantêm os valores salvos. Alterar apenas model preserva reasoning, service_tier e text.
  • Os objetos fornecidos substituem o campo inteiro. Fornecer reasoning apenas com effort também limpa o valor salvo de summary.
  • null redefine os campos que aceitam esse valor. Por exemplo, reasoning: null restaura o esforço padrão do modelo.

Na mesma requisição, altere ou redefina todas as configurações que o novo modelo não suporta.

Sobrescreva configurações para uma sessão

Inclua tanto agent_id quanto agent ao criar uma sessão para personalizar a configuração de um agente salvo. No momento da criação, a sessão copia do agente salvo as configurações omitidas, incluindo o modelo.

Substitua o valor ilustrativo agent_123 pelo ID do agente salvo antes de executar este exemplo:

Sobrescreva as configurações de um agente para uma sessão
# Replace the illustrative IDs and URLs below with your own resource values.
from openai import OpenAI

client = OpenAI()

agent_id = "agent_123"
session = client.beta.agents.sessions.create(
    agent_id=agent_id,
    agent={"instructions": "Answer this question in one concise paragraph."},
    environment={"type": "none"},
    input=[
        {
            "role": "user",
            "content": [
                {
                    "type": "input_text",
                    "text": "Explain how an agent connects to an MCP server.",
                }
            ],
        }
    ],
)
print(session.to_json())

As substituições se aplicam apenas àquela sessão. Elas não alteram o agente salvo nem outras sessões. Os objetos e arrays fornecidos substituem o campo inteiro, em vez de serem mesclados com o valor salvo. Por exemplo, fornecer tools substitui a lista de ferramentas salva.

Consulte a referência de criação de sessões para conhecer os campos da requisição.

Atualize as configurações de uma sessão existente

Envie POST /v1/agents/sessions/{session_id} com um objeto agent para alterar model, reasoning.effort ou service_tier em uma sessão. Essas configurações estão disponíveis nos contratos das versões beta e GA da API. Você pode atualizar metadata na mesma requisição.

As alterações se aplicam a novos turnos iniciados por mensagens enviadas após a conclusão da atualização. Mensagens já em trânsito podem usar as configurações anteriores. Um turno ativo mantém suas configurações, inclusive quando você envia uma mensagem de direcionamento. A sessão mantém seu histórico de conversa. O modelo selecionado deve suportar as configurações resultantes; caso contrário, a atualização falha.

  • Os objetos agent e reasoning mesclam os campos fornecidos às configurações atuais. Os campos omitidos permanecem inalterados, incluindo o resumo de raciocínio. Alterar apenas model preserva o esforço de raciocínio e o nível de serviço da sessão.
  • reasoning.effort: null redefine o esforço para o padrão do modelo selecionado.
  • service_tier: null restaura a seleção automática do nível de serviço.
  • Um modelo deve permanecer definido, portanto você não pode fornecer model: null. Os objetos agent e reasoning também rejeitam null.
  • metadata substitui o mapa inteiro. Omita esse campo para preservar os metadados ou passe null ou {} para limpá-los.

Por exemplo, esta requisição altera o esforço de raciocínio e permite que a API selecione o nível de serviço automaticamente:

{
  "agent": {
    "reasoning": { "effort": "low" },
    "service_tier": null
  }
}

Atualizar uma sessão não altera o agente salvo nem outras sessões. Atualizações posteriores do agente salvo não alteram a sessão.

Você não pode atualizar reasoning.summary, text, tools, instructions ou multi_agent por meio deste endpoint. Crie uma nova sessão para alterar essas configurações.

Configurações do ambiente

Defina environment junto com agent ao criar uma sessão. Essa configuração determina onde o agente executa comandos e trabalha com arquivos.

Escolha none, openai_hosted ou self_hosted. A página Arquitetura explica quando usar cada opção e quem gerencia o ambiente.

Para um ambiente hospedado pela OpenAI, configure os pacotes, os arquivos iniciais e o acesso à rede necessários para a tarefa. Você pode reutilizar um template de ambiente em várias sessões. Para um ambiente em infraestrutura própria, prepare seus recursos computacionais e conecte um executor.

Consulte a referência de criação de sessões para conhecer os campos do ambiente e Plug-ins para saber sobre habilidades, plug-ins e templates. Consulte Artefatos da sessão para saber sobre os arquivos que você deseja manter após a execução.