>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Systemy wbudowane Bezpieczeństwo
Rust

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.rs definiuje logikę po stronie serwera w Rust
  • frontend.ts okreś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