Todos los productos
Search
Centro de documentos

Platform For AI:How to integrate the A/B test system with your system

Última actualización: Sep 15, 2026

El sistema de pruebas A/B de PAI-Rec funciona junto con su motor de recomendación, búsqueda o publicidad existente. No se requiere ninguna migración. Para integrarlo, configure los recursos en la nube, defina los experimentos, invoque el SDK y mida los resultados.

Funcionamiento

PAI-Rec organiza las pruebas A/B en una jerarquía de cuatro niveles:

Lab → Experiment layer → Experiment group → Experiment

Un lab contiene capas de experimentos. Cada capa incluye grupos de experimentos y cada grupo tiene varios experimentos. El tráfico pasa primero por los labs que no son base. El lab base procesa el tráfico restante como alternativa.

Cuando llega una solicitud de usuario, el SDK invoca match_experiment con un nombre de escenario y un contexto de solicitud. PAI-Rec asigna al usuario a un experimento y devuelve lo siguiente:

  • exp_id: identificador del experimento. Regístrelo en cada evento de usuario para calcular las métricas.

  • Parámetros del experimento: pares clave-valor que su sistema lee para determinar qué variante de algoritmo ejecutar.

Eventos y métricas: Su código registra eventos de comportamiento del usuario (clics, compras, etc.) e incluye exp_id en cada uno. PAI-Rec agrega estos eventos en MaxCompute para calcular las métricas del experimento y generar informes comparativos. El campo exp_id vincula cada evento de comportamiento con el experimento correspondiente durante el análisis.

Requisitos previos

Antes de empezar, asegúrese de contar con lo siguiente:

  • Una instancia de PAI-Rec con su ID de instancia y región.

  • AccessKey ID y AccessKey secret de su cuenta de Alibaba Cloud.

  • Un proyecto de MaxCompute con permisos de lectura y escritura otorgados a PAI-Rec.

  • Un bucket de Object Storage Service (OSS).

Paso 1: Configurar los recursos

Iniciar sesión en la consola de PAI-Rec

En la consola de PAI-Rec, haga clic en Full-link Service en el panel de navegación izquierdo. En el asistente Service Initialization que aparece, configure sus espacios de trabajo.

Notas sobre la configuración:

  1. Consulte los espacios de trabajo existentes de Platform for AI (PAI), DataWorks y MaxCompute en sus respectivas consolas. En la página principal de cada producto, haga clic en Console.

  2. Cree un bucket de OSS en la consola de OSS antes de configurarlo aquí.

Otorgar acceso a MaxCompute

En la página Projects, busque el proyecto de MaxCompute que desea utilizar.

Si no aparece ningún proyecto, seleccione primero la región correcta.

En la columna Actions del proyecto, haga clic en Manage. Otorgue a PAI-Rec acceso directo y permisos de escritura sobre el proyecto de MaxCompute.

Para más detalles, consulte Service activation and initialization.

Paso 2: Crear un escenario

Parámetro

Descripción

Scenario name

Nombre del escenario de recomendación. Use un nombre que refleje la ubicación en la página (por ejemplo, homepage_feed).

Descripción

Descripción opcional del escenario.

Intended users

Seleccione esta opción si los usuarios no utilizan PAI-Rec por completo.

Configuración de tráfico para sistemas autogestionados:

Si cuenta con un sistema de recomendación autogestionado, dirija entre el 10 % y el 20 % del tráfico del escenario hacia PAI-Rec. Cuando los resultados cumplan con sus expectativas, aumente gradualmente la proporción de tráfico.

Para rastrear el tráfico de su sistema autogestionado por separado, asígnele un código de tráfico personalizado. Registre exp_id en sus registros de seguimiento de eventos por cada interacción del usuario. Así, PAI-Rec podrá atribuir los eventos de comportamiento a los experimentos durante el cálculo de métricas.

Paso 3: Configurar las pruebas A/B

Importante

Antes de iniciar un experimento, confirme los cambios que se van a probar con el gerente de producto o el gerente de proyecto correspondiente.

Para consultar las definiciones de los términos, consulte Basic Concepts.

Crear un lab

  1. Seleccione un entorno de ejecución y un escenario de recomendación.

  2. Haga clic en Create Lab.

  3. En el panel Create Lab, configure los siguientes parámetros:

Parámetro

Descripción

Lab type

Base Lab (obligatorio): procesa el tráfico que no coincide con los labs que no son base. Puede usar elementos populares o una lógica de respaldo aleatoria. Non-base Lab (opcional): el tráfico coincide aquí primero. Resulta útil para modelos complejos que funcionan junto con un modelo base más sencillo.

Bucketing method

