
Франциско Карлос Серра опубликовал на GitHub инструмент Local Multi-Agent Swarm — среду для запуска и наблюдения за роем LLM-агентов, работающих на одной локальной машине. Проект решает обратную задачу по сравнению с большинством мультиагентных фреймворков: вместо того чтобы прятать внутреннюю коммуникацию, он делает каждый spawn, каждое сообщение и каждую файловую запись видимыми в реальном времени.
Что это такое
По сути, это веб-панель, поднимаемая на localhost:7812 одной командой (python3 server.py, без установки зависимостей). Пользователь вводит цель, нажимает ▶ new, и корневой агент получает задачу. Агент может работать в одиночку или порождать детей с подзадачами (SPAWN), отправлять им сообщения (SEND), писать файлы (WRITE), убивать завершённые процессы (KILL) и сообщать о готовности (DONE). Набор команд строго ограничен: STATUS, SPAWN, SEND, KILL, DONE, WAIT, LS, READ, WRITE (только добавление в конец файла — защита от перезаписи) и RUN (выключен по умолчанию). Всё остальное игнорируется и логируется.
Архитектура и визуализация
Панель разделена на три колонки:
- Слева — инспектор для выбранного элемента (агент, ребро графа, файл) и общий лог.
- В центре — граф топологии роя, на котором видна иерархия задач.
- Справа — runtime-метрики (слоты движка, загрузка GPU, токены на агента) и treemap записываемых файлов.
Агенты могут работать только внутри каталога work/ конкретного запуска. Выполнение шелл-команд по умолчанию отключено; при включении работает через bubblewrap без доступа к сети.
Технические детали
Для работы требуется Python 3.10+ и запущенный OpenAI-совместимый сервер завершения. Эталонная конфигурация — llama.cpp с MoE-моделью на 26B параметров на одной видеокарте 24 ГБ. Но, как отмечает автор, подойдёт любая модель поменьше, карта скромнее или облачный API. Для использования хостед-модели достаточно указать в config.json движок openai или openrouter и экспортировать ключ API.
Все лимиты, промпты и пороговые значения вынесены в config.json, и панель позволяет редактировать их в разделе «Prompts & knobs». Доступные пресеты топологии: flat, orchestrator, deep, solo.
Практический смысл
Автор создал инструмент для исследования возможностей небольших локальных моделей при делегировании задач: насколько глубоко уходит дерево, где агенты застревают, когда они перезаписывают работу друг друга. Это не production-фреймворк для сложных цепочек агентов, а скорее среда для экспериментов и визуализации. Для тех, кто хочет понять, как маленькая модель справляется с многозадачностью, или просто понаблюдать за «мышлением роя», проект даёт прозрачный и удобный интерфейс.
Ограничения
- Shell-команды выключены по умолчанию — для безопасности, но это ограничивает сценарии.
- Агенты не могут взаимодействовать с внешним миром (нет сети, нет доступа за пределы work/).
- Проект не предоставляет встроенных метрик эффективности или сравнения с другими фреймворками.
- Требуется опыт настройки локального LLM-сервера (llama.cpp или аналог).
Источники
Оригинальный репозиторий: https://github.com/franciscocarloserra/local-multi-agent-swarm
Обсуждение на Hacker News: https://news.ycombinator.com/item?id=49568634