Запись архива

Локальный муравейник для LLM-агентов: визуализация роя на одной карте

Инструмент для запуска и отладки роя LLM-агентов на локальной машине. Прозрачная архитектура, визуализация топологии и возможность вмешаться в работу любого агента в реальном времени — без скрытых сообщений.

Интерфейс панели управления роем LLM-агентов с графом топологии и инспектором
Интерфейс панели управления роем LLM-агентов с графом топологии и инспектором
Kurdish people protest against the Turkiish government at Hay Hill, Norwich | by Roger Blackwell | openverse | by

Франциско Карлос Серра опубликовал на 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