Hashed UID-based Bucketing: distribuye a los usuarios en buckets según el valor hash del UID. UID-based Bucketing: distribuye a los usuarios según los últimos dígitos del UID. Condition-based Bucketing: distribuye a los usuarios mediante una expresión clave-valor, como gender=man.

Buckets

Número total de buckets en este lab (por ejemplo, 100).

Traffic allocation

Números de bucket asignados a este lab, en el rango de 0 a 99.

Layering

Capa del experimento. Las capas habituales son: recall, filter, coarse_rank y rank.

Test users

Usuarios dirigidos directamente a este lab sin coincidir con los buckets. Introduzca los UID de forma manual (separados por comas) o seleccione un User Group ID en la página User Group Management.

Crear un grupo de experimentos

Cada capa de experimentos admite varios grupos de experimentos, y cada grupo puede contener varios experimentos. Utilice grupos distintos cuando varios ingenieros necesiten ejecutar experimentos en la misma capa (por ejemplo, con diferentes algoritmos de recuperación) sin interferir entre sí.

Grupo de prueba A/A (recomendado para experimentos nuevos):

Para validar que la configuración del experimento no tenga sesgos, cree un grupo de prueba A/A antes de ejecutar experimentos reales:

  1. Seleccione entre 4 y 5 buckets para el experimento.

  2. Asigne 2 buckets a un grupo sin ninguna política configurada. Ejecute estos buckets como prueba preliminar y supervise las métricas clave.

  3. Utilice los dos grupos con métricas más similares para su prueba A/B real.

Parámetros adicionales del grupo de experimentos:

Parámetro

Descripción

Filter by

Filtra aún más a los usuarios después de seleccionar los usuarios de prueba. Filtrar por usuarios nuevos frente a recurrentes ofrece resultados más completos.

Test users

Manually Enter: especifique los ID de usuario para ejecutar primero los experimentos, recopilar comentarios y luego ajustarlos. User Group ID: dirija grupos de usuarios específicos a experimentos concretos. Cree los grupos de usuarios en User Group Management, dentro de Experiment Platform. Puede cargar los ID de usuario de forma manual o mediante Excel.

Crear un experimento

Haga clic en Create Experiment. De forma predeterminada, se crea primero un experimento base.

Tipo de experimento

Descripción

Baseline experiment

Grupo de control. Los usuarios se asignan de forma aleatoria al grupo experimental o al grupo de control.

Normal experiment

Experimentos adicionales con la misma estructura que el base. Cada uno funciona como grupo de tratamiento.

Estrategias de asignación de tráfico:

Objetivo

Estrategia

Minimizar el riesgo al lanzar una nueva función

Envíe una pequeña porción de tráfico a la nueva versión. Esto limita el impacto en los usuarios mientras recopila datos dentro de su plazo.

Maximizar la velocidad de la prueba

Distribuya el tráfico de manera uniforme entre los grupos para obtener resultados más rápido.

Optimizar el retorno de inversión (ROI)

Asigne más tráfico al grupo experimental y conserve una porción pequeña para el grupo de control.

Después de configurar todos los parámetros, haga clic en Save.

Paso 4: Invocar el SDK

Los SDK de Python y Java siguen el mismo patrón. Primero, inicialice un cliente con sus credenciales y los detalles de la instancia. Luego, invoque match_experiment con un nombre de escenario y el contexto del usuario. Por último, lea exp_id y los parámetros del experimento en el resultado.

Almacene exp_id en cada evento de comportamiento del usuario que registre. PAI-Rec utiliza este campo para atribuir los eventos a los experimentos al calcular las métricas.

SDK de Python

Instalación

Prepare un entorno de Python e instale PyCharm para ejecutar el SDK.

pip install https://aliyun-pairec-config-sdk.oss-cn-hangzhou.aliyuncs.com/python/aliyun_pairec_config_python_sdk-1.0.0-py2.py3-none-any.whl
Instale el paquete con el comando anterior, no desde el administrador de paquetes de PyCharm. El paquete no es de código abierto y el instalador de PyCharm podría generar conflictos. Si pip necesita actualizarse, hágalo antes de la instalación. Si se produce un error de tiempo de espera, vuelva a ejecutar el comando.

Inicialización e invocación

Guarde sus credenciales en variables de entorno antes de ejecutar el código:

export ALIBABA_CLOUD_ACCESS_KEY_ID=<your-access-key-id>
export ALIBABA_CLOUD_ACCESS_KEY_SECRET=<your-access-key-secret>
Aviso

Nunca incluya las credenciales de AccessKey directamente en el código fuente. Léalas desde variables de entorno durante la ejecución.

