Используйте режим агента Gemini Code Assist

В этом документе описывается, как настроить и использовать режим агента Gemini Code Assist в качестве партнера-программиста в вашей интегрированной среде разработки (IDE).

В режиме агента вы можете выполнять любые из следующих действий и многое другое:

  • Задавайте вопросы о своем коде.
  • Используйте контекст и встроенные инструменты для улучшения генерируемого контента.
  • Настройте серверы MCP для расширения возможностей агента.
  • Получайте решения сложных задач, состоящих из нескольких этапов.
  • Генерируйте код на основе проектной документации, описаний проблем и комментариев TODO .
  • Управляйте поведением агента, комментируя, редактируя и утверждая планы и использование инструментов во время выполнения.

Ограничения

Некоторые функции стандартного чата Gemini Code Assist могут быть недоступны в режиме агента или работать иначе, чем в стандартном чате.

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

Прежде чем начать

  1. Укажите версию Gemini Code Assist, которую вы хотите использовать в своей IDE:

Используйте режим агента

В режиме агента вы можете поручить Gemini выполнение сложных задач и достижение высоких целей.

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

Для переключения в режим агента:

VS Code

  1. Чтобы открыть чат Gemini Code Assist, в панели действий вашей IDE нажмите spark Gemini Code Assist .
  2. Нажмите на переключатель «Агент» , чтобы перейти в режим агента. Переключатель подсвечивается, когда включен режим агента, и становится серым, когда вы находитесь в обычном чате.
  3. В чате Gemini Code Assist введите свою подсказку.

Gemini либо отвечает на ваш запрос, либо запрашивает разрешение на использование инструмента.

Чтобы остановить агента, нажмите кнопку » .

Чтобы использовать стандартный чат Gemini Code Assist, нажмите новый чат» , чтобы создать новый чат.

ИнтеллиДж

  1. Нажмите на значок spark Gemini на панели инструментов. Войдите в систему, если потребуется.
  2. Выберите вкладку «Агент» .
  3. Опишите задачу, которую вы хотите поручить агенту.
  4. По мере того, как агент будет выполнять необходимые шаги для выполнения задачи, у вас будет возможность просмотреть и утвердить любые изменения.

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

Настройка инструментов для агентского режима

Инструменты — это широкая категория сервисов, которые агент может использовать для получения контекста и выполнения действий в ответ на ваш запрос. Примерами инструментов могут служить встроенные инструменты, такие как grep и чтение или запись файлов, локальные или удаленные серверы протокола контекста модели (MCP) и их исполняемые функции, а также реализации специализированных сервисов.

Управление использованием встроенных инструментов

В режиме агента доступны встроенные инструменты, такие как поиск файлов, чтение и запись файлов, команды терминала и многое другое.

VS Code

С помощью настроек coreTools и excludeTools вы можете контролировать, к каким инструментам Gemini имеет доступ в режиме агента.

coreTools
Позволяет указать список инструментов, которые должны быть доступны модели. Вы также можете указать ограничения для конкретных команд, которые поддерживают эти инструменты. Например, добавление следующего в JSON-файл настроек Gemini позволит выполнять только команду shell ls -l : "coreTools": ["ShellTool(ls -l)"] .
excludeTools
Позволяет указать список инструментов, которые вы не хотите предоставлять модели. Вы также можете указать ограничения для конкретных команд для инструментов, которые их поддерживают. Например, добавление следующего в JSON-файл настроек Gemini заблокирует использование команды rm -rf : "excludeTools": ["ShellTool(rm -rf)"] .

Инструмент, указанный одновременно в excludeTools и coreTools исключается из списка.

Для настройки встроенных инструментов, доступных в режиме агента, выполните следующие действия:

  1. Откройте файл JSON с настройками Gemini, расположенный по адресу ~/.gemini/settings.json где ~ — это ваш домашний каталог.
  2. Чтобы ограничить использование инструментов агента списком разрешенных инструментов, добавьте следующую строку в JSON-файл настроек Gemini:

    "coreTools": ["TOOL_NAME_1,TOOL_NAME_2"]
    

    Замените TOOL_NAME_1 и TOOL_NAME_2 названиями встроенных инструментов, к которым вы хотите предоставить агенту доступ.

    Вы можете указать неограниченное количество встроенных инструментов. По умолчанию агенту доступны все встроенные инструменты.

  3. Чтобы ограничить использование инструментов агента определенными командами, добавьте следующую строку в JSON-файл настроек Gemini:

    "coreTools": ["TOOL_NAME(COMMAND)"]
    

    Замените следующее:

    • TOOL_NAME : название встроенного инструмента
    • COMMAND : имя встроенной команды инструмента, которую агент должен иметь возможность использовать.
  4. Чтобы исключить инструмент из использования агентом, добавьте следующую строку в JSON-файл настроек Gemini:

    "excludeTools": ["TOOL_NAME_1,TOOL_NAME_2"]
    

    Замените TOOL_NAME_1 и TOOL_NAME_2 названиями встроенных инструментов, которые вы хотите исключить из использования агентом.

  5. Чтобы исключить команду инструмента из использования агентом, добавьте следующую строку в JSON-файл настроек Gemini:

    "excludeTools": ["TOOL_NAME(COMMAND)"]
    

    Замените следующее:

    • TOOL_NAME : название встроенного инструмента
    • COMMAND : имя встроенной команды инструмента, которую вы хотите исключить из использования агентом.

