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

1. Введение

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

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

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

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

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

  • Как структурировать навык.
  • Как создать файл SKILL.md .
  • Как использовать локальные навыки с помощью Antigravity 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 , который предоставляет инструкции и знания агенту ИИ. В этом разделе вы создадите навык, который научит Antigravity 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 , вы создали свой первый навык! Пришло время использовать этот навык в Antigravity CLI.

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

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

  1. Запуск интерфейса командной строки Antigravity:
    agy
    
  1. Аутентификация через Antigravity CLI: При первоначальном запуске требуется аутентификация. Выберите OAuth (нажав Enter ). Экран авторизации антигравитации
  2. Нажмите на ссылку (если она неактивна, выделите URL-адрес в Cloud Shell, чтобы скопировать его, а затем вставьте в свой браузер).
  3. Войдите в свой аккаунт Google.
  4. Скопируйте код
  5. Вставьте код в терминал редактора Cloud Shell.
  6. Нажмите Enter . Запрос кода безопасности «Антигравитация»
  7. Нажмите Enter , чтобы принять некоторые настройки по умолчанию.
  8. Пусть Antigravity CLI выводит список доступных ему навыков в контексте его работы.
    /skills
    
    В списке доступных навыков вы должны увидеть my-favorite-things . Запрос кода безопасности «Антигравитация»
  9. Нажмите ESC , чтобы выйти из режима просмотра навыков.
  10. Спросите у Antigravity CLI о вашем любимом цвете:
    What is my favorite color?
    
    Интерфейс командной строки Antigravity должен использовать навык my-favorite-things чтобы ответить на ваш вопрос. Если появится запрос, разрешите интерфейсу командной строки Antigravity использовать этот навык.

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

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

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

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

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

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

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

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

  1. Если вы все еще находитесь в интерфейсе командной строки Antigravity, введите /exit для выхода.
  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-адрес. Щелкните по ссылке (если она неактивна, выделите URL-адрес в Cloud Shell, чтобы скопировать его, а затем вставьте в браузер), чтобы открыть страницу входа в систему в новой вкладке браузера.
      • Шаг 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-auth-basics
  • firebase-basics
  • firebase-firestore
  • firebase-hosting-basics
  • firebase-security-rules-auditor

Выбор пяти навыков Firebase

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

Эта команда загрузит и установит навыки, включая firebase-basics и firebase-hosting-basics , сделав их доступными для использования в Antigravity 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. Запуск интерфейса командной строки Antigravity:
    agy
    
  4. Запросите у Antigravity CLI генерацию базового файла 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.
    
    В процессе создания и развертывания приложения Antigravity CLI запросит разрешения. Нажмите Enter , чтобы разрешить это. Возможно, вам потребуется ввести «approve» и нажать Enter . Antigravity CLI должен использовать Agent Skills for Firebase для создания и развертывания вашего веб-сайта. Управляйте агентом, предоставляя необходимые разрешения.

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

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

  1. Запустите Antigravity CLI, если он еще не запущен:
    agy
    
    В командной строке Antigravity могут задаваться вопросы типа "Доверяете ли вы этой папке?". Нажмите Enter , чтобы принять значения по умолчанию.
  2. Теперь попросите Antigravity CLI добавить вход через 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 me.
    
    Antigravity CLI может запросить создание или обновление таких файлов, как index.html , style.css и script.js . Разрешите ему это сделать. Antigravity CLI может запросить выполнение некоторых действий в консоли Firebase. CLI способен выполнить большинство из них, если вы попросите его об этом, но выполнение шагов вручную (например, включение Google OAuth) может потребоваться, если в вашем экземпляре Cloud Shell установлена ​​более старая версия Firebase CLI.

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

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

Добавить Cloud Firestore

  1. Запустите Antigravity CLI, если он еще не запущен:
    agy
    
    В командной строке Antigravity могут задаваться вопросы типа "Доверяете ли вы этой папке?". Нажмите Enter , чтобы принять значения по умолчанию.
  2. Запросите у Antigravity CLI добавление 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 to me.
    
    Antigravity CLI обновит файлы. Разрешите ему это сделать.

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

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

Если ваше приложение работает не так, как ожидается, продолжайте работать с Antigravity 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. Заключение

Поздравляем! Вы успешно создали навык и научились устанавливать дополнительные навыки для Antigravity 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 до состояния по умолчанию, вы можете следовать инструкциям в официальной документации , чтобы безопасно это сделать.