import os
from alibabacloud_tea_openapi.models import Config
from api.api_scene import SceneApiService
from api.api_experiment_room import ExperimentRoomApiService
from api.api_layer import api_layer
from api.api_experiment_group import ExperimentGroupApiService
from api.api_experiment import ExperimentApiService
from client.client import ExperimentClient
from model.experiment import ExperimentContext
from api.api_crowd import CrowdApiService
from alibabacloud_pairecservice20221213.client import Client
from common.constants import ENVIRONMENT_PRODUCT_CONFIG_CENTER
from common.constants import ENVIRONMENT_PREPUB_CONFIG_CENTER
from common.constants import ENVIRONMENT_DAILY_CONFIG_CENTER

# Instance details — find these on the Basic Information page in the PAI-Rec console
instance_id = "<instance-id>"
region = "<region-id>"

# Read credentials from environment variables
access_id = os.environ['ALIBABA_CLOUD_ACCESS_KEY_ID']
access_key = os.environ['ALIBABA_CLOUD_ACCESS_KEY_SECRET']

if __name__ == '__main__':
    # Valid environments: ENVIRONMENT_PRODUCT_CONFIG_CENTER, ENVIRONMENT_PREPUB_CONFIG_CENTER, ENVIRONMENT_DAILY_CONFIG_CENTER
    experiment = ExperimentClient(
        instance_id=instance_id,
        region=region,
        access_key_id=access_id,
        access_key_secret=access_key,
        environment=ENVIRONMENT_PRODUCT_CONFIG_CENTER
    )

    # Build the request context
    # request_id: any unique identifier (auto-increment ID or UUID)
    # uid: the user ID to assign to an experiment
    experiment_context = ExperimentContext(
        request_id="<request-id>",
        uid="<user-id>",
        filter_params={}
    )

    # Match the user to an experiment in the specified scenario
    # Find the scenario name on the Recommendation Scenarios page
    experiment_result = experiment.match_experiment("<scenario-name>", experiment_context)

    # Log experiment assignment details
    print('info', experiment_result.info())

    # Store exp_id in your event tracking logs for metric calculation
    print('exp_id', experiment_result.get_exp_id())

    # Read experiment parameters to determine which algorithm variant to run
    print(experiment_result.get_experiment_params())
    print(experiment_result.get_experiment_params().get('url', 'not exist'))
    print(experiment_result.get_experiment_params().get('token', 'not exist'))

Reemplace los marcadores de posición antes de ejecutar el código:

Marcador de posición

Dónde encontrarlo

<instance-id>

Página Basic Information en la consola de PAI-Rec

<region-id>

Página Basic Information en la consola de PAI-Rec

<scenario-name>

Página Recommendation Scenarios en la consola de PAI-Rec

Resultado esperado:

Una ejecución exitosa muestra la asignación del experimento y los valores de los parámetros configurados para ese experimento:

info exp_id=<exp_id> ...
exp_id <exp_id>
{'url': 'https://...', 'token': '...'}
https://...
...
Si ocurre un error KeyError al leer las variables de entorno, haga clic con el botón derecho en la configuración de ejecución de PyCharm y compruebe que las variables del sistema estén cargadas. De lo contrario, reinicie el proyecto.

SDK de Java

Aviso

Nunca incluya las credenciales de AccessKey directamente en el código fuente. Léalas desde variables de entorno durante la ejecución.

package com.aliyun.openservices.pairec;

import com.aliyun.openservices.pairec.api.ApiClient;
import com.aliyun.openservices.pairec.api.Configuration;
import com.aliyun.openservices.pairec.common.Constants;
import com.aliyun.openservices.pairec.model.ExperimentContext;
import com.aliyun.openservices.pairec.model.ExperimentResult;

public class ExperimentTest {
    static ExperimentClient experimentClient;

    public static void main(String[] args) throws Exception {
        // Instance details — find regionId and instanceId on the Basic Information page
        String regionId = "<region-id>";
        String instanceId = System.getenv("Instance ID"); // pai-rec instance ID

        // Read credentials from environment variables
        String accessId = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID");
        String accessKey = System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET");

        Configuration configuration = new Configuration(regionId, accessId, accessKey, instanceId);
        // Set the experiment environment
        configuration.setEnvironment(Constants.Environment_Product_Desc);

        ApiClient apiClient = new ApiClient(configuration);
        experimentClient = new ExperimentClient(apiClient);
        // Initialize the client
        experimentClient.init();

        // Build the request context
        ExperimentContext experimentContext = new ExperimentContext();
        experimentContext.setUid("<user-id>");
        experimentContext.setRequestId("<request-id>");

        // Match the user to an experiment in the specified scenario
        ExperimentResult experimentResult = experimentClient.matchExperiment("<scenario-name>", experimentContext);

        // Store exp_id in your event tracking logs for metric calculation
        System.out.println(experimentResult.getExpId());
        // Log experiment assignment details
        System.out.println(experimentResult.info());

        // Read experiment parameters to determine which algorithm variant to run
        System.out.println(experimentResult.getExperimentParams().getString("rank_version", "not exist"));
        System.out.println(experimentResult.getExperimentParams().getString("version", "not exist"));
        System.out.println(experimentResult.getExperimentParams().getString("recall", "not exist"));
        System.out.println(experimentResult.getExperimentParams().getDouble("recall_d", 0.0));

        // Read parameters for a specific experiment layer by name
        System.out.println(experimentResult.getLayerParams("recall").getString("rank_version", "not exist"));
        System.out.println(experimentResult.getLayerParams("rank").getString("version", "not exist"));
    }
}

