Как использовать навыки ИИ-агента (с помощью Gemini CLI и Agent Skills for Firebase)

1. Введение

Фотография обложки лаборатории навыков агента

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

Что вы будете делать

  • Создавайте собственные навыки агента для ваших любимых вещей.
  • Используйте Gemini CLI для запроса информации о вашем навыке.
  • Установите официальные Agent Skills для Firebase и используйте их для сборки и развертывания приложения.

Что вы узнаете

  • Как структурировать навык.
  • Как создать файл SKILL.md .
  • Как использовать локальные навыки с помощью Gemini CLI.

2. Настройка проекта

  1. Если у вас еще нет учетной записи Google, вам необходимо ее создать .
    • Используйте личный аккаунт вместо рабочего или учебного. Рабочие и учебные аккаунты могут иметь ограничения, которые не позволят вам включить API, необходимые для этой лабораторной работы.
  2. Войдите в консоль Google Cloud .
  3. Включите выставление счетов в облачной консоли.
    • Выполнение этой лабораторной работы должно обойтись менее чем в 1 доллар США в виде облачных ресурсов.
    • В конце этой лабораторной работы вы можете выполнить действия по удалению ресурсов, чтобы избежать дальнейших списаний средств.
    • Новые пользователи могут воспользоваться бесплатной пробной версией стоимостью 300 долларов США .
  4. Создайте новый проект или выберите вариант повторного использования существующего проекта.
    • Если вы видите ошибку, связанную с квотой проекта, используйте существующий проект повторно или удалите существующий проект, чтобы создать новый.

3. Откройте редактор Cloud Shell.

  1. Нажмите на эту ссылку, чтобы перейти непосредственно в редактор Cloud Shell.
  2. Если сегодня вам будет предложено авторизоваться, нажмите «Авторизовать» , чтобы продолжить. Нажмите, чтобы авторизовать Cloud Shell.
  3. Если терминал не отображается внизу экрана, откройте его:
    • Нажмите «Просмотреть».
    • Нажмите «Терминал» Откройте новый терминал в редакторе Cloud Shell.
  4. В терминале настройте свой проект с помощью этой команды:
    • Формат:
      gcloud config set project [PROJECT_ID]
      
    • Пример:
      gcloud config set project lab-project-id-example
      
    • Если вы не помните идентификатор своего проекта:
      • Вы можете вывести список всех идентификаторов ваших проектов с помощью:
        gcloud projects list | awk '/PROJECT_ID/{print $2}'
        
      Установите идентификатор проекта в терминале редактора Cloud Shell.
  5. Вы должны увидеть следующее сообщение:
    Updated property [core/project].
    
    Если вы видите WARNING и вас спрашивают Do you want to continue (Y/n)? , то, скорее всего, вы неправильно ввели идентификатор проекта. Нажмите n , затем Enter и попробуйте снова выполнить команду gcloud config set project .

4. Создайте свой собственный навык.

