Dyad интересен не тем, что переносит AI в настольное приложение, а тем, что собирает локальный контур исполнения, инструменты и состояние проекта в одну управляемую систему.
Глава показывает, как многопроцессная архитектура Electron, IPC-границы, шаблоны проекта и контрольные точки помогают держать безопасность, воспроизводимость и качество изменений.
Для архитектурных интервью это удобный кейс, чтобы обсуждать настольное приложение, локальное выполнение, права инструментов и компромисс между автономией агента и управляемостью платформы.
Практическая польза главы
Локальный контур
Глава помогает обсуждать локальное выполнение как архитектурный выбор, а не как маркетинговую особенность продукта.
Агент и инструменты
Через Dyad удобно разбирать границы между интерфейсом, оркестрацией агента, файловой системой и шаблонным управлением проектом.
Откат и состояние
Кейс хорошо показывает, почему контрольные точки и управляемое состояние важны ещё до расширения автономии агента.
Материал для интервью
Это удобный кейс для разговора про архитектуру настольного приложения, локальное выполнение и безопасную автоматизацию инженерных действий.
Источник
Dyad repository
Открытый репозиторий локального AI-конструктора приложений с архитектурными заметками и документацией.
Dyad - локальный AI-конструктор приложений в форме настольного приложения. С архитектурной точки зрения он интересен сочетанием , агентной оркестрации и шаблонного управления проектом: разработчик задает намерение, а платформа берет на себя управляемое выполнение изменений и проверок.
Эта глава собрана по публичным материалам и архитектурным заметкам команды, с фокусом на инженерные паттерны, которые полезно переносить в другие платформы с AI-помощником: явные IPC-границы, шаблоны проекта и для безопасного отката.
Архитектурные паттерны Dyad
Многопроцессная архитектура Electron
Основной процесс работает с функциями ОС, файлами и интеграциями, а процесс рендеринга держит интерфейс на React.
- Интерфейс и системный слой разделены по ответственности.
- IPC выступает явной шиной обмена между процессами.
Оркестрация агента и инструментов
LLM генерирует не только код, но и структурированные действия, которые Dyad выполняет через ограниченный набор инструментов.
- Цикл рассуждения и действия собран в один управляемый контур.
- Инструменты дают платформе контроль над тем, что модель реально может выполнить.
Локальное выполнение и хранение состояния
Код и рабочие артефакты остаются на машине пользователя, что снижает задержку и упрощает контроль над приватными данными.
- Ядро продукта не зависит от обязательной облачной среды выполнения.
- Решение проще встроить в привычный рабочий процесс разработчика и IDE.
Шаблоны и правила генерации
Шаблоны проекта и AI_RULES.md задают технологические рамки и ожидаемую структуру результата.
- Быстрый старт идет через готовую основу, а не с пустого проекта.
- Ожидания от генерации фиксируются декларативно на уровне шаблона.
Контрольные точки и откат
Изменения в коде и базе данных можно безопасно откатывать через контрольные точки и ветвление в Postgres.
- Откат и повторное применение становятся частью платформы, а не ручным ритуалом.
- Экспериментировать с изменениями агента безопаснее, когда состояние фиксируется явно.
Визуализация архитектуры приложения
Диаграмма показывает Dyad как локальный контур исполнения: от интерфейса и IPC-границы до инструментов, рабочего пространства и внешних провайдеров.
Что держать под контролем
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-системам: оценивание, развертывание и эксплуатационные практики, полезные для платформ такого типа.