Paso 5: Diseñar las métricas del experimento

Antes de calcular las métricas, registre una tabla de datos de MaxCompute y defina qué va a medir. Los analistas de datos suelen diseñar las métricas clave, como la tasa de clics (CTR) y la tasa de conversión (CVR). También establecen métricas obligatorias que no deben empeorar durante el experimento.

Registrar una tabla de datos

En la consola de PAI-Rec, vaya a Metric Management > Data Registration. Vincule una tabla de MaxCompute con su instancia de pruebas A/B. Establezca Data Table Name con un nombre que refleje el contexto del negocio.

Seleccione una tabla que contenga los campos obligatorios. Para conocer los requisitos de los campos, consulte Data registration and field configuration.

Si su proyecto de MaxCompute no tiene una tabla con todos los campos necesarios, cree una:

  1. Inicie sesión en la consola de MaxCompute y cree una tabla de datos.

  2. En DataWorks, cree una tabla de origen en MaxCompute para los informes de experimentos de pruebas A/B.

Después del registro, la tabla aparecerá en la lista de tablas de datos. Haga clic en View Fields en la columna Actions para revisar o editar las asignaciones de campos.

Tipos de métricas

PAI-Rec admite tres categorías de métricas:

Categoría

Ejemplos

Cuándo utilizarlas

Métricas basadas en proporciones

Tasa de conversión de clics, CTR, CVR, tasa de retención al día siguiente

Para comparar tasas entre grupos. Son las más comunes en experimentos de recomendación.

Métricas por usuario

Promedio de clics por usuario, valor promedio de pedido (AOV)

Para medir el impacto por usuario en lugar de tasas agregadas.

Métricas absolutas

Total de clics, monto total de pedidos

Úselas solo cuando los grupos de prueba tengan la misma cantidad de usuarios.

Además, distinga entre:

  • Métricas clave (KPI): los resultados principales que el experimento busca mejorar.

  • Métricas obligatorias: indicadores que se deben supervisar durante la prueba. La función evaluada no debe afectarlos de manera negativa.

Configurar las métricas

En la página Metric Configurations, haga clic en Metrics. Configure los parámetros Recommendation Scenario y Metric Timeliness.

Las métricas de una sola dimensión se calculan a partir de una única agregación: conteo, conteo único, suma o promedio. Por ejemplo, los clics diarios y las visitas diarias son métricas de una sola dimensión.

En el parámetro Metric Definition:

  • Page Views: cuenta cada visita a la página.

  • Unique Visitors: cuenta a cada usuario una sola vez, en su primera visita.

Las métricas derivadas combinan varias métricas de una sola dimensión. Por ejemplo:

CTR = Daily clicks / Daily visits

Agregue primero los clics diarios y las visitas diarias como métricas de una sola dimensión. Después, defina el CTR como métrica derivada con la fórmula anterior.

Configurar grupos de métricas

Agrupe las métricas relacionadas para calcularlas y compararlas en conjunto.

  1. En la pestaña Metric Groups, cree un grupo de métricas. Configure el parámetro Metric Selection para incluir las métricas deseadas.

  2. Haga clic en Calculate en la columna Actions para iniciar el cálculo de métricas.

Paso 6: Calcular métricas y generar informes

Calcular las métricas

En la pestaña Metric Groups de la página Metric Configurations, haga clic en Calculate en la columna Actions. Seleccione las métricas que desea calcular en el panel que aparece.

Supervise el progreso de los trabajos en la página Jobs. Cuando todos los trabajos terminen, el estado cambiará a Succeeded.

Consultar los informes

En la página Performance Reports, dentro de Experiment Platform, configure los parámetros y haga clic en Start Analysis.

  • Detail Data: muestra las diferencias de métricas entre el experimento base y los experimentos normales.

  • Trend Analysis: muestra cómo cambian las métricas seleccionadas durante el periodo del experimento.

Pasos siguientes