Для получения дополнительной информации о параметрах конфигурации coreTools и excludeTools см. документацию по настройке Gemini CLI .

ИнтеллиДж

Эта функция не поддерживается в Gemini Code Assist для IntelliJ или других IDE от JetBrains.

Настройка серверов MCP

Следующие инструкции показывают, как сделать MCP-серверы доступными для использования в режиме агента в вашей IDE. После того, как вы сделаете MCP-сервер доступным, Gemini Code Assist автоматически определит, когда и как использовать инструменты сервера, содержащиеся в этом MCP-сервере.

VS Code

Чтобы сделать серверы MCP доступными для использования в режиме агента, добавьте конфигурацию для каждого сервера в файл JSON с настройками Gemini в соответствии с документацией каждого сервера.

  1. Установите все необходимые зависимости для добавляемых серверов MCP.
  2. Откройте JSON-файл настроек Gemini, расположенный по адресу ~/.gemini/settings.json где ~ — это ваш домашний каталог.
  3. Настройте каждый локальный или удаленный сервер MCP в файле JSON с настройками Gemini в соответствии с инструкциями для каждого сервера.

    В приведенном ниже примере JSON-файла настроек Gemini конфигурируются два удаленных сервера Cloudflare MCP, удаленный сервер GitLab MCP и локальный сервер GitHub MCP для использования с Gemini Code Assist в VS Code.

    {
      "mcpServers": {
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": ["mcp-remote", "https://your-gitlab-instance.com/api/v4/mcp"]
        },
        "cloudflare-observability": {
          "command": "npx",
          "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"]
        },
        "cloudflare-bindings": {
          "command": "npx",
          "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"]
        }
      }
    }
    

  4. Откройте палитру команд и выберите «Разработчик: Перезагрузить окно» .

Настроенные вами серверы MCP доступны для использования агентом в агентском режиме.

ИнтеллиДж

Чтобы сделать серверы MCP доступными для использования в режиме агента, добавьте конфигурацию для каждого сервера в файл mcp.json и поместите mcp.json файл в каталог конфигурации вашей IDE.

  1. Установите все необходимые зависимости для добавляемых серверов MCP.
  2. Создайте файл с именем mcp.json в каталоге конфигурации вашей IDE.
  3. Настройте каждый локальный или удаленный MCP-сервер в файле mcp.json в соответствии с инструкциями для каждого сервера.

    Приведенный ниже пример файла mcp.json настраивает два удаленных сервера Cloudflare MCP, удаленный сервер GitLab MCP и локальный сервер GitHub MCP для использования с Gemini Code Assist в IntelliJ.

    {
      "mcpServers": {
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": ["mcp-remote", "https://your-gitlab-instance.com/api/v4/mcp"]
        },
        "cloudflare-observability": {
          "command": "npx",
          "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"]
        },
        "cloudflare-bindings": {
          "command": "npx",
          "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"]
        }
      }
    }
    

Настроенные вами серверы MCP доступны для использования агентом в агентском режиме.

Аутентификация сервера MCP

Некоторые серверы MCP требуют аутентификации. Следуйте документации сервера, чтобы создать необходимые пользовательские токены, а затем укажите их соответствующим образом. Как правило, токены аутентификации для локальных серверов указываются с помощью соответствующей переменной среды, специфичной для сервера, а токены аутентификации для удаленных серверов — с помощью заголовка HTTP Authorization .

VS Code

Для серверов MCP, требующих аутентификации, вы можете добавить их в JSON-файл настроек Gemini.

В следующем примере показано, как указать персональный токен доступа для локального и удаленного серверов MCP GitHub:

{
  "mcpServers": {
    "github-remote": {
      "httpUrl": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ACCESS_TOKEN"
      }
    },
    "github-local": {
      "command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
      "args": ["stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
      }
    }
  }
}

Где ACCESS_TOKEN — это токен доступа пользователя.

ИнтеллиДж

Для MCP-серверов, требующих аутентификации, вы можете добавить их в файл mcp.json .

В следующем примере добавляется персональный токен доступа для локального сервера GitHub:

{
  "mcpServers": {
    "github-local": {
      "command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
      "args": ["stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
      }
    }
  }
}

Где ACCESS_TOKEN — это токен доступа пользователя.

