¿Por qué crear un lenguaje de programación completo para la orquestación de redes neuronales
Cuando intentas construir un sistema complejo basado en LLMs usando Python o TypeScript, el código rápidamente queda sepultado bajo el boilerplate de infraestructura. Tienes que configurar manualmente las colas de mensajes, escribir lógica de reintentos, persistir el estado intermedio en una base de datos y encontrar soluciones alternativas para esperar respuestas de los usuarios. Los lenguajes de propósito general no saben nada sobre las particularidades de llamar modelos de lenguaje o la necesidad de pausar un proceso durante un par de días.
Los desarrolladores de WeaveMind decidieron abordar el problema de manera radical. En lugar de otra biblioteca, están construyendo Weft — un lenguaje de programación completo donde los LLMs, las APIs externas, las bases de datos y la intervención humana son elementos de primera clase del lenguaje.
Por qué se necesita un nuevo lenguaje
La idea central detrás de Weft es liberar a los ingenieros de escribir el andamiaje de servicios. Las conexiones entre modelos, bases de datos y lógica son validadas por el compilador antes de que el programa incluso se ejecute.
El proyecto actualmente está siendo reescrito activamente para alinearse con el concepto de MVP, y el lanzamiento oficial está programado para agosto de 2026. Sin embargo, el código fuente es abierto, y puedes explorar el enfoque propuesto ahora mismo.
Principales características de la arquitectura
Human in the loop sin servicios adicionales
Si la lógica de negocio requiere aprobación de un gerente o entrada de datos de un operador, el proceso se detiene en la instrucción relevante. No es necesario levantar una base de datos para estados, configurar webhooks, o hacer polling a APIs con un temporizador. Un programa que espera un clic del usuario durante tres segundos se escribe exactamente de la misma manera que un escenario con una espera de tres días.
Dos formas de representación
El código de Weft es simultáneamente un escenario basado en texto y un grafo visual. Esto no es solo una interfaz gráfica sobre un archivo de configuración. Cambiar un nodo en el diagrama modifica el texto fuente, y viceversa. Los ingenieros pueden trabajar con texto mientras los analistas ven un diagrama de proceso claro.
Ejecución confiable vía Restate
Internamente, se utiliza el motor Restate. Si el servidor genera un error, se reinicia o pierde conectividad de red durante una llamada a un LLM, la ejecución se reanuda desde el punto de falla sin perder el contexto acumulado.
Tipado de extremo a extremo
El compilador verifica los tipos de datos en toda la cadena. Si un nodo produce un objeto de una estructura específica y el siguiente espera un string plano, el builder marca inmediatamente el error. Esto ayuda a detectar errores tipográficos en campos JSON durante la fase de escritura del código.
Cómo luce un escenario de Weft
La sintaxis del lenguaje es declarativa y se enfoca en enlazar bloques:
topic = Text {
label: "Topic"
value: "the silence between stars"
}
llm_config = LlmConfig {
label: "Config"
model: "anthropic/claude-sonnet-4.6"
systemPrompt: "Write a short, beautiful poem (4-6 lines) about the given topic."
temperature: "0.8"
}
poet = LlmInference -> (response: String) {
label: "Poet"
}
poet.prompt = topic.value
poet.config = llm_config.config
output = Debug { label: "Poem" }
output.data = poet.response
En este pequeño ejemplo, se declaran cuatro nodos: texto, configuración del modelo, la inferencia del LLM y la salida de depuración. Las conexiones entre ellos se establecen pasando campos explícitamente.
Qué hay bajo el capó
El núcleo del compilador, el orquestador y el ejecutor están escritos en Rust. La interfaz web del dashboard está construida con SvelteKit (Svelte 5).
Todos los bloques disponibles viven en el directorio catalog/. Cada nuevo bloque se describe con dos archivos en una carpeta separada:
backend.rsdefine la lógica del lado del servidor en Rustfrontend.tsespecifica la renderización del nodo, los puertos y los campos de configuración en la UI
Un script especial los enlaza automáticamente al dashboard y al runtime. Agregar nodos personalizados resulta bastante sencillo.
El directorio actual ya incluye bloques para trabajar con LLMs, ejecutar código Python, enviar mensajes a Telegram, Discord, Slack y WhatsApp, trabajar con Postgres y búsqueda web.
Estado actual y licencia
El proyecto se encuentra en una etapa temprana de desarrollo. Los autores declaran abiertamente en el README que la arquitectura aún se está formando, por lo que son posibles cambios que rompan la compatibilidad.
Weft se distribuye bajo la licencia O'Saasy (una MIT modificada). Permite el uso gratuito, la modificación y el autoalojamiento, pero prohíbe ejecutar un servicio comercial de pago basado en este código que compita con los autores.
Quién debería seguir el proyecto
Weft es interesante como un intento de repensar el enfoque a la orquestación de agentes de redes neuronales. Si estás cansado de luchar con grafos de llamadas complejos en lenguajes de propósito general y estás buscando una herramienta con tolerancia a fallos integrada, el repositorio definitivamente vale la pena marcar.
Proyectos relacionados