Ожидания в отношении агентских инструментов кодирования: тестирование CLI Gemini

Прежде чем запустить Gemini CLI, приложение Google с открытым исходным кодом AI, давайте посмотрим, каковы ожидания «качества жизни» для агентских приложений. Теперь, когда у нас есть несколько из этих инструментов — Claude Code, Warp и Codex Openai — другие примеры — у нас лучшее понимание того, что разработчик нуждается от них.

Во -первых, должно быть легко начать работу в командной строке в вашем терминале. Разработчики по -прежнему являются основной целевой аудиторией для агентских приложений, поэтому переменные среды или флаги для вариантов в порядке. Но быть прямо в жизнь — это жизненно важно.

Например, подключение ключа API к вашей учетной записи может быть сделано с помощью переменной среды или в консоли веб -страницы. Знание того, когда у вас заканчиваются токены (будь то свободно отдано или оплачиваются), теперь является важным показателем.

Когда мы нажимаем кнопку «Пуск», нам нужна простое резюме сеанса, чтобы мы знали, по крайней мере, следующие вещи:

  • Модель в использовании;
  • Справочник проекта;
  • Любое другое соответствующее разрешение или информацию об учетной записи, или, если смотрят рабочий файл.

Рабочий файл в каталоге проекта, где написаны допущения, основанные на проекте, и можно отслеживать (например, файл claude.md), является важным инновацией, чтобы перейти за пределы жизненного цикла сеанса в жизненный цикл проекта.

Границы разрешения должны быть уважаются; И в целом мы находимся в первые дни относительно того, когда можно позволить большой языковой модели (LLM) изменять файлы и где. Я утверждал, что принуждение кодировщиков Vibe использовать GIT немного злонамерен — но опять же, если вы не планируете, вы явно планируете потерпеть неудачу.

Показывая нам план исполнения, LLM последует, чтобы выполнить ваш запрос, кажется хорошим, но еще не оказался необходимым. Но если это не сделано, точная тактика, которую будет использовать LLM, является непрозрачной. Простого списка флажков будет достаточно.

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

Существует множество других функций, которые будут проникать в приведенный выше список, но мы должны знать о бэк -хруппе, а также действительно полезных инновациях.

Запуск Близнецов

Как и во всех облачных LLMS, мы должны показать нашу верность, прежде чем получить доступ к драгоценным токенам. Перейдите в Google Studio, чтобы сгенерировать ключ. В настоящее время вам дают 100 запросов в день (проверяйте другие пределы уровня здесь).

Мы можем установить Gemini через NPM на терминале:

npm install -g @google/gemini -cli 1 npm install -g @google/gemini -cli

Затем установите свой ключ API в качестве переменной среды — я делаю это здесь, в командной строке на моем MacBook:

Затем введите команду Близнецов, и мы выключены:

Как я упоминал в разделе «Качество жизни» выше, это делает важную вещь для указания на активную модель (в данном случае Gemini-2,5 Pro), а также отражает каталог проекта.

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

Как и Claude Code, есть файл Markdown — Gemini.md в этом случае — для настройки запроса. Я не буду использовать его в этом посте.

Что означает «без песочницы»? Плохая новость заключается в том, что Близнецы начинаются без ограничений относительно того, где ваш ИИ может бродить. Боюсь, это не очень разумно, но Близнецы дают вам довольно простые варианты. Хорошей новостью является то, что мы можем использовать ремень безопасности macOS, который начинается с разумной политики ограничения доступа в каталог проектов.

Итак, я выйду из этого сеанса (тип /брось), и мы сможем перезапустить с этой базовой безопасностью.

Экран «Отказаться» содержит некоторые статистики, о которых я упоминал ранее:

Мы можем использовать ремень безопасности, просто установив переменную среды в этом сеансе, а затем добавив флаг:

Теперь мы готовы идти, так как у нас есть ремень безопасности.

Как и я с Codex в недавнем посте, давайте попробуем слияние двух файлов JSON. Как и прежде, я ищу, как структура меня поддерживает, так же, как и результат. Если вы не хотите читать предыдущий пост, представьте, что у меня есть городской веб -сайт, который использует данные JSON. У меня есть файл json под названием irgry_cities.json:

