Open AI: Solicitud incorrecta - por favor verifica tus parámetros No se encontró salida de herramienta para la llamada de función

Oye, tengo un problema de “Bad request - please check your parameters” con OpenAI. Todo funcionaba bien hasta ayer cuando comencé a cambiar entre modelos. Ahora, sin importar qué modelo use, obtengo el mismo error.


Versión de n8n:

2.21.7 (Cloud)

Actualización: Conecté OpenRouter Chat y utilicé Gemini, minimax, deepseek y glm, y el agente funcionó. Intenté usar modelos de OpenAI a través de OpenRouter, pero el mismo problema persiste. Sin embargo, los Sub-agents funcionan bien con OpenAI Chat.

¡Bienvenido @Ali4 a nuestra comunidad! Soy Jay y soy un creador verificado de n8n.

La captura de pantalla muestra que “Use Responses API” está activado en el nodo OpenAI Chat Model - ese es el culpable. La Responses API utiliza un formato diferente de llamada de herramientas y no es completamente compatible con el nodo AI Agent de n8n cuando hay herramientas adjuntas. Desactiva ese interruptor y vuelve a la API estándar de Chat Completions - el error “No tool output found for function call” debería desaparecer inmediatamente. El interruptor de Responses API es principalmente útil si necesitas streaming o características específicas solo de Responses API, pero para flujos de trabajo de agentes con herramientas causa este tipo de fallos.

Recibí este error: Bad request - please check your parameters
A un mensaje del asistente con ‘tool_calls’ debe seguirle mensajes de herramientas que respondan a cada ‘tool_call_id’. Los siguientes tool_call_ids no tuvieron mensajes de respuesta: call_CPQTMJQP1aC9K7szYjBk97kl

hola @Ali4

El error viene de la regla de tool calling de OpenAI, cuando el assistant genera tool_calls, cada id necesita recibir una respuesta de herramienta correspondiente. En n8n, esto apunta a alguna herramienta/sub-agent conectada al AI Agent (como Call Mortgage Agent o Call Expense Agent) que no está retornando un output válido en alguna ruta. Yo probaría desconectar las herramientas una por una y asegurar que cada sub-agent siempre retorne un output válido, inclusive en error o cuando no haya resultado.

Function calling | OpenAI API

1 me gusta

@Ali4 basándote en @tamy.santos — el error “tool_call_ids did not have response messages” después de desactivar Responses API significa que al menos uno de tus subagentes conectados está devolviendo vacío/indefinido cuando el agente padre lo llama. El protocolo de herramientas de OpenAI REQUIERE que cada tool_call_id reciba una respuesta de herramienta, incluso en rutas sin resultado. La solución es hacer que cada subagente siempre emita una salida de string, nunca un array vacío.

agrega este nodo Code como el último nodo en cada subagente (antes de que regrese al agente padre):

{
  "nodes": [
    {
      "parameters": {
        "jsCode": "const items = $input.all();\nif (items.length === 0) {\n  return [{ json: { output: 'No result available for this request.' } }];\n}\n// guarantee the output field exists as a non-empty string\nreturn items.map(item =\
  json: {\n    output: typeof item.json.output === 'string' && item.json.output.length > 0\n      ? item.json.output\n      : JSON.stringify(item.json) || 'No result.'\n  }\n}));"
      },
      "name": "Guarantee Tool Output",
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [1200, 400]
    }
  ],
  "connections": {}
}

ahora incluso cuando un subagente no tiene nada que devolver (el filtro rechazó todos los elementos, la API devolvió vacío, etc), el agente padre sigue recibiendo un campo output y el tool_call_id queda satisfecho. la forma más fácil de encontrar qué subagente está roto: desconéctalo uno a uno del agente principal y ejecuta — cuando el error desaparezca, ese es el que le falta output.

1 me gusta

Gracias por estos detalles. Pero lo extraño es que no me encontré con este problema con ningún otro modelo además de OpenAI. Así que ahora estoy bien.

1 me gusta

¡@Ali4 nos alegra haber podido ayudarte! Siéntete libre de marcar la publicación de quien sea como la solución, ¡y que tengas un día increíble! Si quieres ayuda y podemos intentar arreglar la del OpenAI, ¡déjanos saber!