System Design Space
Граф знанийНастройки

Обновлено: 21 июня 2026 г. в 22:18

Dyad: архитектура локального AI-конструктора приложений

средний

Разбор архитектуры Dyad: многопроцессный Electron, локальный контур исполнения, оркестрация агента и инструментов, шаблоны проекта и контрольные точки для безопасного отката.

Dyad интересен не тем, что переносит AI в настольное приложение, а тем, что собирает локальный контур исполнения, инструменты и состояние проекта в одну управляемую систему.

Глава показывает, как многопроцессная архитектура Electron, IPC-границы, шаблоны проекта и контрольные точки помогают держать безопасность, воспроизводимость и качество изменений.

Для архитектурных интервью это удобный кейс, чтобы обсуждать настольное приложение, локальное выполнение, права инструментов и компромисс между автономией агента и управляемостью платформы.

Практическая польза главы

Локальный контур

Глава помогает обсуждать локальное выполнение как архитектурный выбор, а не как маркетинговую особенность продукта.

Агент и инструменты

Через Dyad удобно разбирать границы между интерфейсом, оркестрацией агента, файловой системой и шаблонным управлением проектом.

Откат и состояние

Кейс хорошо показывает, почему контрольные точки и управляемое состояние важны ещё до расширения автономии агента.

Материал для интервью

Это удобный кейс для разговора про архитектуру настольного приложения, локальное выполнение и безопасную автоматизацию инженерных действий.

Источник

Dyad repository

Открытый репозиторий локального AI-конструктора приложений: исходный код, архитектурные заметки и документация по устройству платформы.

Открыть репозиторий

Dyad — настольный AI-конструктор приложений, который собирает код прямо на машине разработчика. Архитектурно он интересен тем, как соединяет три вещи, которые обычно тянут в разные стороны: , агентную оркестрацию и шаблонное управление проектом. Разработчик задаёт намерение, а платформа отвечает за то, чтобы изменения и проверки выполнялись управляемо, а не как придётся.

Глава собрана по публичным материалам и архитектурным заметкам команды. Интерес здесь не в самом продукте, а в паттернах, которые переносятся в любую платформу с AI-помощником: явные -границы, шаблоны проекта и для безопасного отката.

Архитектурные паттерны Dyad

Многопроцессная архитектура Electron

Основной процесс работает с функциями ОС, файлами и интеграциями, а процесс рендеринга держит интерфейс на React.

  • Интерфейс и системный слой разнесены по ответственности: сбой одного не утягивает за собой другой.
  • Межпроцессное взаимодействие (IPC) работает явной шиной обмена между процессами.

Оркестрация агента и инструментов

Большая языковая модель (LLM) выдаёт не просто текст с кодом, а структурированные действия, которые Dyad выполняет через ограниченный набор инструментов.

  • Рассуждение и действие сведены в один управляемый контур, а не разнесены по сервисам.
  • Через набор инструментов платформа решает, что модель вообще имеет право выполнить.

Локальное выполнение и хранение состояния

Код и рабочие артефакты остаются на машине пользователя. Это снижает задержку и убирает вопрос, кто и где хранит приватные данные проекта.

  • Ядро продукта работает без обязательной облачной среды выполнения.
  • Платформу проще встроить в привычный процесс разработчика и его интегрированную среду разработки (IDE).

Шаблоны и правила генерации

Шаблоны проекта и AI_RULES.md задают технологические рамки и ожидаемую структуру результата ещё до первого запроса к модели.

  • Старт идёт от готовой основы, а не с пустого проекта, который модель достраивает наугад.
  • Ожидания от генерации зафиксированы декларативно на уровне шаблона.

Контрольные точки и откат

Изменения в коде и базе данных откатываются через контрольные точки и ветвление в Postgres, поэтому неудачная генерация не превращается в разбор последствий вручную.

  • Откат и повторное применение встроены в платформу, а не остаются ручным ритуалом.
  • Эксперименты с действиями агента дешевле, когда состояние зафиксировано явно и его есть куда вернуть.

Визуализация архитектуры приложения