Создайте файл контекста

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

VS Code

  1. Создайте файл с именем GEMINI.md в месте, соответствующем области действия, к которой вы хотите применить контекст. В следующей таблице подробно указаны места расположения файлов контекста для различных областей действия:

    Объем Расположение
    Все ваши проекты ~/.gemini/GEMINI.md
    Конкретный проект Ваша рабочая директория или любые родительские директории вплоть до корневой директории вашего проекта (обозначаемой папкой .git ) или вашей домашней директории.
    Конкретный компонент, модуль или подраздел проекта Подкаталоги вашей рабочей директории.

    Система памяти агента создается путем загрузки контекстных файлов из нескольких мест. Контекст из более специфических файлов, например, для конкретных компонентов или модулей, переопределяет или дополняет содержимое более общих контекстных файлов, таких как глобальный контекстный файл по адресу ~/.gemini/GEMINI.md .

  2. Напишите любые правила, информацию из руководства по стилю или контекст, которые вы хотите, чтобы агент использовал, в формате Markdown и сохраните файл. Для получения дополнительной информации см. пример файла контекста на GitHub .

Агент включает информацию из вашего контекстного файла вместе со всеми запросами, которые вы ему отправляете.

ИнтеллиДж

  1. Создайте в корневой директории вашего проекта файл с именем GEMINI.md или AGENT.md .

  2. Напишите любые правила, информацию из руководства по стилю или контекст, которые вы хотите, чтобы агент использовал, в формате Markdown и сохраните файл.

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

Используйте команды

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

VS Code

В режиме агента можно использовать следующие встроенные команды CLI Gemini:

  • /tools : Отображает список инструментов, доступных в режиме агента.
  • /mcp : Отображает список настроенных серверов протокола контекста модели (MCP), их состояние подключения, сведения о сервере и доступные инструменты.

Для получения дополнительной информации о командах Gemini CLI см. разделы «Команды Gemini CLI» и «Пользовательские команды Gemini» . Обратите внимание, что не все команды Gemini CLI доступны в режиме агента.

ИнтеллиДж

Эта функция не поддерживается в Gemini Code Assist для IntelliJ или других IDE от JetBrains.

Всегда разрешайте действия агента.

Вы можете автоматически разрешить все действия агента.

Чтобы автоматически разрешить все действия агента:

VS Code

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

Чтобы настроить режим "yolo":

  1. Откройте JSON-файл с пользовательскими настройками VS Code:

    1. Откройте палитру команд ( ctrl + command + Shift + P ).
    2. Выберите «Настройки»: Откройте пользовательские настройки (JSON) .
  2. Добавьте следующее в JSON-файл пользовательских настроек VS Code:

    //other settings...
    
    "geminicodeassist.agentYoloMode": true,
    //other settings...
    
  3. Откройте палитру команд и выберите «Разработчик: Перезагрузить окно» .

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

ИнтеллиДж

Чтобы автоматически одобрять изменения, во вкладке "Агент чата Gemini" выберите "Настройки", "Параметры агента" , а затем установите флажок рядом с пунктом "Автоматически одобрять изменения" .

В режиме агента все запросы одобряются автоматически, и при отправке запроса на подтверждение разрешение не запрашивается.

Дополнительные подсказки

Попробуйте выполнить следующие действия, используя свои собственные данные:

  • «Что делает этот репозиторий? Помогите мне разобраться в его архитектуре».
  • «Что делает этот [класс/функция]?»
  • "Добавить функцию в этот код - "[ссылка или путь к коду]."
  • «Переработайте функции [A] и [B], используя общий метод [C]».
  • "Исправить проблему на GitHub [ссылка на проблему на GitHub]."
  • «Разработать приложение для достижения [цели] с пользовательским интерфейсом, позволяющим пользователю выполнять [задачу] в [среде]».
  • "Перенести версии библиотек в этом репозитории с [X] на [Y]."
  • «Оптимизируйте производительность этого кода на Go, чтобы он работал быстрее».
  • "Используйте [название API] для создания этой функции."
  • «Реализуйте алгоритм для выполнения операций [x], [Y] и [Z]».

Необязательно: используйте ключ API.

В зависимости от выбранного вами тарифного плана, Gemini Code Assist включает в себя различные ежедневные квоты на использование агентских функций.

Если вы исчерпали свою суточную квоту для режима агента Gemini Code Assist, вы можете продолжить использование сервиса, предоставив ключ API. Вы можете использовать либо ключ API Gemini , либо ключ API Vertex AI .

Чтобы добавить свой API-ключ:

  1. Перейдите в настройки вашей IDE.

  2. Откройте файл settings.json .

  3. Добавьте следующую строку, заменив YOUR_KEY на ваш API-ключ:

    "geminicodeassist.geminiApiKey": " YOUR_KEY "

Что дальше?