Jak korzystać z umiejętności agenta AI (za pomocą interfejsu wiersza poleceń Gemini i umiejętności agenta w Firebase)

1. Wprowadzenie

Zdjęcie główne laboratorium umiejętności agenta

Z tego modułu dowiesz się, jak tworzyć umiejętności agenta, aby zapewnić dużym modelom językowym dostęp do specjalistycznej wiedzy i przepływów pracy. Utworzysz go jako lokalną umiejętność, do której można uzyskać dostęp z interfejsu wiersza poleceń Gemini.

Jakie zadania wykonasz

  • Twórz własne umiejętności agenta do ulubionych rzeczy.
  • Użyj interfejsu wiersza poleceń Gemini, aby wysłać zapytanie do umiejętności.
  • Zainstaluj oficjalne umiejętności agenta w Firebase i użyj ich do utworzenia oraz wdrożenia aplikacji.

Czego się nauczysz

  • Jak skonstruować umiejętność.
  • Jak napisać plik SKILL.md.
  • Jak używać lokalnych umiejętności w interfejsie wiersza poleceń Gemini.

2. Konfiguracja projektu

  1. Jeśli nie masz jeszcze konta Google, musisz je utworzyć.
    • Używaj konta osobistego zamiast konta służbowego lub szkolnego. Konta służbowe i szkolne mogą mieć ograniczenia, które uniemożliwiają włączenie interfejsów API potrzebnych do tego ćwiczenia.
  2. Zaloguj się w konsoli Google Cloud.
  3. Włącz płatności w konsoli Google Cloud.
  4. Utwórz nowy projekt lub użyj już istniejącego.
    • Jeśli zobaczysz błąd dotyczący limitu projektu, użyj ponownie istniejącego projektu lub usuń go, aby utworzyć nowy.

3. Otwórz edytor Cloud Shell

  1. Kliknij ten link, aby przejść bezpośrednio do edytora Cloud Shell
  2. Jeśli w dowolnym momencie pojawi się prośba o autoryzację, kliknij Autoryzuj, aby kontynuować. Kliknij, aby uwierzytelnić się w Cloud Shell
  3. Jeśli terminal nie pojawi się u dołu ekranu, otwórz go:
    • Kliknij Wyświetl.
    • Kliknij TerminalOtwieranie nowego terminala w edytorze Cloud Shell.
  4. W terminalu ustaw projekt za pomocą tego polecenia:
    • Format:
      gcloud config set project [PROJECT_ID]
      
    • Przykład:
      gcloud config set project lab-project-id-example
      
    • Jeśli nie pamiętasz identyfikatora projektu:
      • Aby wyświetlić listę wszystkich identyfikatorów projektów, użyj tego polecenia:
        gcloud projects list | awk '/PROJECT_ID/{print $2}'
        
      Ustawianie identyfikatora projektu w terminalu edytora Cloud Shell
  5. Powinien wyświetlić się ten komunikat:
    Updated property [core/project].
    
    Jeśli widzisz symbol WARNING i pojawia się pytanie Do you want to continue (Y/n)?, prawdopodobnie identyfikator projektu został wpisany nieprawidłowo. Naciśnij n, a następnie Enter i spróbuj ponownie uruchomić polecenie gcloud config set project.

4. Tworzenie własnej umiejętności

Umiejętności agenta to katalogi zawierające co najmniej SKILL.md, który zawiera instrukcje i wiedzę dla agenta AI. W tej sekcji utworzysz umiejętność, która nauczy interfejs wiersza poleceń Gemini Twoich ulubionych rzeczy.

  1. Utwórz katalog na potrzeby tego modułu i przejdź do niego:
    mkdir ~/agent-skills-lab && cd ~/agent-skills-lab
    
  2. Utwórz katalog umiejętności projektu:
    mkdir -p ~/agent-skills-lab/.agents/skills/my-favorite-things
    
  3. Utwórz i otwórz nowy plik SKILL.md dla swojej umiejętności:
    cloudshell edit ~/agent-skills-lab/.agents/skills/my-favorite-things/SKILL.md
    
    Polecenie cloudshell edit otworzy plik SKILL.md w edytorze nad terminalem.
  4. Dodaj do pliku SKILL.md te wiersze:
    ---
    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.
    

Udało Ci się utworzyć pierwszą umiejętność, używając tylko pliku SKILL.md. Czas użyć tej umiejętności w interfejsie wiersza poleceń Gemini.

5. Korzystanie z umiejętności w interfejsie wiersza poleceń Gemini

