Dlaczego stworzyć cały język programowania do orkiestracji sieci neuronowych
Podczas próby zbudowania złożonego systemu opartego na LLM przy użyciu Pythona lub TypeScriptu kod szybko zostaje pogrzebany pod szkieletem infrastruktury. Trzeba ręcznie skonfigurować kolejki komunikatów, napisać logikę ponowień, utrwalać stan pośredni w bazie danych i wymyślać obejścia dla oczekiwania na odpowiedzi użytkowników. Języki ogólnego przeznaczenia nie wiedzą nic o specyfice wywoływania modeli językowych ani o potrzebie wstrzymania procesu na kilka dni.
Deweloperzy w WeaveMind postanowili zmierzyć się z tym problemem w radykalny sposób. Zamiast kolejnej biblioteki budują Weft — pełnoprawny język programowania, w którym LLM-y, zewnętrzne API, bazy danych i zaangażowanie człowieka są elementami pierwszoklasowymi języka.
Dlaczego potrzebny jest nowy język
Główna idea stojąca za Weft to uwolnienie inżynierów od pisania szkieletów usług. Połączenia między modelami, bazami danych i logiką są walidowane przez kompilator jeszcze przed uruchomieniem programu.
Projekt jest obecnie aktywnie przepisywany, aby dostosować go do koncepcji MVP, a oficjalne wydanie zaplanowano na sierpień 2026 roku. Mimo to kod źródłowy jest otwarty i można już teraz zapoznać się z proponowanym podejściem.
Główne cechy architektury
Human in the loop bez dodatkowych usług
Jeśli logika biznesowa wymaga zatwierdzenia przez menedżera lub wprowadzenia danych przez operatora, proces zatrzymuje się na odpowiedniej instrukcji. Nie trzeba konfigurować bazy danych dla statusów, webhooków ani odpytywać API w pętli. Program oczekujący na kliknięcie użytkownika przez trzy sekundy zapisuje się dokładnie tak samo jak scenariusz z trzydniowym oczekiwaniem.
Dwie formy reprezentacji
Kod Weft jest jednocześnie scenariuszem tekstowym i grafem wizualnym. To nie jest tylko graficzna powłoka nad plikiem konfiguracyjnym. Zmiana węzła na diagramie modyfikuje tekst źródłowy i odwrotnie. Inżynierowie mogą pracować z tekstem, podczas gdy analitycy widzą przejrzysty diagram procesu.
Niezawodne wykonanie dzięki Restate
Pod maską używany jest silnik Restate. Jeśli serwer zgłosi błąd, zostanie zrestartowany lub straci połączenie sieciowe podczas wywołania LLM, wykonanie wznawia się od punktu błędu bez utraty nagromadzonego kontekstu.
Typowanie end-to-end
Kompilator sprawdza typy danych w całym łańcuchu. Jeśli jeden węzeł zwraca obiekt o określonej strukturze, a następny oczekuje zwykłego ciągu znaków, builder natychmiast sygnalizuje błąd. Pomaga to wychwycić literówki w polach JSON na etapie pisania kodu.
Jak wygląda scenariusz Weft
Składnia języka jest deklaratywna i skupiona na łączeniu bloków:
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
W tym niewielkim przykładzie deklarowane są cztery węzły: tekst, konfiguracja modelu, samo wywołanie LLM oraz debugowanie. Połączenia między nimi są ustalane przez jawne przekazywanie pól.
Co pod maską
Rdzeń kompilatora, orkiestrator i executor są napisane w Rust. Interfejs web dashboardu jest zbudowany z SvelteKit (Svelte 5).
Wszystkie dostępne bloki znajdują się w katalogu catalog/. Każdy nowy blok jest opisany przez dwa pliki w osobnym folderze:
backend.rsdefiniuje logikę po stronie serwera w Rustfrontend.tsokreśla renderowanie węzła, porty i pola konfiguracji w UI
Specjalny skrypt automatycznie łączy je z dashboardem i runtime. Dodawanie własnych węzłów okazuje się dość proste.
Obecny katalog zawiera już bloki do pracy z LLM-ami, wykonywania kodu Python, wysyłania wiadomości do Telegram, Discord, Slack i WhatsApp, pracy z Postgres oraz wyszukiwania w internecie.
Aktualny stan i licencja
Projekt znajduje się we wczesnym stadium rozwoju. Autorzy otwarcie przyznają w README, że architektura wciąż się kształtuje, więc możliwe są zmiany powodujące niekompatybilność wsteczną.
Weft jest rozpowszechniany na licencji O'Saasy (zmodyfikowana MIT). Pozwala ona na darmowe użycie, modyfikację i samodzielne hostowanie, ale zabrania uruchamiania komercyjnej płatnej usługi opartej na tym kodzie, która konkuruje z autorami.
Kto powinien śledzić projekt
Weft jest interesujący jako próba przemyślenia podejścia do orkiestracji agentów sieci neuronowych. Jeśli jesteś zmęczony walką ze złożonymi grafami wywołań w językach ogólnego przeznaczenia i szukasz narzędzia z wbudowaną odpornością na błędy, repozytorium zdecydowanie warto dodać do zakładek.
Powiązane projekty