Comparación

OpenAI Decisions API vs Function Calling

Function calling deja que un modelo decida invocar una herramienta y construya sus argumentos. El patrón de decisión detrás de la OpenAI Decisions API — y el endpoint decisions-1 de este sitio — solo responde cuál de tus opciones finitas aplica, con una probabilidad para cada una. Si el trabajo del modelo es elegir una rama, una de estas opciones tiene mucha menos fontanería.

Actualizado

La diferencia real

Con function calling declaras herramientas, envías la conversación, recibes un payload tool_calls, validas sus argumentos, ejecutas la función y devuelves el resultado. Es un bucle diseñado para hacer cosas.

Una llamada de decisión es un solo viaje: estado dentro, respuesta fuera. Sin registro de herramientas, sin esquema de argumentos que validar, sin segunda llamada para obtener una etiqueta usable. La respuesta ya contiene el ganador más una probabilidad por opción.

La vía function calling

Enrutar un ticket con function calling significa envolver la respuesta en una definición de herramienta y parsear tool_calls. Funciona — y es la herramienta correcta cuando el modelo realmente necesita producir argumentos para una acción.

Function calling

// Function calling: the model decides to call a tool and
// builds its arguments. You parse tool_calls and execute it.
{
  "tools": [{
    "type": "function",
    "function": {
      "name": "route_ticket",
      "parameters": {
        "type": "object",
        "properties": {
          "team": { "enum": ["payments", "frontend", "account"] }
        }
      }
    }
  }]
}

La vía de decisión

La misma tarea de enrutamiento como pregunta choice: las opciones se nombran en criteria, y la respuesta vuelve con la etiqueta ganadora, probabilidades por opción y un valor de confianza — lista para poner umbrales.

Petición de decisión

// Decision endpoint: pick among finite answers and get a
// probability per option — no tool plumbing, no arg parsing.
{
  "model": "decisions-1",
  "state": "The page renders blank in Safari.",
  "questions": {
    "team": {
      "type": "choice",
      "instructions": "Which team should own this ticket?",
      "criteria": {
        "payments": "Checkout or billing.",
        "frontend": "Rendering or browser behavior.",
        "account": "Login or permissions."
      }
    }
  }
}

Cuándo usar cuál

Usa function calling cuando el modelo debe producir argumentos estructurados para una acción — reserva esto, consulta aquello, rellena estos campos. La salida alimenta código que se ejecuta.

Usa un endpoint de decisión cuando la salida es la entrada de la acción — qué cola, qué rama, pasar o retener. Obtienes la distribución, no solo la elección, así que los casos límite pueden ir a un humano en vez de adivinar.

Preguntas frecuentes

¿Una herramienta con parámetro enum no es lo mismo?

En espíritu sí — pero aún debes construir y parsear la capa tool_calls, y la elección del modelo no lleva probabilidades. El endpoint de decisión devuelve la distribución, que es lo que hace posible el umbral.

¿Puedo ejecutar una acción después de una decisión?

Sí — mapea la etiqueta ganadora a tu propia función localmente. El endpoint de decisión elige; tu código ejecuta. Eso mantiene mínima la superficie del modelo.

¿La Decisions API de OpenAI reemplaza a function calling?

Trabajos diferentes. Function calling produce argumentos para herramientas que ejecutas; una decisions API elige entre respuestas finitas con probabilidades. El anuncio del 2026-09-29 describe lo segundo.

Olvida la fontanería de herramientas

Una decisión de prueba gratis para visitantes nuevos — haz una pregunta choice y recibe toda la distribución.