Po utworzeniu umiejętności jest ona już wykrywalna przez interfejs wiersza poleceń Gemini, ponieważ znajduje się w katalogu .agents/skills.

  1. Uruchom interfejs wiersza poleceń Gemini:
    gemini
    
    Interfejs wiersza poleceń Gemini powinien rozpoznać nową umiejętność. Aby zaakceptować niektóre ustawienia domyślne, może być konieczne naciśnięcie Enter.
  1. Poproś Gemini o wyświetlenie listy umiejętności dostępnych w danym kontekście
    /skills
    
    Na liście dostępnych umiejętności powinna pojawić się pozycja my-favorite-things.
  2. Zapytaj Gemini o ulubiony kolor:
    What is my favorite color?
    
    Interfejs wiersza poleceń Gemini powinien używać umiejętności my-favorite-things, aby odpowiedzieć na Twoje pytanie. Jeśli pojawi się odpowiedni komunikat, zezwól interfejsowi wiersza poleceń Gemini na korzystanie z umiejętności.

Wynik powinien wskazywać, że interfejs wiersza poleceń Gemini użył Twojej umiejętności i odpowiedział np. „Niebieski” lub „Mój ulubiony kolor to niebieski”.

Udało Ci się! Udało Ci się utworzyć umiejętność i przetestować ją za pomocą interfejsu wiersza poleceń Gemini.

Gdy chcesz zakończyć sesję, wpisz /quit, a potem naciśnij Enter, aby zamknąć interfejs wiersza poleceń Gemini.

6. (Opcjonalnie) Tworzenie i wdrażanie aplikacji w Hostingu Firebase

Oprócz tworzenia własnych umiejętności możesz instalować umiejętności utworzone przez inne osoby. Pokazuje to wykorzystanie przenośnych umiejętności, czyli samodzielnych modułów wiedzy, instrukcji i przepływów pracy, które można łatwo udostępniać i ponownie wykorzystywać.

Umiejętności agenta w Firebase to świetny przykład takich przenośnych modułów. Zostały one zaprojektowane tak, aby pomagać asystentom AI w poznawaniu sprawdzonych metod korzystania z Firebase i wykonywaniu złożonych zadań z większą dokładnością i niższym kosztem tokenów.

Teraz użyj funkcji Agent Skills for Firebase, aby utworzyć aplikację internetową „Lista zadań” z uwierzytelnianiem użytkowników i bazą danych, a następnie wdrożyć ją w Hostingu Firebase.

Konfigurowanie projektu

  1. Jeśli nadal korzystasz z interfejsu wiersza poleceń Gemini, wpisz /quit, aby go zamknąć.
  2. Utwórz nowy katalog projektu i przejdź do niego:
    mkdir ~/todo-app && cd ~/todo-app
    
  3. Zaloguj się w Firebase, używając konta Google. Użyj flagi --no-localhost, ponieważ korzystasz z Cloud Shell:
    firebase login --no-localhost
    
    1. Odpowiadaj na pytania w interfejsie wiersza poleceń:
      • Gdy pojawi się pytanie Enable Gemini in Firebase features?, wpisz Y (oznaczające „Tak”) i naciśnij Enter.
      • Gdy pojawi się pytanie Allow Firebase to collect CLI and Emulator Suite usage and error reporting information?, wpisz Y (oznaczające „Tak”) i naciśnij Enter.
    2. Autoryzacja w przeglądarce:
      • W terminalu zobaczysz adres URL. Kliknij link, aby otworzyć stronę logowania w nowej karcie przeglądarki.
      • Krok 1 z 3 (potwierdzenie polecenia): kliknij Tak, to polecenie zostało właśnie uruchomione.
      • Krok 2 z 3 (Potwierdź identyfikator sesji): sprawdź, czy identyfikator sesji jest zgodny z identyfikatorem wyświetlanym w terminalu, a następnie kliknij Tak, to jest mój identyfikator sesji.
      • Krok 3 z 3 (Kopiowanie kodu): kliknij Kopiuj, aby skopiować kod autoryzacji do schowka.
    3. Dokończ logowanie:
      • Wróć do terminala Cloud Shell i wklej kod autoryzacji w wierszu poleceń ? Enter authorization code:.
      • Naciśnij Enter.
    Powinien wyświetlić się komunikat o powodzeniu: ✔ Success! Logged in as .

Instalowanie umiejętności agenta w Firebase

Po utworzeniu katalogu projektu zainstaluj w nim Agent Skills for Firebase.

Umiejętności agenta dla Firebase możesz zainstalować za pomocą interfejsu wiersza poleceń skills w terminalu:

npx skills add firebase/agent-skills

Podczas instalacji pojawi się prośba o wybranie umiejętności, które chcesz zainstalować. Użyj klawiszy strzałek, aby poruszać się po liście, i spacji, aby wybrać te umiejętności.

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

Wybieranie 4 umiejętności związanych z Firebase

W przypadku kolejnych promptów możesz bezpiecznie zaakceptować wartości domyślne, naciskając Enter.

To polecenie pobierze i zainstaluje umiejętności, w tym firebase-basicsfirebase-hosting-basics, dzięki czemu będą one dostępne do użycia w interfejsie wiersza poleceń Gemini wraz z umiejętnością my-favorite-things.

Więcej informacji o umiejętnościach agenta w Firebase znajdziesz w tym artykule.

