Needle: Un modelo de llamada a funciones de 26 millones de parámetros que funciona a 6000 tokens/segundo en móvil
Cactus ha publicado como código abierto Needle, un modelo de llamada a funciones de 26 millones de parámetros diseñado para ejecutarse en teléfonos económicos, relojes y gafas. Alcanza 6000 tok/s de prefill y 1200 tok/s de decodificación en dispositivos de consumo utilizando su motor de inferencia personalizado, Cactus.
Arquitectura: Redes de Atención Simple
Needle utiliza una Red de Atención Simple — sin MLPs en ningún lado. El modelo completo consiste en capas de atención y compuerta. Diseño clave: d=512, 8H/4KV, BPE=8192, con una estructura codificador-decodificador (12 capas de codificador, 8 capas de decodificador) que usa atención cruzada, autoatención enmascarada con RoPE y embeddings compartidos.
Detalles de entrenamiento
- Preentrenado en 200 mil millones de tokens en 16 TPU v6e (27 horas)
- Post-entrenado en 2 mil millones de tokens de datos sintetizados de llamadas a funciones (45 minutos)
- Datos sintetizados vía Gemini con 15 categorías de herramientas (temporizadores, mensajería, navegación, hogar inteligente, etc.)
Resultados de benchmark
Needle supera a FunctionGemma-270M, Qwen-0.6B, Granite-350M y LFM2.5-350M en llamadas a funciones de un solo paso. Sin embargo, esos modelos tienen más alcance/capacidad y destacan en entornos conversacionales.
Inicio rápido
git clone https://github.com/cactus-compute/needle.git
cd needle && source ./setup
needle playgroundAbre una interfaz web en http://127.0.0.1:7860 para probar y ajustar el modelo con tus propias herramientas.
Uso (Python)
from needle import SimpleAttentionNetwork, load_checkpoint, generate, get_tokenizer
params, config = load_checkpoint("checkpoints/needle.pkl")
model = SimpleAttentionNetwork(config)
tokenizer = get_tokenizer()
result = generate(
model, params, tokenizer,
query="¿Cómo está el clima en San Francisco?",
tools='[{"name":"get_weather","parameters":{"location":"string"}}]',
stream=False
)
print(result)
[{"name":"get_weather","arguments":{"location":"San Francisco"}}]
Ajuste fino local
# vía playground (genera datos automáticamente con Gemini)
needle playground
o proporciona tus propios datos
needle finetune data.jsonl
Disponibilidad
Los pesos están en Hugging Face: Cactus-Compute/needle. Todo tiene licencia MIT.
📖 Lee la fuente completa: HN AI Agents
👀 Ver también

Hypura: Programador de inferencia de LLM consciente del nivel de almacenamiento para Apple Silicon
Hypura es un planificador de inferencia basado en Rust que distribuye los tensores del modelo entre las capas de GPU, RAM y NVMe para ejecutar modelos que superan la memoria física en Macs con Apple Silicon. Permite ejecutar un Mixtral 8x7B de 31 GB en un Mac Mini de 32 GB a 2.2 tok/s y un Llama 70B de 40 GB a 0.3 tok/s, mientras que llama.cpp estándar falla.

PromptForest: Detección de Inyección de Prompts Local-Primero con Incertidumbre
PromptForest es una biblioteca ligera y de primera local que detecta inyecciones de comandos y jailbreaks, clasificándolos mientras evalúa la certeza, todo sin aumentar la latencia promedio de las solicitudes.

El desarrollador de OpenClaw construye el complemento de memoria cognitiva Kumiho para la colaboración persistente de agentes.
Un desarrollador creó Kumiho, un sistema de memoria cognitiva de IA respaldado por un grafo de conocimiento, para abordar la falta de memoria de OpenClaw entre sesiones. El complemento openclaw-kumiho se conecta a las conversaciones para recordar el contexto, capturar resúmenes estructurados y mantener versiones de las salidas creativas.

Meta para Claude Code: tareas persistentes con revisión adversarial
Un comando /goal para Claude Code que lo mantiene trabajando en una tarea larga a lo largo de muchos turnos, con una sesión opcional separada de Claude que revisa el resultado final para evitar una finalización falsa.