For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
Navegación principal

Configuración de agentes

Define un agente, reutiliza su configuración y personaliza cada sesión.

La configuración de un agente define cómo se comporta. Puedes proporcionarla al crear una sesión o guardarla para reutilizarla. La sesión contiene la conversación y el trabajo, mientras que el agente guardado contiene ajustes reutilizables.

Define el comportamiento del agente

Empieza con el modelo y las instrucciones; luego agrega las herramientas y los controles que necesite tu tarea:

  • Modelo: qué modelo realiza el trabajo.
  • Instrucciones: qué debe hacer el agente y cómo debe comportarse.
  • Herramientas: qué acciones puede realizar el agente, como buscar en la web o llamar a tus funciones.
  • Razonamiento y salida: cuánto razonamiento utiliza el modelo y el formato y nivel de detalle de sus respuestas.

Pasa estos ajustes en agent al crear una sesión. Este ejemplo proporciona un modelo, instrucciones y el primer mensaje del usuario:

Configura un agente para una sesión
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())

Consulta la Referencia de la API de agentes para conocer los campos de configuración y los valores aceptados. Consulta Funciones y Conexiones MCP para configurar las herramientas, y Multiagente para conocer las opciones de delegación.

Reutiliza un agente en distintas sesiones

Guarda un agente para reutilizar su configuración en distintas sesiones. Créalo una vez y luego pasa su ID como agent_id al iniciar cada sesión:

Reutiliza un 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 sesión tiene su propia conversación y su propio trabajo. Consulta la Referencia de la API de agentes para listar, recuperar, actualizar o eliminar agentes guardados. Las credenciales permanecen en bóvedas, separadas de la configuración guardada.

Actualizar un agente guardado

Las actualizaciones de un agente guardado solo se aplican a las sesiones nuevas. Cada sesión copia la configuración guardada al crearla y la conserva para los turnos posteriores. Para modificar una sesión existente, actualiza su configuración.

Al actualizar un agente guardado:

  • Los campos omitidos conservan sus valores guardados. Si cambias solo model, se conservan reasoning, service_tier y text.
  • Los objetos proporcionados reemplazan todo el campo. Si proporcionas reasoning solo con effort, también se borra el valor guardado de summary.
  • null restablece los campos que lo aceptan. Por ejemplo, reasoning: null restaura el esfuerzo predeterminado del modelo.

En la misma solicitud, cambia o restablece cualquier ajuste que el nuevo modelo no admita.

Sobrescribe los ajustes para una sesión

Incluye tanto agent_id como agent al crear una sesión para personalizar la configuración de un agente guardado. Al crearse, la sesión copia del agente guardado los ajustes omitidos, incluido el modelo.

Reemplaza el valor de ejemplo agent_123 por el ID del agente guardado antes de ejecutar este ejemplo:

Sobrescribe la configuración de un agente para una sesión
# 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())

Los ajustes sobrescritos se aplican solo a esa sesión. No modifican el agente guardado ni otras sesiones. Los objetos y arreglos proporcionados reemplazan el campo completo en lugar de combinarse con el valor guardado. Por ejemplo, proporcionar tools reemplaza la lista de herramientas guardada.

Consulta la referencia de creación de sesiones para conocer los campos de la solicitud.

Actualizar la configuración de una sesión existente

Envía POST /v1/agents/sessions/{session_id} con un objeto agent para cambiar model, reasoning.effort o service_tier en una sesión. Estos ajustes están disponibles en los contratos de las versiones beta y GA de la API. Puedes actualizar metadata en la misma solicitud.

Los cambios se aplican a los turnos nuevos iniciados por mensajes enviados después de que se complete la actualización. Los mensajes que ya están en curso pueden usar la configuración anterior. Un turno activo conserva su configuración, incluso cuando envías un mensaje para reorientarlo. La sesión conserva su historial de conversación. El modelo seleccionado debe admitir la configuración resultante; de lo contrario, la actualización falla.

  • Los objetos agent y reasoning combinan los campos proporcionados con la configuración actual. Los campos omitidos permanecen sin cambios, incluido el resumen del razonamiento. Si cambias solo model, se conservan el esfuerzo de razonamiento y el nivel de servicio de la sesión.
  • reasoning.effort: null restablece el esfuerzo al valor predeterminado del modelo seleccionado.
  • service_tier: null restaura la selección automática del nivel de servicio.
  • Siempre debe haber un modelo configurado, por lo que no puedes proporcionar model: null. Los objetos agent y reasoning tampoco aceptan null.
  • metadata reemplaza el mapa completo. Omítelo para conservar los metadatos o pasa null o {} para borrarlos.

Por ejemplo, esta solicitud cambia el esfuerzo de razonamiento y permite que la API seleccione automáticamente el nivel de servicio:

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

Actualizar una sesión no modifica el agente guardado ni otras sesiones. Las actualizaciones posteriores del agente guardado no modifican la sesión.

No puedes actualizar reasoning.summary, text, tools, instructions ni multi_agent a través de este punto de acceso. Crea una sesión nueva para cambiar esos ajustes.

Configuración del entorno

Configura environment junto con agent al crear una sesión. Este ajuste determina dónde ejecuta comandos el agente y dónde trabaja con archivos.

Elige none, openai_hosted o self_hosted. En Arquitectura se explica cuándo usar cada opción y quién administra el entorno.

Para un entorno alojado en OpenAI, configura los paquetes, los archivos iniciales y el acceso a la red que necesite la tarea. Puedes reutilizar una plantilla de entorno en distintas sesiones. Para un entorno autoalojado, prepara tus recursos de cómputo y conecta un ejecutor.

Consulta la referencia de creación de sesiones para conocer los campos del entorno y Complementos para obtener información sobre habilidades, complementos y plantillas. Consulta Artefactos de la sesión para conocer las opciones para los archivos que quieras conservar después de la ejecución.