Dyad интересен не тем, что переносит AI в настольное приложение, а тем, что собирает локальный контур исполнения, инструменты и состояние проекта в одну управляемую систему.
Глава показывает, как многопроцессная архитектура Electron, IPC-границы, шаблоны проекта и контрольные точки помогают держать безопасность, воспроизводимость и качество изменений.
Для архитектурных интервью это удобный кейс, чтобы обсуждать настольное приложение, локальное выполнение, права инструментов и компромисс между автономией агента и управляемостью платформы.
Практическая польза главы
Локальный контур
Глава помогает обсуждать локальное выполнение как архитектурный выбор, а не как маркетинговую особенность продукта.
Агент и инструменты
Через Dyad удобно разбирать границы между интерфейсом, оркестрацией агента, файловой системой и шаблонным управлением проектом.
Откат и состояние
Кейс хорошо показывает, почему контрольные точки и управляемое состояние важны ещё до расширения автономии агента.
Материал для интервью
Это удобный кейс для разговора про архитектуру настольного приложения, локальное выполнение и безопасную автоматизацию инженерных действий.
Источник
Dyad repository
Открытый репозиторий локального AI-конструктора приложений: исходный код, архитектурные заметки и документация по устройству платформы.
Dyad — настольный AI-конструктор приложений, который собирает код прямо на машине разработчика. Архитектурно он интересен тем, как соединяет три вещи, которые обычно тянут в разные стороны: , агентную оркестрацию и шаблонное управление проектом. Разработчик задаёт намерение, а платформа отвечает за то, чтобы изменения и проверки выполнялись управляемо, а не как придётся.
Глава собрана по публичным материалам и архитектурным заметкам команды. Интерес здесь не в самом продукте, а в паттернах, которые переносятся в любую платформу с AI-помощником: явные -границы, шаблоны проекта и для безопасного отката.
Архитектурные паттерны Dyad
Многопроцессная архитектура Electron
Основной процесс работает с функциями ОС, файлами и интеграциями, а процесс рендеринга держит интерфейс на React.
- Интерфейс и системный слой разнесены по ответственности: сбой одного не утягивает за собой другой.
- Межпроцессное взаимодействие (IPC) работает явной шиной обмена между процессами.
Оркестрация агента и инструментов
Большая языковая модель (LLM) выдаёт не просто текст с кодом, а структурированные действия, которые Dyad выполняет через ограниченный набор инструментов.
- Рассуждение и действие сведены в один управляемый контур, а не разнесены по сервисам.
- Через набор инструментов платформа решает, что модель вообще имеет право выполнить.
Локальное выполнение и хранение состояния
Код и рабочие артефакты остаются на машине пользователя. Это снижает задержку и убирает вопрос, кто и где хранит приватные данные проекта.
- Ядро продукта работает без обязательной облачной среды выполнения.
- Платформу проще встроить в привычный процесс разработчика и его интегрированную среду разработки (IDE).
Шаблоны и правила генерации
Шаблоны проекта и AI_RULES.md задают технологические рамки и ожидаемую структуру результата ещё до первого запроса к модели.
- Старт идёт от готовой основы, а не с пустого проекта, который модель достраивает наугад.
- Ожидания от генерации зафиксированы декларативно на уровне шаблона.
Контрольные точки и откат
Изменения в коде и базе данных откатываются через контрольные точки и ветвление в Postgres, поэтому неудачная генерация не превращается в разбор последствий вручную.
- Откат и повторное применение встроены в платформу, а не остаются ручным ритуалом.
- Эксперименты с действиями агента дешевле, когда состояние зафиксировано явно и его есть куда вернуть.
Визуализация архитектуры приложения
Диаграмма разворачивает Dyad как локальный контур исполнения и показывает, где проходит граница доверия: от интерфейса и -границы до инструментов, рабочего пространства и внешних провайдеров.
Что держать под контролем
Dyad полезно смотреть не как оболочку вокруг модели, а как локальный контур исполнения со слоями состояния, безопасности, инструментов и управляемого отката.
Границы доверия
Состояние и откат
Внешние зависимости
Ключевые модули репозитория
Основное приложение
Интерфейс, preload, основной процесс и фоновые задачи, включая тяжелые проверки и сборку.
Общие пакеты
packages/@dyad-sh: общие библиотеки для AI-провайдеров, типизации и интеграций.
Шаблоны и стартовые заготовки
Стартовые структуры приложений и правила генерации, включая AI_RULES.md.
Тестирование и выпуск
Модульные, интеграционные и сквозные проверки, упаковка через Electron Forge и автоматизация CI.
Как проходит изменение в Dyad
Путь изменения показывает три ключевых момента: где платформа собирает контекст, где исполняет действия и где фиксирует состояние, чтобы откат потом не был дорогим.
Путь изменения в Dyad
От пользовательского запроса до контрольной точки и безопасного отката
Запрос и намерение
Пользователь формулирует задачу: новую возможность, правку интерфейса или изменение логики.
Сбор контекста
Dyad собирает релевантные файлы проекта, шаблон и правила генерации.
План агента и вызов инструментов
Модель строит последовательность действий и возвращает структурированные вызовы инструментов для платформы.
Применение изменений
Основной процесс применяет патчи, запускает проверки и обновляет предварительный просмотр.
Контрольная точка и откат
Состояние фиксируется как контрольная точка, чтобы регрессию можно было безопасно откатить.
Запрос и намерение
Пользователь формулирует задачу: новую возможность, правку интерфейса или изменение логики.
Сбор контекста
Dyad собирает релевантные файлы проекта, шаблон и правила генерации.
План агента и вызов инструментов
Модель строит последовательность действий и возвращает структурированные вызовы инструментов для платформы.
Применение изменений
Основной процесс применяет патчи, запускает проверки и обновляет предварительный просмотр.
Контрольная точка и откат
Состояние фиксируется как контрольная точка, чтобы регрессию можно было безопасно откатить.
Инженерные сильные стороны
- Локальное выполнение оставляет данные проекта у разработчика и снимает привязку к вендору.
- Явные границы между инструментами не дают модели исполнять действия хаотично.
- Шаблонный подход ускоряет старт и делает генерацию повторяемой, а не одноразовой удачей.
Сборка, тесты и качество
- Electron Forge и Vite поддерживают локальную разработку и упаковку настольных сборок.
- Playwright покрывает сквозные сценарии, а Vitest — модульные и интеграционные тесты.
- Husky и lint-staged включают проверки качества до коммита.
- Разделение OSS- и Pro-модулей снижает риск смешения лицензий.
Практический чеклист
- Сначала зафиксируйте границы между интерфейсом, оркестрацией агента и операциями над файлами, и только потом добавляйте новые инструменты.
- Откат и контрольные точки проектируйте раньше, чем расширяете автоматизацию действий агента, иначе откатывать будет нечего.
- Держите шаблоны и AI_RULES в одном жизненном цикле с продуктом: версия шаблона должна совпадать с версией ожиданий от генерации.
- Покрывайте сквозными сценариями весь путь от запроса до патча и предварительного просмотра в критичных пользовательских историях.
- Для Pro- и OSS-модулей поддерживайте строгий интеграционный контракт, чтобы не ломать открытое ядро продукта.
Связанные главы
- Lovable: от GPT Engineer к AI-конструктору приложений - контрастный кейс AI-конструктора с облачной траекторией, совместной работой и другим балансом между скоростью и контролем.
- ML-платформа в Т-Банке: всеобщее благо или лучше не надо - практический разбор платформенной инженерии для ML-команд с акцентом на эксплуатацию, роли платформы и поставку изменений.
- AI Engineering - инженерная база для работающих в продакшене AI-систем: оценивание, развёртывание и эксплуатация — то, на что опирается платформа вроде Dyad.
