HeadlinesBriefing favicon HeadlinesBriefing.com

TERMy: Asistente de terminal rápido sin LLMs

Hacker News •
×

Me encanta la investigación y el desarrollo; puede que hayas oído hablar de mí por PJON (Padded Jittering Operative Network). Es un protocolo de red que comencé a desarrollar en 2010, recientemente implementado en silicio por la universidad ETH Zurich gracias a la investigación de Pius Sieber.

Estoy emocionado de compartir contigo TERMy, un asistente de terminal construido sobre el marco NPC-Forge. A diferencia de todo lo que se construye hoy, TERMy no utiliza embeddings, aprendizaje automático o LLMs. Se ejecuta en la CPU (incluso en una Raspberry Pi Zero) tanto en la terminal como en el lado del cliente en una pestaña del navegador y responde en milisegundos. Es un asistente de terminal Linux cínico pero muy conocedor que traduce tu lenguaje natural a comandos de shell sin depender de una sola neurona artificial.

Tuve la oportunidad de concentrarme durante 2 meses en mis proyectos personales desde principios de julio, durante los extraños tiempos de aumentos de precios de IA y el fin del tokenmaxing subvencionado. Tenía curiosidad por ver si podía desarrollar desde cero un asistente de terminal capaz de manejar solicitudes simples de lenguaje natural. Tengo mala memoria y me acostumbré a pedirle a copilot "activar el entorno virtual" u operaciones triviales similares gastando una suma no despreciable cada mes.

Cómo funciona: Cuando escribes un prompt, pasa por un pipeline de NLU ligero escrito en ~1000 líneas de Python que implementa los siguientes pasos: 1. Eliminar expletivos, interjecciones, palabras de aliento, desánimo y agradecimiento (eliminar ruido) 2. Análisis de sentimiento 3. Coincidencia exacta (muy rápida) 4. Coincidencia de plantilla (más lenta) 5. Coincidencia probabilística (aún más lenta). El paso 5 se basa en IDF para identificar palabras raras, BOW para acomodar inversiones de palabras, y Levenshtein ponderado por IDF para manejar errores tipográficos de manera segura. El control de permisos está codificado en el conjunto de datos y se aplica a todos los comandos potencialmente destructivos, por lo que es inherentemente más seguro que dejar que un LLM impredecible se ejecute libremente en tu máquina.