{«города»: [
{
«id»: «London»,
«text»: «London is the capital of the UK»,
«image»: «BigBen»
},
{
«id»: «Berlin»,
«text»: «Great night club scene»,
«image»: «Brandonburg Gate»,
«imageintended»: «Reichstag»
},
{
«id»: «Paris»,
«text»: «Held the Olympics of 2024»,
«image»: «EifelTower»,
}
]
} 1234567891011121314151617181920 {«Cities»: [     {       «id»: «London»,       «text»: «London is the capital of the UK»,       «image»: «BigBen»     },     {      «id»: «Berlin»,       «text»: «Great night club scene»,       «image»: «Brandonburg Gate»,      «imageintended»: «Reichstag»     },     {        «id»: «Paris»,        «text»: «Held the Olympics of 2024»,        «image»: «EifelTower»,     }   ] }

Ошибки орфографии и ошибки форматирования (дополнительная запятая) являются преднамеренными; Мы хотим посмотреть, сможем ли мы приманить LLM.

У меня также есть еще один файл с названием updated_cities.json:

{«города»: [
{
«id»: «London»,
«text»: «London is the capital and largest city in Great Britain»,
«image»: «BigBen»
},
{
«id»: «Berlin»,
«text»: «Great night club scene but a small population»,
«image»: «BrandenburgGate»,
«imageintended»: «Reichstag»
},
{
«id»: «Paris»,
«text»: «Held the Olympics of 2024»,
«image»: «NotreDame»
},
{
«id»: «Rome»,
«text»: «The Eternal City»,
«image»: «TheColleseum»
}
]
} 12345678910111213141516171819202122232425 {«Города»: [    {      «id»: «London»,      «text»: «London is the capital and largest city in Great Britain»,      «image»: «BigBen»    },    {      «id»: «Berlin»,      «text»: «Great night club scene but a small population»,      «image»: «BrandenburgGate»,      «imageintended»: «Reichstag»    },    {      «id»: «Paris»,      «text»: «Held the Olympics of 2024»,      «image»: «NotreDame»    },    {      «id»: «Rome»,      «text»: «The Eternal City»,      «image»: «TheColleseum»    }  ]}

Я хочу обновить первый файл с содержимым второго. Это имитирует немного не синхронизации. У меня есть одно условие: я хочу, чтобы какие -либо обновленные ссылки на изображение (которые я, возможно, еще не имел) скопировал в ключ, называемый «ImageInted», чтобы я не использовал данные и не вызывал сбой.

По сути, все, что должно сделать слияние, это добавить запись в Риме в первый файл и представить новые ссылки на изображение, не перезаписывая существующую ключ изображения.

Итак, моя папка проекта выглядит так. Обратите внимание, я не создал файл Gemini.md:

Я использую тот же запрос, который я дал Кодекс:

«Пожалуйста, обновите файл json riginal_cities.json с содержимым файла updated_cities.json, но если поле« изображение »отличается, пожалуйста, обновите или напишите новое поле« ImageInted »с новым значением вместо этого»

Итак, давайте посмотрим, что он делает. Эта задача может выглядеть конкретной, но на самом деле немного расплывчато, что отражает запрос от обычного человека.

После того, как он запутался в своем файле проекта, он дал мне совершенно хороший ответ:

Обновление текста, добавление новой записи и не перезаписывая какие -либо значения в клавише «изображение» — все это сделано. Это не пыталось исправить несущественное правописание и не запуталось в сцепленной запятой. Это было гораздо быстрее, чем Кодекс.

Я проверил файл, и действительно были внесены изменения. Прежде чем он ответил, это не совсем составило план, но дал мне довольно основное объяснение того, что он будет делать:

Поскольку результат был совершенно правильным, процесс не имел значения. Но только путем проверки намерений вы действительно можете исправить «мышление», когда он идет по неправильному пути.

Я выйду, чтобы показать окончательное резюме расходов:

Заключение

Как я уже сказал, это не прямое сравнение LLM, но Близнецы дали мне эффективный агент. Я уверен, что Google может подключить любую из отсутствующих проблем с качеством жизни, которые я упомянул (в частности, некоторые использующие статистику при использовании токенов), но он определенно готов к действиям прямо сейчас. Существует растущая группа агентских терминальных приложений для разработчиков, и Gemini CLI является надежным дополнением к этому списку.

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

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

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