Папки Agent Skills содержат как минимум файл SKILL.md , который предоставляет инструкции и знания для ИИ-агента. В этом разделе вы создадите навык, который научит Gemini CLI вашим любимым вещам.

  1. Создайте директорию для этой лабораторной работы и перейдите в неё:
    mkdir ~/agent-skills-lab && cd ~/agent-skills-lab
    
  2. Создайте каталог для навыка вашего проекта:
    mkdir -p ~/agent-skills-lab/.agents/skills/my-favorite-things
    
  3. Создайте и откройте новый файл SKILL.md для вашего навыка:
    cloudshell edit ~/agent-skills-lab/.agents/skills/my-favorite-things/SKILL.md
    
    Команда cloudshell edit откроет файл ` SKILL.md в редакторе, расположенном над терминалом.
  4. Добавьте следующее содержимое в файл SKILL.md :
    ---
    name: my-favorite-things
    description: Provides personal information about my favorite color, food, and programming language. Use this skill when the user asks questions about my personal preferences or favorite things.
    ---
    
    # Knowledge
    
    - **Favorite Color:** Blue
    - **Favorite Food:** Pizza
    - **Favorite Programming Language:** Python
    
    If asked about one of my favorite things, please respond with the information provided above.
    

Имея всего лишь файл SKILL.md , вы создали свой первый навык! Пришло время использовать этот навык в Gemini CLI.

5. Используйте свои навыки из Gemini CLI.

Теперь, когда вы успешно создали навык, он уже доступен для обнаружения в Gemini CLI, поскольку находится в каталоге .agents/skills .

  1. Запустите Gemini CLI:
    gemini
    
    Вы должны увидеть, как Gemini CLI распознает новый навык. Возможно, вам потребуется нажать Enter , чтобы принять некоторые настройки по умолчанию.
  1. Пусть Близнецы перечислят доступные им навыки в контексте их жизни.
    /skills
    
    В списке доступных навыков вы должны увидеть my-favorite-things .
  2. Спросите Близнецов о вашем любимом цвете:
    What is my favorite color?
    
    Интерфейс командной строки Gemini должен использовать навык my-favorite-things чтобы ответить на ваш вопрос. Если появится запрос, разрешите Gemini CLI использовать этот навык.

В результате должно отобразиться сообщение о том, что Gemini CLI использовал ваш навык и ответил чем-то вроде «Синий» или «Мой любимый цвет — синий».

У вас получилось! Вы успешно создали навык и протестировали его с помощью Gemini CLI.

Когда вы будете готовы завершить сессию, введите /quit и нажмите Enter , чтобы выйти из Gemini CLI.

6. (Необязательно) Создайте и разверните приложение на Firebase Hosting.

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

Agent Skills for Firebase — отличный пример таких портативных модулей. Они разработаны, чтобы помочь ИИ-помощникам понять лучшие практики Firebase и выполнять сложные задачи с большей точностью и меньшими затратами токенов.

Теперь используйте Agent Skills for Firebase для создания веб-приложения "Список дел" с аутентификацией пользователей и базой данных, а затем разверните его на Firebase Hosting.

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

  1. Если вы все еще находитесь в Gemini CLI, введите /quit для выхода.
  2. Создайте новую директорию для своего проекта и перейдите в неё:
    mkdir ~/todo-app && cd ~/todo-app
    
  3. Войдите в Firebase, используя свою учетную запись Google. Используйте флаг --no-localhost поскольку вы находитесь в Cloud Shell:
    firebase login --no-localhost
    
    1. Взаимодействуйте с подсказками командной строки :
      • Когда появится вопрос Enable Gemini in Firebase features? , введите Y (да) и нажмите Enter .
      • Когда появится запрос Allow Firebase to collect CLI and Emulator Suite usage and error reporting information? , введите Y (да) и нажмите Enter .
    2. Авторизация в браузере :
      • В терминале вы увидите URL-адрес. Щелкните по ссылке , чтобы открыть страницу входа в систему в новой вкладке браузера.
      • Шаг 1 из 3 (Подтверждение команды) : Нажмите «Да, я только что выполнил эту команду» .
      • Шаг 2 из 3 (Подтверждение идентификатора сессии) : Убедитесь, что идентификатор сессии совпадает с тем, что отображается в вашем терминале, затем нажмите «Да, это мой идентификатор сессии» .
      • Шаг 3 из 3 (Копирование кода) : Нажмите «Копировать» , чтобы скопировать код авторизации в буфер обмена.
    3. Завершите вход в систему :
      • Вернитесь в терминал Cloud Shell и вставьте код авторизации в поле ? Enter authorization code: ".
      • Нажмите Enter .
    Вы должны увидеть сообщение об успешном завершении: ✔ Success! Logged in as .

Установите навыки агента для Firebase.

Теперь, когда вы создали каталог своего проекта, вам следует установить в него Agent Skills for Firebase.

Установить Agent Skills для Firebase можно с помощью CLI-интерфейса skills в терминале:

npx skills add firebase/agent-skills

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

  • firebase-basics
  • firebase-hosting-basics
  • firebase-auth-basics
  • firebase-firestore-enterprise-native-mode

Выбор четырех навыков Firebase

В последующих запросах вы можете смело принять значения по умолчанию, нажав Enter .

Эта команда загрузит и установит навыки, включая firebase-basics и firebase-hosting-basics , сделав их доступными для использования в Gemini CLI вместе с вашим навыком my-favorite-things .

Чтобы узнать больше о навыках Agent Skills для Firebase, ознакомьтесь с доступными навыками .

Создайте и разверните базовое веб-приложение.

  1. Включите необходимые API для вашего проекта:
    gcloud services enable \
      cloudresourcemanager.googleapis.com \
      firebase.googleapis.com
    
  2. Включите Firebase в вашем текущем проекте Google Cloud:
    firebase projects:addfirebase ${GOOGLE_CLOUD_PROJECT}
    
  3. Запустите Gemini CLI:
    gemini
    
  4. Попросите Gemini сгенерировать базовый файл index.html :
    Generate an index.html file with the content "Hello Firebase Hosting" and
    deploy the application to Firebase Hosting using the current Google Cloud
    Project.
    
    Gemini запросит создание index.html и выполнение firebase . Нажмите Enter , чтобы разрешить это. Gemini CLI должен использовать навыки агента для Firebase для создания и развертывания вашего веб-сайта. Управляйте агентом и получайте необходимые подтверждения.

После завершения развертывания должен появиться URL-адрес вашего веб-приложения. Используйте ctrl+click (Windows) или cmc+click (Mac), чтобы открыть ссылки в терминале Cloud Shell Editor. Перейдите по URL-адресу вашего развернутого приложения!

Добавить аутентификацию Firebase

  1. Запустите Gemini CLI, если он еще не запущен:
    gemini
    
    В Gemini могут задаваться вопросы типа "Доверяете ли вы этой папке?". Нажмите Enter , чтобы принять значения по умолчанию.
  2. Теперь попросите Gemini добавить вход через Google:
    Generate HTML, CSS, and Javascript for a single page application.
    It should use Google Sign-in with Firebase Authentication.
    A user should be able to sign in with their Google Account.
    Deploy when you are done and give the URL to the user.
    
    Gemini может запросить создание или обновление таких файлов, как index.html , style.css и script.js . Разрешите ему это сделать. Gemini может попросить вас выполнить некоторые действия в консоли Firebase. CLI способен выполнить большинство из них, если вы попросите его об этом, но выполнение шагов вручную (например, включение Google OAuth) может потребоваться, если в вашем экземпляре Cloud Shell установлена ​​более старая версия Firebase CLI.

После завершения развертывания должен появиться URL-адрес вашего веб-приложения. Используйте ctrl+click (Windows) или cmc+click (Mac), чтобы открыть ссылки в терминале Cloud Shell Editor. Перейдите по URL-адресу вашего развернутого приложения!

Чтобы отобразить последние изменения, может потребоваться выполнить "принудительную перезагрузку" с помощью ctrl+shift+R (Windows) или cmd+shift+R (Mac).

Добавить Cloud Firestore

  1. Запустите Gemini CLI, если он еще не запущен:
    gemini
    
    В Gemini могут задаваться вопросы типа "Доверяете ли вы этой папке?". Нажмите Enter , чтобы принять значения по умолчанию.
  2. Попросите Gemini добавить Firestore для сохранения задач:
    Update the application to save tasks in Cloud Firestore for the signed-in user.
    A user should be able to add new tasks and see a list of their tasks.
    Deploy when you are done and give the URL to the user.
    
    Gemini обновит файлы. Разрешите ему это сделать.

После завершения развертывания должен появиться URL-адрес вашего веб-приложения. Используйте ctrl+click (Windows) или cmc+click (Mac), чтобы открыть ссылки в терминале Cloud Shell Editor. Перейдите по URL-адресу вашего развернутого приложения!

Чтобы отобразить последние изменения, может потребоваться выполнить "принудительную перезагрузку" с помощью ctrl+shift+R (Windows) или cmd+shift+R (Mac).

Если ваше приложение работает не так, как ожидается, продолжайте работать с Gemini CLI, чтобы получить необходимую функциональность. Пример: shell Hide the task form when the user is logged out. Update the security rules so the user can see their TODOs.

Продолжайте экспериментировать с лабораторией, чтобы добавить функции, которые вы хотели бы видеть в своем новом приложении Firebase.

7. Заключение

Поздравляем! Вы успешно создали навык и научились устанавливать дополнительные навыки для Gemini CLI.

(Необязательно) Уборка

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

При желании вы можете удалить проект:

gcloud projects delete $GOOGLE_CLOUD_PROJECT

Вы также можете удалить ненужные ресурсы с диска Cloud Shell, чтобы освободить место.

  1. Удалите каталог lab (это удалит и навык, и приложение):
    rm -rf ~/agent-skills-lab
    
  2. Удалите каталог приложения "To Do" (если вы создали его вне этого каталога):
    rm -rf ~/todo-app
    

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