HeadlinesBriefing favicon HeadlinesBriefing.com

TERMy: Assistente de terminal rápido sem LLMs

Hacker News •
×

Eu amo pesquisa e desenvolvimento, você pode ter ouvido falar de mim por causa do PJON (Padded Jittering Operative Network). É um protocolo de rede que comecei a desenvolver em 2010, recentemente implementado em silício pela universidade ETH Zurich graças à pesquisa de Pius Sieber.

Estou animado em compartilhar com você o TERMy, um assistente de terminal construído sobre o framework NPC-Forge. Ao contrário de tudo que está sendo construído hoje, o TERMy não usa embeddings, aprendizado de máquina ou LLMs. Ele roda na CPU (até mesmo em um Raspberry Pi Zero) tanto no terminal quanto no lado do cliente em uma aba do navegador e responde em milissegundos. É um assistente de terminal Linux cínico, mas muito conhecedor, que traduz sua linguagem natural em comandos de shell sem depender de um único neurônio artificial.

Tive a chance de me concentrar por 2 meses em meus projetos pessoais desde o início de julho, durante os tempos estranhos de aumentos de preços de IA e o fim do tokenmaxing subsidiado. Eu estava curioso para ver se poderia desenvolver do zero um assistente de terminal capaz de lidar com solicitações simples de linguagem natural. Tenho memória ruim e me acostumei a pedir ao copilot "ativar o ambiente virtual" ou operações triviais semelhantes, gastando uma quantia não desprezível todos os meses.

Como funciona: Quando você digita um prompt, ele passa por um pipeline de NLU leve escrito em ~1000 linhas de Python que implementa as seguintes etapas: 1. Remover palavrões, interjeições, palavras de incentivo, desencorajamento e agradecimento (remover ruído) 2. Análise de sentimento 3. Correspondência exata (muito rápida) 4. Correspondência de modelo (mais lenta) 5. Correspondência probabilística (ainda mais lenta). A etapa 5 depende de IDF para identificar palavras raras, BOW para acomodar inversões de palavras e Levenshtein ponderado por IDF para lidar com erros de digitação com segurança. O controle de permissões é codificado no conjunto de dados e aplicado a todos os comandos potencialmente destrutivos, portanto, é inerentemente mais seguro do que deixar um LLM imprevisível correr solto em sua máquina.