"3 зависимости, 0 Python: как TypeScript-фреймворк переизобретает мультиагентные системы"

3 зависимости, 0 Python: как TypeScript-фреймворк переизобретает мультиагентные системы

LangGraph, CrewAI, AutoGen — весь мультиагентный стек живёт в Python. Один разработчик решил, что это необязательно, и написал open-multi-agent на TypeScript. Три npm-пакета, локальные модели через Ollama, один вызов `runTeam()` вместо графа из десятков узлов.

Давайте разберёмся, есть ли тут смысл или это очередной «переписали на Rust/TS, потому что можем».

Зачем убирать Python из агентной разработки

Типичный стек AI-разработчика в 2026-м: React/Next.js на фронте, Node.js на бэке, и — сюрприз — Python для всего, что связано с LLM. Два рантайма, два пакетных менеджера, два набора CI/CD-скриптов.

Если вам нужен мультиагентный пайплайн, вы ставите LangChain (80+ пакетов), сверху LangGraph (граф, стейты, чекпоинты), и получаете систему, которую сложно отлаживать и страшно обновлять.

Open-multi-agent предлагает альтернативу: всё на TypeScript, всё в одном рантайме.

Как это работает

Ключевая идея — `runTeam()`. Вы описываете цель текстом. Фреймворк:

1. **Разбивает цель на подзадачи** — динамически, через LLM 2. **Запускает агентов параллельно** — каждый получает свою подзадачу 3. **Собирает и валидирует результаты** — проверяет, что каждый агент выполнил задание

Параллелизм в Node.js — это event loop и промисы. Не нужен asyncio, не нужен threading. Всё работает «из коробки».

Модели запускаются через Ollama — локально, без API-ключей, без отправки данных в облако. Это важно для self-hosted сценариев.

Три зависимости — это правда?

Да. Весь фреймворк работает на трёх npm-пакетах. Для сравнения:

- **LangChain + LangGraph**: 80–100+ зависимостей - **CrewAI**: 40+ зависимостей - **Open-multi-agent**: 3 зависимости

Это не просто красивая цифра — это разница в размере Docker-образа, времени холодного старта, поверхности атаки и скорости `npm install`.

Когда TypeScript-стек лучше Python

Не всегда. Но есть чёткие сценарии:

**TypeScript выигрывает:** - Весь продукт на TS — агенты живут рядом с бэкендом, используют те же типы - Edge/serverless — Node.js деплоится на Cloudflare Workers, Vercel Edge. Python — нет - Минимальный footprint важнее богатой экосистемы - Локальные модели, self-hosting, контроль данных

**Python выигрывает:** - Нужны сложные графы с условными переходами и чекпоинтами - Важны тысячи готовых интеграций LangChain - Команда уже на Python, переучиваться нет смысла

Паттерн goal → subtasks → agents

Это главное архитектурное решение. Вместо того чтобы рисовать граф (узлы, рёбра, условия), вы описываете конечный результат. Фреймворк сам решает, как его достичь.

Пример: «Проанализировать пять конкурентов по фичам и ценам». Фреймворк создаёт пять агентов, каждый исследует одного конкурента, результаты собираются в отчёт. Один вызов, параллельное выполнение.

На LangGraph вы бы создавали StateGraph, определяли nodes, add_edge, add_conditional_edges... Здесь — один `runTeam()`.

Ограничения

Было бы нечестно не упомянуть:

- Молодой проект — документации и комьюнити меньше, чем у LangGraph - Ollama-only — нет нативной поддержки OpenAI, Anthropic, Google API - Простая модель оркестрации — если нужен DAG с human-in-the-loop, LangGraph справится лучше - Меньше готовых инструментов — нет коннекторов к векторным хранилищам из коробки

Итого

Open-multi-agent — не убийца LangGraph. Это инструмент для конкретного сценария: TypeScript-стек, локальные модели, параллельные задачи, минимум зависимостей.

Три зависимости — это заявление: для 80% мультиагентных задач сложность Python-фреймворков избыточна.

А вы запускаете агентов на Python или уже пробовали TypeScript-альтернативы?

Начать дискуссию