Cactus ha lanzado Needle 3, un modelo base que integra un completo asistente de IA en un único binario de 8-29 MB. La compañía afirma que puede igualar a DeepSeek V4 Flash en tareas de extracción y superar a modelos diez veces su tamaño en llamadas de herramientas móviles. El modelo se ejecuta en una Raspberry Pi y sacrifica la capacidad general de chat por un rendimiento enfocado.
Los hechos clave son sencillos de enunciar:
- Tamaño: Binario CQ2-bit de 8-29 MB, con opciones para los desarrolladores que van desde una subred de 2 capas (2L) hasta una red de 20 capas (20L)
- Datos de entrenamiento: 360 mil millones de tokens de un conjunto de datos estructurado propietario
- Inferencia: 400-4k tokens/s de decodificación y 1-10k tokens/s de pre-llenado en una Raspberry Pi 5
Lo que realmente hace Needle 3
Needle 3 maneja tres tareas principales: llamadas de herramientas, extracción estructurada e incrustaciones de texto. El modelo se basa en una arquitectura de red de atención simple y está cuantificado a una profundidad de bits CQ2. Esa compresión es todo el argumento de venta: un asistente de IA completo que cabe en un microcontrolador o un dispositivo portátil sin necesidad de una conexión en la nube.
La compañía enmarca el diseño como un escalamiento de la inteligencia. Cada capa del modelo es una subred con una capacidad creciente. Los desarrolladores eligen el tamaño adecuado, desde la subred 2L más pequeña hasta la subred 20L más grande. Se admite el ajuste fino, por lo que un modelo de cuatro capas puede igualar a DeepSeek V4 Flash después de una época de entrenamiento en tareas posteriores.
Llamadas de herramientas y extracción
El truco principal del modelo es seleccionar la función correcta a llamar en función de lo que el usuario pregunta. El ejemplo dado involucra una herramienta de clima definida con una cadena de documentación y una firma de función. El asistente reconoce la intención, completa los argumentos y devuelve la llamada al código del desarrollador.
python
import needle @needle.tool def get_weather(city: str): "Get the current weather for a city." return {"city": city, "temp_c": 27, "sky": "clear"} agent = needle.Needle(tools=[get_weather]) print(agent.run("what's it like in Lagos right now?")["results"]) # [{'city': 'Lagos', 'temp_c': 27, 'sky': 'clear'}]
Si el modelo no puede encontrar una función coincidente, devuelve una lista vacía en lugar de adivinar. Ese comportamiento es la promesa explícita de la compañía: no hay adivinanzas cuando ninguna herramienta cubre la solicitud.
La extracción funciona en la dirección opuesta. En lugar de llamar a una función, el modelo toma texto desordenado y produce una salida estructurada. La compañía dice que la gramática de decodificación garantiza que la salida se analice, lo que significa que el resultado siempre encaja con la forma declarada.
python
from pydantic import BaseModel class Invoice(BaseModel): vendor: str total: float due_date: str invoice = needle.extract("Invoice from Acme Corp, $1,200.00, due 2026-09-01", Invoice) print(invoice.vendor, invoice.total) # -> Acme Corp 1200.0
El ejemplo muestra una factura siendo extraída de una cadena a un objeto tipificado. El modelo maneja facturas, reservas, notificaciones y formularios. La compañía también señala que el marco de extracción se generalizó bien a problemas de clasificación.
Enrutamiento y Confianza
Cada respuesta incluye una puntuación de confianza proveniente de una cabeza calibrada. El motor aplica gating automáticamente, aunque el umbral exacto no se especifica. La compañía enfatiza que describir bien las herramientas es el juego en sí mismo.
El sistema de enrutamiento permite a los desarrolladores hacer coincidir las solicitudes con funciones específicas usando expresiones regulares. Una coincidencia restringe la decodificación a las herramientas que coincidieron y requiere una llamada, de modo que la solicitud llega a la herramienta que nombró en lugar de ser rechazada o redirigida. El ejemplo muestra un patrón de activación que excluye palabras comunes que otras herramientas podrían poseer.
python
from typing import Literal @needle.tool(triggers=[r"\b(turn|switch|power|flip)\b.*\b(on|off)\b", r"\btoggle\b"]) def control_device(device: str, action: Literal["on", "off", "toggle"]): "Switch or toggle any named smart-home device." return {"device": device, "action": action} agent = needle.Needle(tools=[control_device, get_weather]) agent.complete("toggle the garage door") # function_calls [{"name": "control_device", "arguments": {"device": "garage door", "action": "toggle"}}]
En Qué Se Ejecuta
La Raspberry Pi 5 es la plataforma de inferencia. El modelo se ejecuta a 400-4k tokens por segundo para la decodificación y 1-10k tokens por segundo para el pre-llenado. La compañía dice que el modelo admite una amplia gama de dispositivos pequeños, desde microcontroladores hasta hubs para hogares inteligentes.
El modelo cabe en dispositivos con almacenamiento limitado. Los ejemplos de la compañía cubren teléfonos, wearables, robots, hogares inteligentes, automóviles y computadoras. Los embeddings permiten la búsqueda local y la combinación de alertas, de modo que un reloj puede combinar alertas casi duplicadas sin enviar nada a la nube.
Cómo Empezar
La instalación es sencilla. El paquete de Python descarga el motor de inferencia de Hugging Face una vez y lo almacena en caché. No hay nada más que construir. La compañía lo llama un modelo base para móviles, wearables, robots, hogares inteligentes, automoción y microcontroladores.
El ciclo de implementación es simple. El modelo lee las descripciones de sus herramientas, elige la llamada correcta, completa los argumentos y ejecuta la función. El resultado vuelve como JSON con los resultados de la herramienta ejecutada adjuntos.
El flujo de trabajo de ejemplo completa el ciclo: el modelo elige la llamada, Needle ejecuta la función, alimenta el resultado y devuelve la respuesta final con los resultados de la herramienta ejecutada adjuntos como resultados.
Por Qué Esto Importa
La afirmación es audaz: un modelo una décima parte del tamaño de sus competidores iguala su rendimiento de extracción y los supera en las llamadas a herramientas. La calibración y el enrejado significan que el modelo sabe cuándo no sabe. Esa es una característica útil para los sistemas integrados, donde las respuestas incorrectas son peores que la ausencia de respuestas.
El encuadre de la empresa es práctico. Este no es un modelo de conversación general. Es un modelo de automatización que asigna el lenguaje natural a acciones específicas. La interfaz de llamada de herramientas es todo el punto.
La prueba comparativa del Raspberry Pi 5 muestra el modelo funcionando a 400-4k tokens por segundo para la decodificación y 1-10k tokens por segundo para el pre-llenado. Un modelo que funciona a esas velocidades en un Raspberry Pi puede admitir interacciones en tiempo real en un dispositivo que cuesta menos de $100. Ese es un umbral de entrada bajo.
Los ejemplos de la empresa muestran el modelo en acción en cada categoría que admite. Un asistente inteligente para el hogar puede atenuar la luz del dormitorio y cerrar con llave con un solo comando. Un robot puede limpiar la cocina mientras deja el dormitorio intacto. Un asistente telefónico puede crear un álbum a partir de las fotos del fin de semana pasado o atenuar la pantalla. Un dispositivo portátil puede leer un cargo de tarjeta en el comerciante, la cantidad y la fecha. Unos anteojos de realidad aumentada pueden navegar desde una solicitud corta. Un automóvil puede manejar el clima, los medios, la navegación y las llamadas desde la cabina. Una computadora puede tomar comandos en inglés sencillo como redactar un correo electrónico, iniciar un temporizador, copiar una dirección o abrir una pestaña.
Los incrustados permiten la búsqueda semántica sobre notas, mensajes y documentos. Una consulta se empareja con el más cercano de cientos de herramientas. Las alertas casi duplicadas se fusionan en una alerta.
Needle 3 es un modelo base para dispositivos móviles, dispositivos portátiles, robots, hogar inteligente, automóviles y microcontroladores. Es un modelo que cabe en un Raspberry Pi y supera a los modelos diez veces su tamaño en las llamadas de herramientas móviles. Es un modelo que sacrifica la capacidad de chat general por un rendimiento enfocado. Es un modelo que sabe exactamente qué se supone que debe hacer y lo hace bien.
Material de origen: “Show HN: Cactus Needle 3: Los modelos de automatización de 8-29 MB pueden igualar DeepSeek V4 Flash,” cactuscompute.com.
Recibe El Cuaderno.
Las mejores historias del día y cada veredicto nuevo, en español claro, en tu correo a las siete. Un correo al día, nada más.

