# Transferencia entre agentes de IA ## Descripción general La funcionalidad de **transferencia entre agentes de IA** permite que un agente principal delegue automáticamente la conversación a otro agente especializado según la intención detectada del usuario. Esto permite construir arquitecturas multiagente donde: - Un agente principal recibe todas las conversaciones. - Detecta la intención del usuario. - Decide si debe transferir el chat. - Envía el contexto al agente especializado. - El nuevo agente continúa la conversación automáticamente. --- # Flujo general de transferencia ```text Usuario ↓ Agente principal ↓ Detecta intención ↓ POST /transfer/ ↓ Agente especializado ↓ Continúa la conversación ``` --- # Caso de uso ## Ejemplo práctico El usuario escribe: > "Necesito información sobre el ticket que generé por un error en mi sistema Maxicomercio R5" El agente principal detecta que la intención corresponde a: - soporte técnico - asesoría comercial - asuntos administrativos Entonces transfiere la conversación al agente especializado `ANI`. --- # Configuración de intención ## Ejemplo ### Descripción ```txt Asesoría comercial, soporte técnico y asuntos administrativos ``` ### Instrucciones ```txt Usuarios interesados los transferirás al agente ANI especialista en el tema campos requeridos to= ID del agente token=Token de autorización context=un breve resumen de la necesidad del usuario summary=un breve resumen de la conversación ``` ### Punto final ```txt https://agent.induxsoft.net/transfer/ ``` --- # Funcionamiento interno Cuando el agente detecta que la intención coincide con el escenario configurado: 1. Ejecuta la transferencia mediante HTTP POST. 2. El sistema cambia el agente activo. 3. El nuevo agente responde automáticamente. --- # Endpoint de transferencia ## URL ```http POST https://agent.induxsoft.net/transfer/ ``` --- # Headers requeridos ```http Authorization: Bearer Content-Type: application/json ``` --- # Body de la solicitud ## Parámetros | Campo | Tipo | Requerido | Descripción | |---|---|---|---| | to | string | Sí | ID del agente destino | | context | string | Sí | Resumen breve de la necesidad actual | | summary | string | Sí | Resumen breve de la conversación | --- # Ejemplo de solicitud ## Request ```http POST /transfer/ HTTP/1.1 Host: agent.induxsoft.net Authorization: Bearer 9c7a2f25dad14077950cbc87990234e1 Content-Type: application/json ``` ```json { "to": "91d68623133d4a7baac25f28622e73c0", "context": "El usuario solicita información sobre un ticket relacionado con un error en Maxicomercio R5.", "summary": "El usuario reporta fallas en su sistema y desea conocer el estado del ticket generado previamente." } ``` --- # Ejemplo completo de conversación ## Conversación inicial ### Usuario ```txt Necesito saber qué pasó con el ticket que levanté por un error en Maxicomercio R5 ``` --- ## Detección de intención El agente principal identifica: ```txt Asesoría comercial, soporte técnico y asuntos administrativos ``` --- ## Acción automática del agente principal ### Susurro de transferencia ```txt Ahora eres @ANI ``` ### Mensaje de transferencia ```txt Te transfiero con mi compañero(a) @ANI ``` --- # Transferencia ejecutada ## Request generado ```json { "to": "Id de agente", "context": "Usuario solicita seguimiento de ticket por error en Maxicomercio R5.", "summary": "El usuario menciona problemas técnicos en su sistema y solicita información del ticket generado." } ``` --- # Respuesta del agente especializado Una vez realizada la transferencia, el nuevo agente toma el control del chat automáticamente. ## Ejemplo ### Agente ANI ```txt Hola, soy ANI del área de soporte técnico. Con gusto te ayudaré a revisar el estado de tu ticket relacionado con Maxicomercio R5. ¿Podrías indicarme el número de ticket o el correo con el que fue generado? ``` --- # Recomendaciones técnicas ## Generar contextos cortos El campo `context` debe contener únicamente la necesidad actual. ### Correcto ```txt Usuario solicita seguimiento de ticket por error en Maxicomercio R5. ``` ### Incorrecto ```txt El usuario saludó, luego preguntó varias cosas y después comentó... ``` --- ## Generar summaries compactos El campo `summary` debe resumir la conversación previa. ### Recomendado - máximo 500 caracteres - información relevante únicamente - evitar ruido conversacional --- # Buenas prácticas ## 1. Transferir únicamente cuando exista alta confianza Evitar transferencias innecesarias o ambiguas. --- ## 2. Mantener continuidad conversacional El agente destino debe conocer: - intención - contexto - historial resumido --- ## 3. Especialización por dominio Separar agentes por áreas: | Área | Agente | |---|---| | Ventas | ANI Comercial | | Soporte | ANI Soporte | | Facturación | ANI Administración | | RH | ANI Recursos Humanos | --- # Arquitectura sugerida ```text ┌──────────────────┐ │ Agente Principal │ └────────┬─────────┘ │ ┌───────────────┼────────────────┐ │ │ │ ▼ ▼ ▼ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │ ANI Ventas │ │ ANI Soporte │ │ ANI Admin │ └─────────────┘ └─────────────┘ └─────────────┘ ``` --- # Casos de uso recomendados - Soporte técnico - Escalamiento humano - Ventas especializadas - Cobranza - Facturación - Atención multidepartamental - Flujos multiagente - IA jerárquica - Sistemas helpdesk - ERPs y CRMs --- # Resultado final esperado Después de la transferencia: - El usuario mantiene la misma conversación - Cambia el agente activo - Se conserva el contexto - El nuevo agente responde automáticamente - La experiencia es transparente para el usuario