Nappai Sandbox
Este componente actúa como una “caja de seguridad” o entorno controlado dentro de tu sistema Nappai. Su función principal es permitirte ejecutar fragmentos de código o instrucciones en un espacio aislado, garantizando que esta ejecución sea segura y no afecte negativamente al resto de tu flujo de trabajo o al sistema general.
Es especialmente útil cuando necesitas:
- Evaluar scripts o código de agentes antes de usarlos en producción.
- Ejecutar acciones de IA en un entorno restringido.
- Procesar datos de manera segura sin riesgos para la infraestructura principal.
¿Cómo funciona?
Imagina a este componente como un laboratorio virtual. Cuando le envías código (un script o instrucción), este lo coloca en un espacio seguro donde puede ejecutarse libremente bajo supervisión.
El proceso es simple:
- Entrada: Tú proporcionas el código y el contexto necesario (variables o metadatos).
- Procesamiento: El sistema Nappai toma ese código, lo verifica y lo ejecuta dentro del entorno seguro predefinido.
- Salida: El componente devuelve el resultado final del proceso, los registros de lo que sucedió (logs) y, si hubo algún problema, la información del error para que puedas solucionarlo.
No necesitas configurar reglas complejas de seguridad manualmente; el componente ya viene preparado para manejar los límites de tiempo y permisos de forma automática.
Entradas
Para que este componente funcione correctamente, necesitas configurar los siguientes campos. Estos actúan como las instrucciones y materiales necesarios para el “laboratorio” de código.
Campos de Entrada
-
Código a Ejecutar: El fragmento de código, script o instrucción que deseas que se ejecute dentro del entorno seguro. Es el elemento principal de entrada.
- Visible en: Todas las operaciones
-
Contexto de Ejecución: Variables de estado, datos de entorno o metadatos compartidos necesarios para que el código pueda trabajar. Piensa en esto como la “información de fondo” que el código necesita para tomar decisiones.
- Visible en: Todas las operaciones
-
Configuración del Entorno: Parámetros de seguridad, límites de tiempo o permisos específicos. Generalmente, puedes dejar esto en su valor predeterminado, ya que el sistema se encarga de aplicar las reglas de seguridad estándar automáticamente.
- Visible en: Todas las operaciones
Salidas
Una vez que el código ha sido procesado, este componente te devuelve información clave para entender qué sucedió y qué datos puedes usar en pasos siguientes de tu flujo.
Resultado Principal
El valor final o la respuesta generada por la ejecución del código. Esto es lo que usualmente vas a conectar con el siguiente paso de tu automatización.
Ejemplo de Respuesta JSON
A continuación se muestra un ejemplo de cómo se ve la estructura de datos que este componente devuelve al ejecutarse correctamente. Esto te ayudará a saber qué variables podrías mapear o usar en los siguientes nodos. json { “result”: { “status”: “success”, “data”: “Procesamiento completado”, “value”: 42 }, “output_logs”: [ “Iniciando ejecución…”, “Calculando datos…”, “Completado con éxito.” ], “error_info”: null }
Desglose de las Salidas
- Resultado de Ejecución: Representa el dato procesado (como un número, un texto o un objeto). Es la información principal que quieres obtener.
- Registro de Salida: Un listado (log) de lo que el sistema imprimió durante la ejecución. Útil para depuración o para ver un historial de pasos.
- Información de Error: Si la ejecución falla, aquí encontrarás detalles sobre el error (como un mensaje de fallo o código de excepción). Si todo sale bien, este campo suele estar vacío o ser nulo.
Conectividad
Dado que este componente es un ejecutor de código, su ubicación lógica en un flujo de trabajo es flexible pero suele seguir un patrón claro:
- Entrada: Suele conectarse a componentes que generan o recuperan datos, como un componente de Generación de Código, Recuperación de Datos o Consulta de Base de Datos.
- Salida: Sus resultados (
Resultado de Ejecución) suelen fluir hacia componentes de Procesamiento de Datos, Transformación de Datos o hacia el componente final que Muestra Resultados al usuario.
Ejemplo de Uso
Escenario: Quieres realizar un cálculo matemático complejo o transformar una lista de datos usando un script personalizado, y luego usar ese resultado para enviar un reporte.
- Preparación: Creas un componente anterior que recupera los datos crudos (ej. una lista de ventas).
- Ejecución: Conectas esos datos al campo Contexto de Ejecución de Nappai Sandbox. En el campo Código a Ejecutar, escribes tu script de Python (ej.
total = sum(data)). - Resultado: El componente Nappai Sandbox devuelve el total calculado en Resultado de Ejecución.
- Acción: Conectas ese resultado a un componente de Enviar Correo para notificar el total.
Consejos y Mejores Prácticas
- Seguridad ante todo: Aunque el entorno es aislado, evita incluir información sensible (como contraseñas o datos de tarjetas de crédito) directamente en el código.
- Código breve: Mantén los fragmentos de código concisos y claros. Si el código es muy extenso, considera dividirlo en pasos más pequeños.
- Manejo de errores: Revisa siempre la salida Información de Error si tu flujo falla; suele dar pistas claras sobre qué salió mal en el script.
- Depuración con Logs: Usa la salida Registro de Salida para entender el paso a paso de lo que está ocurriendo internamente si no obtienes el resultado esperado.
Consideraciones de Seguridad
Aunque este componente opera en un entorno aislado, es importante recordar:
- El entorno de ejecución tiene límites predefinidos para evitar consumos excesivos de recursos (tiempo de CPU o memoria).
- La ejecución se realiza bajo las políticas de seguridad estándar de Nappai, asegurando que el código no pueda acceder a archivos o recursos externos no autorizados.