Когда на этой неделе Google запустил новую платформу агентной разработки под названием Antgravity, Первый вопрос, который у меня возник, был: «А как насчет Jules и Gemini CLI?» Но помните, это Google; они бросают много грязи в стену, просто чтобы посмотреть, что прилипнет (очень мало ответа, как свидетельствует их кладбище). Так что Google считает Антигравитацию и Жюля экспериментами, исследующими одну и ту же технологию с разных сторон.
Давайте теперь посмотрим на Антигравитацию, которая, похоже, готова к «публичной предварительной версии» на всех платформах, а не только на Mac:
Как и Verdent, это не интерфейс командной строки для терминала, а приложение IDE. Поэтому я загрузил его для своего MacBook и поместил в папку «Приложения».
Первые впечатления и процесс установки
Разумно, что он просит пользователя выбрать тему во время установки. Большинство людей устанавливают тему один раз (темную или светлую) и редко прибегают к этой опции снова:
Следующий вопрос по настройке весьма интригует:
Такое ощущение, что он хочет перейти к модели параллельного выполнения с минимальным вмешательством человека (параллельный запуск означает, что одна агентная задача может выполняться в фоновом режиме, пока вы запускаете другую — другими словами, каждая задача выполняется в изолированных ветвях). Или, возможно, Антигравитация будет больше похожа на решения, основанные на документах, такие как Kiro. Как вы можете догадаться, этот пост предназначен только для того, чтобы подготовить почву для разработчиков, а не для глубокого изучения того, что, в конце концов, является экспериментом. Поэтому я выберу вариант «вспомогательного развития», который кажется более традиционным.
После входа в систему с помощью Google (с использованием внутреннего 2FA) Antigravity попросит вас открыть папку или клонировать. Чтобы создать изолированную ветку, например, параллельный бегун, потребуется клон git. Он также находит подходящие проекты в вашей пользовательской папке.
Как видите, из имеющихся на данный момент моделей я выбрал Claude Sonnet:
Знакомая IDE с предложениями на базе искусственного интеллекта
Как обычно для таких выпусков, вы получаете кучу бесплатных токенов при условии, что злоупотребления будут сокращены. Когда он завершит инициализацию (я полагаю, сканирование проекта), мы получим стандартный макет:
Это выглядит знакомо? Да, похоже, это своего рода форк VS Code. Я писал об их опасности, но на самом деле я не знаю, почему Google это сделал.
Справа я выбрал «режим планирования»; альтернативный «быстрый» режим «полезен, когда скорость является важным фактором, а задача достаточно проста, поэтому не стоит беспокоиться о худшем качестве» — что немного комично, но мы знаем, что имеет в виду автор.
Насколько я могу судить, «Менеджер агентов» ближе к режиму агентного CLI параллельного выполнения, поскольку вы не взаимодействуете с редактором. Об этом говорит следующая диаграмма:
Однако язык, использованный здесь, довольно странный. Текст внизу слева подтверждает модель параллельных задач. Но в тексте вверху упоминается «глубокое исследование», что является странным термином для разработки программного обеспечения. Кроме того, теперь ожидается, что любая задача будет «фоновой», если только пользователь не запросит постоянного вмешательства. Это не похоже на то, что оно было написано в том же духе, что и недавние выпуски «агентных» редакторов кода.
Глядя сначала на окно редактора (правая часть диаграммы), я получаю хорошее быстрое завершение кода и предложения. Я выбираю один из тех неуклюжих фрагментов кода проекта, который можно улучшить — средство проверки границ.
общественный недействительный CalculateMapBound (MapSector сек) {Vector2 topleft = sec.GetAbsoluteTopLeft (); Размер Vector2 = sec.GetSize(); TagDebug.Log($»Topleft и размер сектора {sec.Name} {topleft} {size}»); if (topleft.x < leftbound) leftbound = topleft.x; if (topleft.x + size.x > rightbound) rightbound = topleft.x + size.x; if (topleft.y > topbound) topbound = topleft.y; if (topleft.y — size.y < нижняя граница) нижняя граница = topleft.y - size.y; TagDebug.Log($"Рассчитать границу для сектора {sec.Name} {leftbound} {rightbound} {topbound} {bottombound}"); } 1234567891011 public void CalculateMapBound(MapSector sec) { Vector2 topleft = sec.GetAbsoluteTopLeft(); Размер Vector2 = sec.GetSize(); TagDebug.Log($"Topleft и размер сектора {sec.Name} {topleft} {size}"); if (topleft.x < leftbound) leftbound = topleft.x; if (topleft.x + size.x > rightbound) rightbound = topleft.x + size.x; if (topleft.y > topbound) topbound = topleft.y; if (topleft.y — size.y < нижняя граница) нижняя граница = topleft.y - size.y; TagDebug.Log($"Рассчитать границу для сектора {sec.Name} {leftbound} {rightbound} {topbound} {bottombound}"); }
После его выбора мне предоставляется возможность добавить его в запрос, поэтому у нас есть:
Он предложил мне использовать функции Min/Max. Учитывая, что меня не гонит за скоростью, это звучит правильно. В тексте в окне чата были указаны изменения и преимущества, и я мог принять изменения в контексте с помощью кода:
Конечно, я не настолько смел (или глуп), чтобы попытаться пересадить всю свою среду сборки в экспериментальное приложение. Но я сохраню изменения и проверю их позже.
Исследование агентских возможностей Антигравитации
Итак, теперь давайте попробуем агентную сторону. К сожалению, похоже, что он не работает с независимыми ветвями (или не ожидает такой работы), поэтому вы, вероятно, можете работать только в одной и той же папке рабочей области:
Я думаю, что «разговор» соответствует задаче. Я попрошу его улучшить другой метод, работающий с границами. Но на самом деле он не предназначен для того, чтобы диспетчер задач оставался открытым, поскольку он постоянно закрывает его, чтобы освободить место для окна чата и (например) просмотра изменений:
Один аспект, который мне понравился, заключался в следующем утверждении:
Это доказывает, что он имеет контекстуальное понимание своего последнего разговора и связанных с ним изменений. И это правильно — Min/Max более аккуратен (хотя я ожидаю, что он будет намного медленнее).
Итак, похоже, мне следует отказаться от идеи, что это было разработано для работы над параллельными задачами в одном проекте — это явно не так. Возможно, Google ждет ответов, чтобы посмотреть, как они должны отреагировать.
Вывод: эксперимент с неясным направлением
На этом этапе я решил остановиться, так как не совсем понимаю, для чего на самом деле предназначен этот продукт. Это приложение, но оно похоже на частичный клон VS Code. Он предлагает менеджер агентов, но на самом деле не предлагает параллельных задач, которые я ожидал. Но ему удается делать то, что делает Gemini CLI, или, если уж на то пошло, то, что делает Jules.
Я понимаю, что Google создает проекты независимыми командами, и иногда возникают отличные идеи (я до сих пор помню Google Wave), которые Google как компания игнорирует. Но зачастую они не соответствуют современным тенденциям. Я подожду, пока Google решит, что они хотят с этим делать, прежде чем взглянуть на него по-новому позже в ходе его развития.
ТЕНДЕНЦИОННЫЕ ИСТОРИИ YOUTUBE.COM/THENEWSTACK Технологии развиваются быстро, не пропустите ни одной серии. Подпишитесь на наш канал YouTube, чтобы смотреть все наши подкасты, интервью, демонстрации и многое другое. ПОДПИСАТЬСЯ Группа, созданная в Sketch. Дэвид работал профессиональным разработчиком программного обеспечения в Лондоне в компаниях Oracle Corp. и British Telecom, а также консультантом, помогающим командам работать более гибко. Он написал книгу о дизайне пользовательского интерфейса и с тех пор пишет технические статьи. Подробнее Дэвид Истман