Transcript
00:00:00Попросите наших ИИ-агентов составить карту репозитория, и вот у нас уже есть Kafka, Redis или шлюз API, которого даже не существует.
00:00:07Диаграммы часто выглядят неплохо, но в них многое упущено.
00:00:10Это Archify, инструмент, в котором агент вообще ничего не рисует.
00:00:14Он выдает типизированный граф, Archify проверяет его, а затем генерирует диаграмму.
00:00:19Возможно, это один из лучших способов визуализировать нашу архитектуру.
00:00:23Давайте это выясним.
00:00:30Вообще-то наша модель, пожалуй, вообще не должна рисовать диаграммы.
00:00:33Принцип работы Archify заключается в описании системы в виде структурированного, типизированного JSON.
00:00:37Он проходит проверку, и только после этого локальный компилятор преобразует его в финальный HTML.
00:00:42Если граф недействителен, происходит ошибка.
00:00:45Это Archify, и он набрал 44 000 звезд всего за несколько месяцев, потому что подключается напрямую к Cloud Code, Cursor и Codex.
00:00:53Так что я хочу испытать его в деле.
00:00:54Я установлю Archify, укажу его на репозиторий и заставлю ответить на один вопрос об архитектуре.
00:01:00Затем мы посмотрим, сможем ли мы вообще использовать этот результат в PR.
00:01:03И есть несколько сценариев использования, где я бы точно не стал этого делать, но мы скоро к ним перейдем.
00:01:08Если вам нравятся инструменты программирования, ускоряющие рабочий процесс, обязательно подписывайтесь.
00:01:11У нас постоянно выходят новые видео.
00:01:13Итак, для установки требуется всего одна команда, вот она.
00:01:17И это не какое-то отдельное приложение.
00:01:19На самом деле это навык агента.
00:01:22После установки я могу использовать этот же навык из Cloud Code или любого другого упомянутого редактора
00:01:28без необходимости менять редакторы или свой рабочий процесс.
00:01:32Теперь я могу дать ему реальную задачу.
00:01:34Я не буду просить его нарисовать архитектуру всего этого репозитория.
00:01:37Звучит неплохо.
00:01:39Но в конце концов, это просто вернет нам кучу мусора.
00:01:42Поэтому я задам один конкретный вопрос.
00:01:45Используй Archify, сделай архитектурную диаграмму максимум на 8–12 узлов.
00:01:49Что происходит при промахе кэша в этом сервисе?
00:01:52Включай только те блоки, которые существуют в этом репозитории.
00:01:54Если ты не можешь доказать наличие компонента, опусти его.
00:01:58Выдай самодостаточный HTML.
00:02:00Это как один план, один вопрос.
00:02:02Примерно 8–12 узлов.
00:02:04Потому что если мы попросим агента составить карту всей нашей кодовой базы, упростим ли мы что-то
00:02:08или просто сделаем её непонятнее?
00:02:10Теперь я просто превратил дерево своего репозитория в блок-схему.
00:02:14Агент описывает архитектуру в формате JSON.
00:02:16Затем Archify проверяет её.
00:02:18Я также могу запустить эту проверку напрямую, что я сейчас и сделаю.
00:02:23Это действительно очень классная функция, которую я здесь нашел.
00:02:27Узлы также могут содержать доказательства из репозитория, привязанные к коммиту и конкретному диапазону строк.
00:02:32Если этого подтверждения нет, узел не получает значок SRC только потому, что он звучит
00:02:37убедительно в ответе.
00:02:39Хорошо.
00:02:39Но чем это вообще помогает?
00:02:41Это выглядит как архитектурная диаграмма.
00:02:43Да, конечно, но необязательно использовать её именно так.
00:02:46Я могу найти внутри неё реальный сервис.
00:02:50Я могу кликнуть по нему и сразу увидеть, что находится выше и ниже по потоку.
00:02:55Затем я могу воспроизвести этот маршрут и проследить путь промаха кэша через систему.
00:02:59Поэтому вместо того, чтобы пялиться на 10 стрелок и пытаться мысленно их проследить, я могу пройти по ним
00:03:05шаг за шагом.
00:03:06Вдобавок к этому я могу экспортировать её.
00:03:08Я могу скопировать PNG или сгенерировать карточку для соцсетей размером 1200 на 630.
00:03:13В чем же реальная разница с тем же Mermaid?
00:03:17Инструмент Mermaid обычно предназначен просто для чтения.
00:03:20А здесь я могу задавать вопросы и работать с результатами.
00:03:23И движение используется не для сокрытия плохой структуры: экспортируйте диаграмму как статичное изображение,
00:03:28и смысл никуда не денется.
00:03:31И есть второй вариант использования, который может оказаться еще полезнее.
00:03:35Что думаете?
00:03:36Ну, я думаю о код-ревью.
00:03:38Допустим, это система до внесения изменений.
00:03:41Затем я добавляю существующий воркер повторных попыток.
00:03:44Я могу сказать агенту обновить архитектуру, не выдумывая ничего из головы.
00:03:49Тогда Archify сможет сравнить два проверенных снимка: что добавлено, удалено, перемещено, перенаправлено.
00:03:54Поэтому вместо получения двух сгенерированных диаграмм я могу увидеть, что реально изменилось.
00:03:59И интерфейс редактора — это по-прежнему просто чат.
00:04:02Но если я хочу, чтобы эта архитектура сохранилась для следующей сессии агента, я делаю коммит JSON.
00:04:07На данном этапе проще всего объяснить суть Archify следующим образом.
00:04:11Для HTML-виртуальной машины системных карт кодинг-агент выступает в роли фронтенда.
00:04:15JSON — это промежуточное представление.
00:04:19HTML — это скомпилированный результат.
00:04:21И этот средний слой выполняет львиную долю работы.
00:04:24JSON следует строгим схемам.
00:04:26Неизвестные поля могут привести к сбою валидации.
00:04:28И здесь доступно пять режимов диаграмм.
00:04:30Архитектура, рабочий процесс, последовательность, поток данных и жизненный цикл.
00:04:34Но одно из самых интересных решений касается того, чем модель не управляет.
00:04:38Это макет.
00:04:39Модель описывает систему.
00:04:41Она не решает точно, где окажется каждый отдельный блок.
00:04:44Они пробовали тему с Mermaid и автоматическим построением графов.
00:04:48Это оказалось ничуть не лучше обычного Mermaid.
00:04:51К тому же валидация закрывается при ошибках.
00:04:54Плохой JSON никоим образом не превратится в красивую диаграмму.
00:04:58Вы получаете диагностику, коды правил и поддерживаемые исправления.
00:05:02А теперь о том, где я, пожалуй, не стал бы использовать Archify.
00:05:06Если вам нужна диаграмма прямо внутри файла README, возможно, не стоит.
00:05:10Это может занять время.
00:05:11GitHub отображает его.
00:05:12А HTML от Archify — нет.
00:05:15Archify решает совершенно другой круг задач.
00:05:18В процессе уже участвует агент.
00:05:20Этот агент создает артефакт архитектуры.
00:05:23Возможно, он отправляется в PR.
00:05:25Возможно, на ревью дизайна.
00:05:27Вот тут-то и начинает иметь значение проверенный вывод.
00:05:30Мне здесь многое понравилось.
00:05:32Он работает прямо в тех инструментах, которыми мы уже пользуемся каждый день.
00:05:35Я могу выгрузить результат.
00:05:38Доказательства из репозитория дают мне что-то осязаемое для реальной проверки.
00:05:41А поскольку архитектура структурирована, я могу продолжать её редактировать без хаотичных изменений со временем.
00:05:46Она также выглядит достаточно хорошо, чтобы у меня не возникало потребности перерисовывать её в Figma или другом подобном инструменте.
00:05:53Но при этом стоит сказать, что Archify не знает вашей архитектуры.
00:05:58Граф может быть полностью валидным и при этом описывать не ту систему.
00:06:02Его всё равно нужно читать.
00:06:03Плохая модель, как мы знаем, часто просто генерирует работающий JSON, который всё равно выглядит ужасно.
00:06:08И если итоговым местом для вашей диаграммы является README, здесь лучше подойдет Mermaid.
00:06:13С Archify вы, скорее всего, делаете коммит JSON и HTML либо экспортируете картинку.
00:06:18И есть одна ошибка, которой я бы точно постарался избежать.
00:06:21Не указывайте его на огромный репозиторий со словами: «составь карту всего».
00:06:25Думаю, вы можете догадаться, чем это закончится, потому что вы, скорее всего, просто получите кучу мусора.
00:06:29Но это не недостаток самого Archify.
00:06:32Скорее, это просто плохой вопрос.
00:06:34Если вы уже работаете с агентами программирования и регулярно создаете диаграммы для себя или кого-то еще, это имеет смысл.
00:06:42Ревью PR, проектная документация — я бы, наверное, это использовал.
00:06:47Я бы не стал устанавливать это ради более красивой версии того, что у нас уже есть, например, Mermaid.
00:06:52И я точно не стал бы ожидать, что он выполнит реверс-инжиниринг за меня.
00:06:55Порог входа для пробы очень низкий.
00:06:58Одна команда NPX, Node установлена на машине.
00:07:00Здесь нет никаких весов моделей.
00:07:02Мой M4 Pro в данном случае практически не имеет значения.
00:07:05Но есть одно правило, которого я бы придерживался.
00:07:07Один вопрос на файл.
00:07:08Если вы не можете четко сформулировать, на какой вопрос отвечает диаграмма, не генерируйте её.
00:07:14Я Джош из BetterStack.
00:07:15Если вам нравятся подобные советы и хитрости по программированию, обязательно подписывайтесь на канал.
00:07:19Увидимся в следующем видео.
00:07:20Увидимся в следующем видео.
Community Posts
No posts yet. Be the first to write about this video!
Write about this video