Агентное кодирование: как Google Jules сравнивается с Claude Code

После успешного использования Claude Code я стремился попробовать другие эквивалентные агентские инструменты с большой языковой модели (LLM), которые не основаны на IDE. У них есть лучшие способы взаимодействия с планом, чем смотреть на файлы. Поскольку план может быть выражен как упорядоченный набор известных методов кодирования, LLM просто действует как код Wrangler, который, как мы знаем, это хорошо.

Google Project Jules описывает себя как «асинхрового агента по разработке — Жюль справляется с ошибками, небольшими запросами функций и другими задачами по разработке программного обеспечения с прямым экспортом в GitHub». Мне нравится, как они ограничивают то, что, по их мнению, может решить инструмент. Я не так счастлив, что это работает только над GitHub даже в бета -версии — это может иметь смысл для Microsoft, а не Google.

Мой предыдущий пример проекта, который я использовал для тестирования Claude, был бы подходит для Жюля: какой -то ранний код для проекта Rails Crud, к которому я хотел добавить начальную загрузку. Задача не показалась особенно сложной для Клода, так что я смотрю в основном рабочие процессы с Жюлем.

Используя Жюль

Жюль клонирует ваше репо в частную виртуальную машину (VM) и начинает работать. Когда я изначально пробую Жюля (помеченную как бета -версию, как и все, что производит Google), я получаю интересное формальное уведомление о конфиденциальности, которое является несколько резким шумом для игривого стиля растровой графики на предыдущей странице. Это сделало обычный запутанный набор заявлений о том, что использует Google, а что они не читают — ни один из которых не может быть доказан. По -видимому, они никогда не читают код из частных репозиториев, но даже это утверждение одобрено.

Существует 90-секундное видео, которое показывает пользователя, подключающегося к GitHub, выбирая репо, а затем делает запрос. Мне нравится тот факт, что он может сделать все, что «вы обычно пишете пиар». Опять же, это приятная предпосылка для продукта — хотя он немного отличается от того, что я прочитал выше. Он загружает ваш код и создает план, который вы можете одобрить. Это должно чувствовать себя комфортно для нездоровых, с различиями, отображаемыми на боковой панели.

Жюль также выдвигает идею сотрудничества, а не просто инструмента — во многом как Клод. Следовательно, у него есть дружелюбное (и нейтральное по полу) звучание. После работы над планом он создает новую филиал и помещает код на это. Это разумный подход с инженерной точки зрения, но он внезапно заставляет причинных пользователей понимать семантику GIT. Это почти кажется мстительным.

Получение кода в GitHub

Хорошо, мой пример кодового проекта еще не в GitHub, но мы можем поместить его туда.

Подобным шагом к тому, что я сделал с Клодом, я не оказался в раннем строительстве своего проекта Rails для моей работы с Жюлем:

Теперь мы доведем этот код на GitHub. Лучший способ сделать это — создать репо в вашей учетной записи, а затем нажмите свой код после добавления нового пульта. (Это на самом деле разумная задача для ИИ!)

Зайдите в свою учетную запись GitHub и настройте репо:

К сожалению, я отказался от превосходного предложения «осторожного-очто-суккоташ» для названия репо, хотя я уверен, что буду использовать его в будущем. Затем я отмечаю, что станет удаленным пунктом назначения:

А потом мы просто выталкиваем код из командной строки после того, как поместили его в локальный репо. Вам вполне может понадобиться личные полномочия для этого. Хитрость в том, чтобы добавить пульт:

Когда ваш код безопасно в GitHub, вы можете вернуться к использованию Жюля. И как только вы дадите разрешение на хранилище, вы, наконец, сможете провести Жюль через его шаги, с выбранным вами проектом:

Хорошо, это примерно то, что я попросил Клода сделать с моим основным приложением Rails, поэтому мы спрашиваем примерно одно и то же:

  • Используйте определения Bootstrap 5 для улучшения HTML.
  • Примените утилиты Bootstrap Color для улучшения визуальной иерархии.
  • Обновление кнопок с классами кнопок Bootstrap.

Поэтому я скопировал это в панель чата. После загрузки виртуальной машины, клонирования репо и чтения файлов (около 2 минут), это разработало план:

Обратите внимание, что если вы не сразу одобряете, то через минуту он одобряется! Но я одобрил план.

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

Во время работы через задачи он уже показал мне, что он сделал с основной боковой панелью внутри Applications.html.erbчто выглядело очень похоже на то, как Клод его очистил.

Через некоторое время (помните, что она не работает над вашей местной системой, поэтому время не является большой проблемой), он был готов к публикации:

Так что я мог бы опубликовать филиал «Улучшения», а затем объединить его в свою главную филиал. Хотя это требует, чтобы случайный пользователь соответствовал рабочим процессу GIT, это правильный способ сделать что -то. Конечно, я могу пойти прямо в GitHub и проверить, что действительно была новая ветка:

Как и ожидалось, он сделал разумную запись для своего изменения:

Я создал запрос на притяжение и объединил его. Теперь я обычно не использую метод запроса на вытягивание — во внутренних корпоративных репозиториях это не было нормой — но все, что мы делаем, это подтверждают, что изменения, внесенные Жюлем, одобрены для объединения в основной код проекта. Когда слияние будет сделано, ветвь становится избыточной:

Так что теперь я сделаю местную тягу и посмотрю, как это выглядит.

Я не сделаю бок о бок сравнение приложения Rails после того, как Клод изменил его, но я сравню тот же набор изображений. Вот оригинальный код проекта с боковой панелью:

И вот тот же раздел, который теперь после того, как Жюль обновил его:

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

Я дал ему еще одну инструкцию — точно такой же намек с начальной загрузкой, который я также дал Клоду, чтобы изменить ссылки на путь:

Это сделало улучшенные изменения. Вот как это выглядело:

Если бы я был более конкретным, я бы смог изменить все ссылки одновременно.

Заключение

Это было не так умно, как Клод в получении моих намерений, но с немного более быстрым инженерным инженером, я знаю, что получу правильные результаты. Процесс итерации и тестирования немного длиннее с использованием запросов на притяжение, но это скорее промышленный процесс. Очевидно, я предпочитаю не использовать GitHub; Но опять же, я ценю, что Google делает все на своем собственном оборудовании.

Как обычно, продукты Google являются внутренне непоследовательными, что является отчасти радостью, частично скретч. Но то, что они признали, — это рынок причинного кодера, недавно открытый Tibe Coding. Я думаю, что Жюль делает отметок здесь.

Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Дэвид был лондонским профессиональным разработчиком программного обеспечения в Oracle Corp. и British Telecom, а также консультантом, помогающим командам работать более гибким образом. Он написал книгу по дизайну пользовательского интерфейса и с тех пор пишет технические статьи …. Подробнее от Дэвида Истмана

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *