После приобретения второго DGX Spark в лаборатории можно собрать такую архитектуру: локальный инференс большой модели, автоматизация взаимодействия с бизнес-системами и среда выполнения агента. Это не готовый стек с официальной поддержкой.
Архитектура, которую можно обосновать имеющимися данными, уже. Вы оцениваете четыре уровня, которые должны оставаться независимыми:
- Связь между узлами: два Spark, объединенные для распределенного инференса (документация NVIDIA по кластеризации, руководство по подключению двух Spark).
- Экспериментальный сервер моделей: разработанный сообществом OpenAI-совместимый способ запуска DeepSeek-V4-Flash или варианта DSpark со спекулятивным декодированием на обоих узлах.
- Детерминированная автоматизация: n8n для вебхуков, расписаний, интеграции с CRM, электронной почтой и Slack, валидации и ручных контрольных точек.
- Среда для задач, требующих суждения: Hermes Agent для триажа, подготовки черновиков, расследований и использования инструментов, требующих памяти и многошагового рассуждения (официальная документация API-сервера, официальная документация вебхуков).
Описанная в этой статье связка n8n и Hermes является иллюстративной интеграцией, а не готовым решением, документированным или поддерживаемым одним из поставщиков. Для рабочего процесса, которому необходимо вернуть результат агента в n8n, используйте API-сервер Hermes с аутентификацией по токену доступа. Адаптер HMAC-вебхуков Hermes представляет собой отдельный интерфейс приема событий: он запускает агента и доставляет результат настроенному получателю, но не определяет общий синхронный контракт возврата для n8n.
Опциональный пятый уровень: OpenClaw для интерфейса каналов чата. При необходимости его можно запустить через NemoClaw и OpenShell, чтобы применять политики песочницы. NemoClaw сейчас находится на стадии альфа-версии и раннего предварительного просмотра, а не готов к промышленной эксплуатации. Ни один из этих уровней не требуется для трех описанных ниже рабочих процессов.
Не отправляйте автоматически клиентские письма, не подписывайте юридические документы, не изменяйте производственную инфраструктуру и не совершайте платежи из цикла агента. Направляйте необратимые действия через узел утверждения человеком до тех пор, пока у вас не появятся журналы, идемпотентность и достаточное количество проверенных запусков для доверия к этому пути.
Что DeepSeek-V4-Flash меняет на двух узлах Spark
DeepSeek-V4-Flash представляет собой модель Mixture-of-Experts с 284B параметров, из которых активируются 13B, и контекстным окном в 1M токенов согласно официальной карточке модели. Веса instruct-версии используют FP4 для маршрутизируемых экспертов и FP8 в остальных компонентах. Эта комбинация важна для Spark по нескольким причинам:
- Число активных параметров удерживает стоимость декодирования на более приемлемом уровне по сравнению с плотными моделями сопоставимого номинального размера.
- Длинный контекст полезен для рабочих нагрузок агентов (фрагменты репозиториев, истории задач, наборы политик), если вы действительно извлекаете нужный материал и продолжаете проверять утверждения.
- Чекпоинт DSpark представляет собой ту же модель с добавленным модулем спекулятивного декодирования. Официальный пример в карточке модели использует один узел GB300 с четырьмя GPU, а не два Spark; рассматриваемый ниже отчет сообщества о vLLM использует чекпоинт без DSpark на двух системах GB10.
Относитесь к опубликованным показателям токенов в секунду и максимального контекста как к отчетам для конкретного рецепта, а не как к гарантии для вашего кабеля, драйвера, контейнера или настроек параллелизма. Официальные карточки моделей не документируют проверенное развертывание на двух Spark; пример DSpark использует один узел GB300 с четырьмя GPU. По состоянию на 2026-08-10, открытая проблема vLLM #40969 описывала зависание после шестого или седьмого запроса на двух системах GB10 для одной зафиксированной сборки vLLM с графами CUDA FULL_AND_PIECEWISE, порционным предварительным заполнением, Marlin MoE, кэшем KV в FP8 и TP=2. Это свидетельство относительно данной конфигурации, а не любого развертывания. Используйте этот путь только как зафиксированный эксперимент с моделью отката.
Референсная архитектура
┌─────────────────────────────┐
Формы/CRM/Git ──►│ n8n (проверка, ветвление, HITL) │──► Slack / CRM / email
└──────────────┬──────────────┘
│ HTTPS + bearer auth
▼
┌─────────────────────────────┐
│ Hermes (память, инструменты, черновик)│
└──────────────┬──────────────┘
│ OpenAI-compatible /v1
▼
┌────────────────────────────────────────┐
│ Spark A ◄── QSFP / RoCE ──► Spark B │
│ экспериментальный путь сообщества для модели TP=2 │
└────────────────────────────────────────┘
Правила проектирования, которые не позволят архитектуре остаться всего лишь демонстрацией:
| Уровень | Отвечает за | Не должен отвечать за |
|---|---|---|
| n8n | Триггеры, схемы, повторные попытки, записи в SaaS, утверждения | Открытая оболочка в локальной сети |
| Hermes | Классификация, черновое формирование, этапы исследования, использование инструментов | Тихие побочные эффекты в продуктивной среде |
| Сервер моделей | Входящие токены / исходящие токены | Бизнес-учетные данные |
| OpenClaw (опционально) | Каналы человеческого чата + списки разрешенных адресов | Несанкционированный root на хосте |
Направьте Hermes (и узлы AI n8n, если вы их используете) на конечную точку кластера как обычный базовый URL, совместимый с OpenAI. Храните API-ключи в локальной сети/VPN; не выставляйте порт vLLM в публичный интернет.
Контрольный список запуска (порядок имеет значение)
1. Инфраструктура из двух Spark
Следуйте руководству NVIDIA, а не пересказам с форумов:
- Одинаковое имя пользователя на обоих узлах.
- Один кабель QSFP между соответствующими портами ConnectX-7. Согласно руководству NVIDIA, полная пропускная способность достигается одним кабелем, а прирост пропускной способности от второго кабеля между теми же двумя системами не документирован.
- Выделенное L3-адресование / netplan для высокоскоростного пути; используйте 10 Гбит/с или Wi-Fi для управления и выхода в интернет.
- Беспарольный SSH между узлами.
- Убедитесь, что интерфейсы показывают статус Up (
ibdev2netdev/ шаги NVIDIA), прежде чем искать ошибки NCCL.
Cluster Assistant от NVIDIA Sync может настроить ConnectX-7 и SSH для поддерживаемых топологий; он не устанавливает ваш стек инференса за вас.
2. Сервер моделей
- Выберите именованный рецепт сообщества, который фиксирует контейнер/сборку, стек CUDA, патчи vLLM, команды запуска и известные ограничения. Не собирайте производственную команду из фрагментов в этой статье.
- Убедитесь, что рецепт явно поддерживает ваши два узла GB10 и точный чекпоинт
DeepSeek-V4-Flash. Размер тензорного параллелизма 2 остается проверяемой гипотезой, а не официальным обещанием поддержки. - Откройте
/v1/modelsи/v1/chat/completionsтолько на приватном интерфейсе. - Зафиксируйте: максимальный контекст, который вы фактически настроили, максимальное количество одновременных последовательностей, тип данных KV и включено ли спекулятивное декодирование.
- Текущая документация Hermes требует настроить контекст модели как минимум на 64K токенов. Профиль сервера с меньшим контекстом не подтверждает совместимость с текущей версией Hermes; настройте и испытайте под длительной нагрузкой профиль 64K или больше до подключения.
Проведите нагрузочное тестирование коротких, длинных, повторяющихся и одновременных запросов до подключения агентов. Описанный сбой при работе двух узлов Spark возникает после серии запросов, поэтому один ответ «привет» почти ничего не доказывает. Этот путь нельзя считать готовым к промышленной эксплуатации, пока зафиксированная сборка не пройдет длительный тест стабильности на вашем оборудовании.
3. Hermes
- Установите Hermes по официальному краткому руководству и настройте провайдера моделей на приватный базовый URL, совместимый с OpenAI.
- Для описанных ниже рабочих процессов «запрос-ответ» включите API-сервер, задайте надежный
API_SERVER_KEY, оставьте его на приватном интерфейсе и проверьтеGET /health(документированный порт по умолчанию 8642). Используйте/v1/responsesдля прямого результата или/v1/runsс опросом состояния для длительной задачи. - Если вам нужен прием событий с доставкой результата в другое место, используйте отдельный адаптер вебхуков: именованные маршруты, HMAC V2 с отметкой времени, идентификаторы запросов для устранения дубликатов и порт по умолчанию 8644. Не принимайте его подтверждение приема за результат работы агента.
- Запретите широкие оболочки до тех пор, пока у вас не появится разрешающий список и человек, контролирующий журналы. API-ключ разрешает доступ к инструментам агента, а не только к тексту модели.
На DGX Spark NemoClaw может запускать Hermes внутри OpenShell с применением политик файловой системы, сети и процессов. Относитесь к этому как к пути оценки альфа-версии, а не как к гарантии безопасности в промышленной эксплуатации.
4. n8n
- Разверните систему в собственном доверенном сегменте сети или через VPN. Используйте паттерны из материалов о локальных OpenAI-совместимых конечных точках для n8n и идемпотентности с ручными контрольными шлюзами.
- Для используемой ниже передачи «запрос-ответ» настройте официальный узел HTTP Request в n8n с учётными данными токена доступа и явными тайм-аутами. Храните долговременную запись бизнес-идемпотентности в n8n или бизнес-системе. API-сервер Hermes поддерживает кэширование ответов по
Idempotency-Keyв течение пяти минут, но это ограниченное окно транспортного уровня не заменяет долговременную дедупликацию рабочего процесса. Если вы намеренно выбираете отдельный путь вебхуков Hermes, узел Crypto в n8n может создать HMAC, но подписанные байты и заголовки отметки времени V2 должны точно соответствовать контракту вебхуков Hermes. Материал о передаче данных между n8n и Hermes по вебхуку описывает иллюстративный проект, а не официальную интеграцию поставщиков.
Три варианта оценочных рабочих нагрузок
Сценарий A: приватная триажная обработка обращений
Проблема: Обращения содержат текст клиентов, который нельзя передавать публичным провайдерам моделей. Для триажа все равно требуется суждение: определение приоритета и области продукта, выявление дубликатов и подготовка черновика ответа.
Поток:
- Вебхук службы поддержки → n8n.
- n8n проверяет схему, обезличивает данные (токены, номера карт в открытом виде), устраняет дубликаты по идентификатору обращения.
- n8n записывает ключ идемпотентности на уровне рабочего процесса, а затем отправляет минимально необходимую нагрузку приватному API-серверу Hermes с токеном доступа по узкому версионированному контракту промпта
support-triage. - Hermes обращается к локальной модели DeepSeek-V4-Flash и возвращает ответ. n8n разбирает и проверяет по схеме требуемый объект
{severity, product, confidence, draft, needs_human}; неполный или некорректный результат направляется человеку на проверку. - n8n разветвляет поток: при низкой уверенности или
needs_human→ запрос подтверждения в Slack; при высокой уверенности и разрешенных действиях → обновление полей обращения (без автоматической отправки, пока вы не повысите уровень доверия).
Гипотеза для проверки: Коннекторы n8n и вызов API Hermes могут поддерживать этот поток. Конечная точка модели остается в частной сети, однако исходящие инструменты и коннекторы SaaS все равно пересекают эту границу и требуют контроля исходящего трафика. Оцените, улучшает ли дополнительный контекст результат, но в любом случае проверяйте черновик вручную.
Не делайте: Не позволяйте Hermes открывать произвольные URL из текста обращения без белого списка прокси (риск инъекции промпта).
Сценарий B: внутренний исследовательский ассистент с длинным контекстом
Проблема: Юристам, операционным специалистам или руководителям инженерных отделов необходимо «прочитать эти 40 PDF-файлов / фрагмент монорепозитория и структурировать краткое резюме», не загружая корпус документов в SaaS LLM.
Поток:
- Человек помещает папку с заданиями (или n8n отслеживает защищенный почтовый ящик).
- n8n упаковывает метаданные и результаты поиска (или инструменты Hermes читают данные из разрешенного пути / индекса RAG).
- Hermes выполняет многошаговый исследовательский промпт для модели DeepSeek-V4-Flash с явной схемой цитирования.
- n8n проверяет форму ответа и помещает его в очередь на проверку. Для каждого утверждения требуется путь к источнику и диапазон; человек принимает или отклоняет.
Почему V4-Flash: Главные преимущества здесь состоят в официально заявленном контексте на 1M токенов и эффективном механизме внимания для длинного контекста, однако окно контекста ≠ точность. Качество поиска информации и проверка ссылок важнее максимального числа токенов.
Не делайте: Не подавайте автоматически регуляторные отчеты или медицинские заключения. Система может помогать с чтением и черновиками, но подписывать результат должен лицензированный специалист.
Сценарий C: постоянный мониторинг инцидентов с чат-интерфейсом
Проблема: Дежурный инженер хочет «отслеживать эти оповещения, расследовать их по логам и предлагать шаги из руководства по устранению», а также задавать уточняющие вопросы через Telegram или Slack, не предоставляя модели root-доступ к кластеру.
Поток:
- n8n по расписанию / вебхук PagerDuty собирает отпечатки оповещений.
- Hermes расследует инцидент с помощью инструментов только для чтения (API запроса логов, конечные точки статуса) через разрешенные учетные данные.
- Hermes возвращает: гипотезу, доказательства, предлагаемую следующую команду (не выполняется).
- Опциональный канал OpenClaw/NemoClaw позволяет дежурному инженеру обращаться к отдельно настроенной среде выполнения агента с разрешающими списками (основы безопасности OpenClaw). Не предполагайте, что OpenClaw и Hermes разделяют сеанс или хранилище памяти.
Гипотеза о двух Spark: параллельные расследования или более крупная модель и контекст могут оправдать второй узел. Сравните эту конфигурацию с одним Spark и управляемым инференсом, измеряя длину очереди, качество, задержку, совокупную стоимость и требования к конфиденциальности.
Не делайте: Не устраняйте инциденты автоматически. Предлагаемые команды передаются человеку или строго ограниченному исполнителю руководства по устранению с собственной аутентификацией.
Режимы сбоев, которые следует предусмотреть с первого дня
| Сбой | Симптом | Меры по устранению |
|---|---|---|
| Неправильная настройка NCCL/RoCE | Зависание или переход на TCP, резкий рост задержки | Привязать NCCL к интерфейсам RoCE; проверить сеть до запуска агентов |
| Избыточное использование контекста | Одна длинная задача блокирует остальные | Ограничить max_model_len / параллелизм; очередь в n8n |
| Злоупотребление входным интерфейсом | Атакующий инициирует Hermes | Токен доступа или HMAC с отметкой времени; частная сеть; ограничение частоты запросов |
| Инъекция промпта | Текст заявки переопределяет политику | Раздельные системные маршруты для промптов; разрешающие списки инструментов; запрет на передачу сырого HTML в оболочку |
| Тихие записи SaaS | Дублирование обновлений CRM | Ключи идемпотентности; контроль человека перед отправкой |
| Сдвиг модели | Рецепт ломается после обновления контейнера | Фиксация дайджестов образов; дымовые тесты в CI |
Как выглядит «готовый результат»
Вы можете считать, что работает только проверенный функционал, если:
- Зафиксированная сборка с двумя узлами Spark проходит повторные и параллельные длительные тесты, включая сценарий сбоя, описанный в отчете; зафиксируйте точное количество запусков, размеры контекста и уровень ошибок.
- Путь n8n → Hermes → модель аутентифицирован сквозным образом и журналируется; n8n проверяет возвращенную схему приложения.
- Как минимум один именованный рабочий процесс требует подтверждения человеком для каждого внешнего сообщения и проходит свой предопределенный набор тестовых данных.
- У вас есть письменный план отката: отключите вызов Hermes из n8n, переключитесь на шаблоны только n8n или направьте Hermes на меньшую локальную модель.
Упражнение
Выберите вариант использования A. Реализуйте только валидацию вебхука в n8n, один версионированный контракт промпта через API-сервер Hermes с токеном доступа, запись идемпотентности на уровне рабочего процесса, локальный вызов модели, проверку схемы ответа и предварительный просмотр черновика. Не подключайте отправку электронной почты. Используйте репрезентативный утвержденный набор данных оценки, достаточный для обычных и редких случаев; заранее определите критерии согласования степени серьезности, неподдерживаемого утверждения, редактирования, задержки и отказа. На основании этих данных решите, оправдан ли второй узел Spark или V4-Flash.
Дополнительная литература
- DGX Spark: что это
- Подключение двух DGX Sparks
- Песочницы с агентами NemoClaw на Spark
- Hermes против n8n
- Передача данных между n8n и Hermes через вебхук
- Официальные материалы: карточка модели DeepSeek-V4-Flash, карточка модели DeepSeek-V4-Flash-DSpark, API-сервер Hermes, вебхуки Hermes, узел HTTP Request в n8n, кластеризация NVIDIA Spark



