Warum eine ganze Programmiersprache für die Orchestrierung neuronaler Netze entwickeln
Wenn Sie versuchen, ein komplexes LLM-basiertes System mit Python oder TypeScript zu erstellen, wird der Code schnell unter Infrastruktur-Boilercode begraben. Sie müssen Message Queues manuell einrichten, Retry-Logik schreiben, Zwischenzustände in einer Datenbank speichern und Workarounds für das Warten auf Benutzerantworten entwickeln. Universelle Programmiersprachen wissen nichts über die Besonderheiten des Aufrufs von Sprachmodellen oder die Notwendigkeit, einen Prozess für ein paar Tage zu pausieren.
Entwickler bei WeaveMind haben sich entschlossen, das Problem radikal anzugehen. Statt einer weiteren Bibliothek entwickeln sie Weft — eine vollwertige Programmiersprache, in der LLMs, externe APIs, Datenbanken und menschliche Beteiligung Elemente erster Klasse der Sprache sind.
Warum eine neue Sprache benötigt wird
Die Kernidee hinter Weft ist es, Ingenieure vom Schreiben von Service-Gerüsten zu befreien. Verbindungen zwischen Modellen, Datenbanken und Logik werden vom Compiler validiert, bevor das Programm überhaupt ausgeführt wird.
Das Projekt wird derzeit aktiv umgeschrieben, um sich am MVP-Konzept auszurichten, und die offizielle Veröffentlichung ist für August 2026 geplant. Der Quellcode ist jedoch offen, und Sie können den vorgeschlagenen Ansatz jetzt bereits erkunden.
Hauptmerkmale der Architektur
Human in the Loop ohne zusätzliche Dienste
Wenn die Geschäftslogik eine Genehmigung durch einen Manager oder eine Dateneingabe durch einen Operator erfordert, stoppt der Prozess an der relevanten Anweisung. Es ist nicht erforderlich, eine Datenbank für Status zu starten, Webhooks zu konfigurieren oder APIs in einem Timer abzufragen. Ein Programm, das drei Sekunden auf einen Benutzerklick wartet, wird genau so geschrieben wie ein Szenario mit einer Wartezeit von drei Tagen.
Zwei Darstellungsformen
Weft-Code ist gleichzeitig ein textbasiertes Szenario und ein visueller Graph. Dies ist nicht nur eine grafische Hülle über einer Konfigurationsdatei. Wenn ein Knoten im Diagramm geändert wird, wird der Quelltext modifiziert und umgekehrt. Ingenieure können mit Text arbeiten, während Analysten ein klares Prozessdiagramm betrachten.
Zuverlässige Ausführung über Restate
Unter der Haube wird die Restate-Engine verwendet. Wenn der Server während eines LLM-Aufrufs einen Fehler generiert, neu startet oder die Netzwerkverbindung verliert, wird die Ausführung ab dem Fehlerpunkt fortgesetzt, ohne den akkumulierten Kontext zu verlieren.
Typisierung von Ende zu Ende
Der Compiler prüft Datentypen über die gesamte Kette. Wenn ein Knoten ein Objekt einer bestimmten Struktur ausgibt und der nächste eine einfache Zeichenkette erwartet, markiert der Builder den Fehler sofort. Dies hilft, Tippfehler in JSON-Feldern während der Code-Schreibphase zu erkennen.
Wie ein Weft-Szenario aussieht
Die Sprachsyntax ist deklarativ und konzentriert sich auf das Verknüpfen von Blöcken:
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
In diesem kleinen Beispiel werden vier Knoten deklariert: Text, Modellkonfiguration, die LLM-Inferenz selbst und Debug-Ausgabe. Verbindungen zwischen ihnen werden durch explizites Übergeben von Feldern hergestellt.
Was unter der Haube steckt
Der Compiler-Kern, der Orchestrator und der Executor sind in Rust geschrieben. Das Dashboard-Webinterface ist mit SvelteKit (Svelte 5) aufgebaut.
Alle verfügbaren Blöcke befinden sich im Verzeichnis catalog/. Jeder neue Block wird durch zwei Dateien in einem separaten Ordner beschrieben:
backend.rsdefiniert die serverseitige Logik in Rustfrontend.tslegt das Node-Rendering, die Ports und die Konfigurationsfelder in der UI fest
Ein spezielles Skript verknüpft sie automatisch mit dem Dashboard und der Runtime. Das Hinzufügen von benutzerdefinierten Knoten erweist sich als ziemlich unkompliziert.
Das aktuelle Verzeichnis enthält bereits Blöcke für die Arbeit mit LLMs, die Ausführung von Python-Code, das Senden von Nachrichten an Telegram, Discord, Slack und WhatsApp, die Arbeit mit Postgres sowie Websuche.
Aktueller Stand und Lizenz
Das Projekt befindet sich in einem frühen Entwicklungsstadium. Die Autoren geben im README offen zu, dass sich die Architektur noch bildet, weshalb Breaking Changes möglich sind.
Weft wird unter der O'Saasy-Lizenz (einer modifizierten MIT) vertrieben. Sie erlaubt kostenlose Nutzung, Modifikation und Self-Hosting, verbietet jedoch das Betreiben eines kommerziellen kostenpflichtigen Dienstes, der auf diesem Code basiert und mit den Autoren konkurriert.
Wer das Projekt verfolgen sollte
Weft ist interessant als Versuch, den Ansatz zur Orchestrierung neuronaler Netzwerkagenten neu zu überdenken. Wenn Sie es leid sind, komplexe Aufrufgraphen in universellen Programmiersprachen zu bekämpfen und nach einem Tool mit integrierter Fehlertoleranz suchen, lohnt es sich definitiv, das Repository zu bookmarken.
Ähnliche Projekte