Lecciones Prácticas de la Construcción de IA en Dispositivo en React Native

Generación de Texto con LLMs
Usa llama.rn para ejecutar modelos GGUF en React Native. Envuelve llama.cpp y proporciona enlaces nativos para Android (JNI) e iOS (Metal). La transmisión de tokens mediante callbacks funciona bien.
La gestión de memoria es crítica: un modelo 7B Q4 necesita ~5.5 GB de RAM en tiempo de ejecución (tamaño del archivo × 1.5 para la caché KV y activaciones). Usa el 60% de la RAM del dispositivo como presupuesto máximo, advierte al 50% y bloquea al 60% para evitar que el sistema operativo cierre la aplicación.
La aceleración por GPU usa OpenCL en Android (GPUs Adreno) y Metal en iOS. Flash attention falla con capas GPU > 0 en Android, así que impón esto en el código. La cuantización de la caché KV (f16/q8_0/q4_0) es más beneficiosa que la GPU para la mayoría de dispositivos; pasar de f16 a q4_0 aproximadamente triplicó la velocidad de inferencia en las pruebas.
Generación de Imágenes con Stable Diffusion
Esto es específico de la plataforma, sin una sola biblioteca que cubra ambas.
- Android: Usa MNN (framework de Alibaba, CPU, funciona en todos los dispositivos ARM64) y QNN (Qualcomm AI Engine, acelerado por NPU, solo para Snapdragon 8 Gen 1+). QNN es 3× más rápido pero solo funciona en chips Qualcomm recientes. Implementa detección en tiempo de ejecución con retroceso automático.
- iOS: Usa la canalización ml-stable-diffusion de Apple con aceleración Core ML y Neural Engine. Los modelos paletizados (~1 GB, 6 bits) son excelentes para dispositivos con memoria limitada; la precisión completa (~4 GB, fp16) es más rápida en ANE pero necesita margen.
Benchmarks del mundo real: 5–10 segundos en NPU Snapdragon, 15 segundos en CPU en gama alta, 8–15 segundos en ANE de iOS para 512×512 a 20 pasos. Muestra una vista previa en tiempo real cada N pasos de eliminación de ruido para evitar que los usuarios piensen que la aplicación se congeló.
Transcripción de Voz con Whisper
whisper.rn envuelve whisper.cpp y es sencillo de integrar. Ofrece múltiples tamaños de modelo (Tiny/Base/Small) y permite a los usuarios elegir entre velocidad y precisión. La transcripción parcial en tiempo real (palabras que aparecen mientras hablan) hace que se sienta nativa.
Almacena el audio en búfer en código nativo y límpialo después de la transcripción; no escribas archivos de audio en el disco si la privacidad es importante.
Visión con Modelos Multimodales
Los modelos de visión necesitan dos archivos: el GGUF principal y un compañero mmproj (proyector multimodal). Maneja esto de forma transparente: detecta automáticamente modelos de visión, descarga automáticamente el mmproj, rastréalos como una sola unidad y busca en el directorio del modelo en tiempo de ejecución si el enlace se rompe. Descarga ambos archivos en paralelo para reducir el tiempo de descarga casi a la mitad para un modelo de visión de 2B.
SmolVLM a 500M es el punto óptimo para móviles, con ~7 segundos en dispositivos insignia, capaz para lectura de documentos y descripción de escenas.
Llamadas a Herramientas para Bucles de Agentes en el Dispositivo
Los modelos que admiten llamadas a funciones pueden usar herramientas (búsqueda web, calculadora, fecha/hora, información del dispositivo) a través de un bucle automático: el LLM genera, analiza las llamadas a herramientas, las ejecuta, inyecta los resultados de vuelta en el contexto, el LLM continúa. Límitalo a un máximo de 3 iteraciones, 5 llamadas totales para evitar bucles infinitos.
Soporta dos rutas de análisis: los modelos más grandes generan llamadas a herramientas JSON estructuradas de forma nativa a través de llama.rn, mientras que los modelos más pequeños generan XML como <tool_call>. Detecta el soporte de herramientas en el momento de carga del modelo inspeccionando la plantilla de chat jinja; si el modelo no admite herramientas, no inyectes definiciones de herramientas en el mensaje del sistema para evitar alucinaciones. La calculadora usa un analizador de descenso recursivo—nunca eval().
Clasificación de Intención
Si tu aplicación hace tanto generación de texto como de imágenes, necesitas decidir lo que el usuario quiere basándote en el análisis de entrada.
📖 Read the full source: r/LocalLLaMA
👀 Ver también

Los archivos CLAUDE.md suelen estar organizados para desarrolladores, no para modelos de IA – He aquí por qué es importante
Los archivos CLAUDE.md suelen colocar las Reglas Estrictas en la línea 47, después de los antecedentes y la pila tecnológica. Cuando el modelo lee las restricciones, ya ha construido suposiciones contradictorias. Una mejor estructura pone las reglas estrictas primero.

OpenClaw Mega Cheatsheet: Tu puerta de entrada a la maestría en codificación de IA.
Sumérgete en la Mega Hoja de Trucos de OpenClaw de r/openclaw, una guía completa llena de consejos esenciales para entusiastas de la codificación y la automatización de IA.

Estructura Práctica de Prompts para Agentes de Ejecución de Claude IA
Un desarrollador comparte técnicas de ingeniería de prompts que redujeron las alucinaciones en agentes de Claude AI que realizan llamadas API, extracción de datos y flujos de trabajo de múltiples pasos. Las estrategias clave incluyen escribir prompts como contratos, dedicar el 40% de los tokens al manejo de errores y separar las condiciones de 'espera' de las de 'detención'.

Cómo optimizar tu configuración de OpenClaw con instrucciones y refinamientos específicos.
La optimización de OpenClaw se basa en instrucciones precisas y en el perfeccionamiento continuo de las personalidades de los agentes y en la utilización económica de los modelos.