Диаграмма разворачивает Dyad как локальный контур исполнения и показывает, где проходит граница доверия: от интерфейса и -границы до инструментов, рабочего пространства и внешних провайдеров.

Пользовательский интерфейс и вход задачи
чатпредварительный просмотрдиффсценарий запроса
Переход между слоями
Preload и IPC-граница
контракт сообщенийразрешенные командыизоляция Node APIвалидация
Переход между слоями
Основной процесс и оркестрация
очередь задачкоординацияпорядок выполнениясостояние запуска
Переход между слоями
Инструменты и операции над проектом
патчипроверкикомандыидемпотентность
Переход между слоями
Рабочее пространство, шаблоны и контрольные точки
локальные файлыAI_RULESшаблоныоткат
Переход между слоями
Внешние провайдеры и интеграции
LLMвнешние APIстоимостьрезервный путь

Что держать под контролем

Dyad полезно смотреть не как оболочку вокруг модели, а как локальный контур исполнения со слоями состояния, безопасности, инструментов и управляемого отката.

Границы доверия

IPC-контрактправа инструментовNode APIвнешние вызовы

Состояние и откат

контрольные точкиистория измененийвоспроизводимостьоткат

Внешние зависимости

провайдер моделистоимостьзадержкарезервный путь

Ключевые модули репозитория

Основное приложение

Интерфейс, preload, основной процесс и фоновые задачи, включая тяжелые проверки и сборку.

Общие пакеты

packages/@dyad-sh: общие библиотеки для AI-провайдеров, типизации и интеграций.

Шаблоны и стартовые заготовки

Стартовые структуры приложений и правила генерации, включая AI_RULES.md.

Тестирование и выпуск

Модульные, интеграционные и сквозные проверки, упаковка через Electron Forge и автоматизация CI.

Как проходит изменение в Dyad

Путь изменения показывает три ключевых момента: где платформа собирает контекст, где исполняет действия и где фиксирует состояние, чтобы откат потом не был дорогим.

Путь изменения в Dyad

От пользовательского запроса до контрольной точки и безопасного отката

Запрос
Планирование
Исполнение
Безопасность
01

Запрос и намерение

Пользователь формулирует задачу: новую возможность, правку интерфейса или изменение логики.

02

Сбор контекста

Dyad собирает релевантные файлы проекта, шаблон и правила генерации.

03

План агента и вызов инструментов

Модель строит последовательность действий и возвращает структурированные вызовы инструментов для платформы.

04

Применение изменений

Основной процесс применяет патчи, запускает проверки и обновляет предварительный просмотр.

05

Контрольная точка и откат

Состояние фиксируется как контрольная точка, чтобы регрессию можно было безопасно откатить.

Нажмите «Запуск», чтобы пройти путь изменения в Dyad шаг за шагом.

Инженерные сильные стороны

  • Локальное выполнение оставляет данные проекта у разработчика и снимает привязку к вендору.
  • Явные границы между инструментами не дают модели исполнять действия хаотично.
  • Шаблонный подход ускоряет старт и делает генерацию повторяемой, а не одноразовой удачей.

Сборка, тесты и качество

  • Electron Forge и Vite поддерживают локальную разработку и упаковку настольных сборок.
  • Playwright покрывает сквозные сценарии, а Vitest — модульные и интеграционные тесты.
  • Husky и lint-staged включают проверки качества до коммита.
  • Разделение OSS- и Pro-модулей снижает риск смешения лицензий.

Практический чеклист

  • Сначала зафиксируйте границы между интерфейсом, оркестрацией агента и операциями над файлами, и только потом добавляйте новые инструменты.
  • Откат и контрольные точки проектируйте раньше, чем расширяете автоматизацию действий агента, иначе откатывать будет нечего.
  • Держите шаблоны и AI_RULES в одном жизненном цикле с продуктом: версия шаблона должна совпадать с версией ожиданий от генерации.
  • Покрывайте сквозными сценариями весь путь от запроса до патча и предварительного просмотра в критичных пользовательских историях.
  • Для Pro- и OSS-модулей поддерживайте строгий интеграционный контракт, чтобы не ломать открытое ядро продукта.

Связанные главы

Чтобы отмечать прохождение, включи трекинг в Настройки