Зачем создавать целый язык программирования для оркестрации нейросетей
Когда пытаешься собрать сложную систему на базе LLM с помощью Python или TypeScript, код быстро обрастает инфраструктурной рутиной. Приходится вручную поднимать очереди сообщений, писать повторные попытки запросов, сохранять промежуточное состояние в БД и придумывать костыли для ожидания ответа от пользователя. Обычные языки ничего не знают про специфику вызова языковых моделей или необходимость поставить процесс «на паузу» на пару дней.
Разработчики из WeaveMind решили подойти к проблеме кардинально. Вместо очередной библиотеки они пишут Weft — полноценный язык программирования, где LLM, внешние API, базы данных и участие человека изначальные элементы языка.
Зачем нужен новый язык
Главная задумка Weft — избавить инженера от написания сервисного обвеса. Связи между моделями, базами и логикой проверяются компилятором еще до запуска программы.
Сейчас проект активно переписывают под концепцию MVP, а официальный релиз запланирован на август 2026 года. Тем не менее исходники открыты, и взглянуть на предлагаемый подход можно прямо сейчас.
Главные фичи архитектуры
Человек в контуре без лишних сервисов
Если бизнес-логика требует подтверждения менеджера или ввода данных оператором, процесс останавливается на нужной инструкции. Не нужно разворачивать БД для статусов, настраивать вебхуки или опрашивать API по таймеру. Программа, которая ждет клика пользователя три секунды, пишется абсолютно так же, как сценарий с ожиданием в три дня.
Две формы представления
Код на Weft одновременно является и текстовым сценарием, и визуальным графом. Это не просто графическая оболочка поверх файла конфигурации. Изменение узла на диаграмме меняет исходный текст, и наоборот. Инженеры могут работать с текстом, а аналитики смотреть на наглядную схему процесса.
Надежное выполнение через Restate
Под капотом используется движок Restate. Если сервер сгенерирует ошибку, перезагрузится или потеряет сеть во время вызова LLM, выполнение продолжится с точки сбоя без потери накопленного контекста.
Сквозная типизация
Компилятор проверяет типы данных по всей цепочке. Если один узел отдаёт объект определенной структуры, а следующий принимает чистую строку, сборщик сразу укажет на ошибку. Это помогает отлавливать опечатки в полях JSON еще на этапе написания кода.
Как выглядит сценарий на Weft
Синтаксис языка сделан декларативным и ориентирован на связывание блоков:
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
В этом небольшом примере объявляются четыре узла: текст, конфиг модели, сам инференс LLM и отладочный вывод. Связи между ними задаются явным прокидыванием полей.
Что под капотом
Ядро компилятора, оркестратор и исполнитель написаны на Rust. Веб-интерфейс дашборда построен на SvelteKit (Svelte 5).
Все доступные блоки живут в каталоге catalog/. Каждый новый блок описывается двумя файлами в отдельной папке:
backend.rsопределяет серверную логику на Rustfrontend.tsзадает отображение узла, порты и поля конфигурации в UI
Специальный скрипт автоматически связывает их с дашбордом и рантаймом. Добавлять собственные узлы оказывается достаточно просто.
В текущий каталог уже входят блоки для работы с LLM, выполнения Python-кода, отправки сообщений в Telegram, Discord, Slack, WhatsApp, работы с Postgres и веб-поиска.
Текущее состояние и лицензия
Проект находится на ранней стадии разработки. Авторы прямо говорят в README, что архитектура еще формируется, поэтому возможны ломающие изменения.
Распространяется Weft по лицензии O'Saasy (модифицированный MIT). Она разрешает бесплатное использование, модификацию и селф-хостинг, но запрещает запускать на базе этого кода коммерческий платный сервис, конкурирующий с авторами.
Кому стоит следить за проектом
Weft интересен как попытка переосмыслить подход к оркестрации нейросетевых агентов. Если вы устали бороться со сложными графами вызовов в обычных языках и ищете инструмент со встроенной устойчивостью к сбоям, репозиторий точно стоит добавить в закладки.