Tworzenie i wdrażanie podstawowej aplikacji internetowej

  1. Włącz wymagane interfejsy API w projekcie:
    gcloud services enable \
      cloudresourcemanager.googleapis.com \
      firebase.googleapis.com
    
  2. Włącz Firebase w bieżącym projekcie Google Cloud:
    firebase projects:addfirebase ${GOOGLE_CLOUD_PROJECT}
    
  3. Uruchom interfejs wiersza poleceń Gemini:
    gemini
    
  4. Poproś Gemini o wygenerowanie podstawowego 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 poprosi o utworzenie index.html i wykonanie firebase. Naciśnij Enter, aby zezwolić na to działanie.Interfejs wiersza poleceń Gemini powinien użyć umiejętności agenta w Firebase do utworzenia i wdrożenia Twojej witryny. W razie potrzeby udzielaj agentowi wskazówek dotyczących zatwierdzania.

Po zakończeniu wdrażania powinien pojawić się adres URL aplikacji internetowej. Użyj klawisza ctrl+click (Windows) lub cmc+click (Mac), aby otworzyć linki w terminalu edytora Cloud Shell. Otwórz adres URL wdrożonej aplikacji.

Dodawanie Uwierzytelniania Firebase

  1. Uruchom interfejs wiersza poleceń Gemini, jeśli nie jest jeszcze uruchomiony:
    gemini
    
    Gemini może zadać pytania takie jak „Czy ufasz temu folderowi?”. Aby zaakceptować ustawienia domyślne, naciśnij Enter.
  2. Teraz poproś Gemini o dodanie logowania przez 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 może poprosić o utworzenie lub zaktualizowanie plików, takich jak index.html, style.cssscript.js. Zezwól na to. Gemini może poprosić Cię o wykonanie pewnych działań w konsoli Firebase. Interfejs wiersza poleceń może wykonać większość tych czynności, jeśli o to poprosisz, ale jeśli na instancji Cloud Shell jest zainstalowana starsza wersja wiersza poleceń Firebase, może być konieczne ręczne wykonanie niektórych kroków (np. włączenie Google OAuth).

Po zakończeniu wdrażania powinien pojawić się adres URL aplikacji internetowej. Użyj klawisza ctrl+click (Windows) lub cmc+click (Mac), aby otworzyć linki w terminalu edytora Cloud Shell. Otwórz adres URL wdrożonej aplikacji.

Aby zobaczyć najnowsze zmiany, może być konieczne „twarde odświeżenie” za pomocą klawisza ctrl+shift+R (Windows) lub cmd+shift+R (Mac).

Dodawanie Cloud Firestore

  1. Uruchom interfejs wiersza poleceń Gemini, jeśli nie jest jeszcze uruchomiony:
    gemini
    
    Gemini może zadać pytania takie jak „Czy ufasz temu folderowi?”. Aby zaakceptować ustawienia domyślne, naciśnij Enter.
  2. Poproś Gemini o dodanie Firestore, aby zapisywać zadania:
    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 zaktualizuje pliki. Zezwól na to.

Po zakończeniu wdrażania powinien zostać podany adres URL aplikacji internetowej. Użyj klawisza ctrl+click (Windows) lub cmc+click (Mac), aby otworzyć linki w terminalu edytora Cloud Shell. Otwórz adres URL wdrożonej aplikacji.

Aby zobaczyć najnowsze zmiany, może być konieczne „twarde odświeżenie” za pomocą klawisza ctrl+shift+R (Windows) lub cmd+shift+R (Mac).

Jeśli aplikacja nie działa zgodnie z oczekiwaniami, kontynuuj pracę z interfejsem wiersza poleceń Gemini, aby uzyskać oczekiwaną funkcjonalność. Przykład: shell Hide the task form when the user is logged out. Update the security rules so the user can see their TODOs.

Eksperymentuj w laboratorium, aby dodać funkcje, które chcesz zobaczyć w nowej aplikacji Firebase.

7. Podsumowanie

Gratulacje! Umiejętność została utworzona. Wiesz już, jak instalować dodatkowe umiejętności w interfejsie wiersza poleceń Gemini.

(Opcjonalnie) Zwalnianie miejsca

Jeśli chcesz zwolnić miejsce, możesz usunąć swój projekt w chmurze, aby uniknąć dodatkowych opłat.

Jeśli chcesz, usuń projekt:

gcloud projects delete $GOOGLE_CLOUD_PROJECT

Możesz też usunąć niepotrzebne zasoby z dysku Cloud Shell, aby zwolnić miejsce.

  1. Usuń katalog laboratorium (spowoduje to usunięcie zarówno umiejętności, jak i aplikacji):
    rm -rf ~/agent-skills-lab
    
  2. Usuń katalog aplikacji „Lista zadań” (jeśli został utworzony poza aplikacją):
    rm -rf ~/todo-app
    

Jeśli kiedykolwiek zechcesz zresetować Cloud Shell do stanu domyślnego, możesz skorzystać z oficjalnej dokumentacji, w której znajdziesz instrukcje, jak to zrobić w bezpieczny sposób.