Wzorzec agenta ADK z pamięcią i MCP

1. Czego się nauczysz

Witamy w ADK Master Class – Twojej podróży do systemów wieloagentowych

Wkrótce wkroczysz do ekscytującego świata agentów AI. Zapomnij o prostych chatbotach, które tylko odpowiadają na pytania. Zajmujemy się Agent Development Kit (ADK), aby tworzyć zaawansowane, autonomiczne systemy, które potrafią rozumować, planować i korzystać z narzędzi do wykonywania złożonych zadań.

cover utworu

Po ukończeniu tego samouczka będziesz w stanie:

  • Tworzenie pierwszego agenta AI: od zera do w pełni funkcjonalnego agenta, który rozumie potrzeby użytkownika, korzysta z narzędzi takich jak wyszukiwarka Google i generuje szczegółowe, przydatne odpowiedzi.
  • Tworzenie systemów wieloagentowych: poznaj wzorzec „Agent jako narzędzie”, rewolucyjną koncepcję, w której agenci delegują zadania do innych wyspecjalizowanych agentów, tworząc zespół ekspertów AI, którzy współpracują ze sobą.
  • Orkiestracja złożonych przepływów pracy: wyjdź poza proste delegowanie i opanuj zaawansowane wzorce, takie jak routery, sekwencyjne łańcuchy, pętlerównoległe wykonywanie, aby tworzyć niezawodne, wydajne i inteligentne aplikacje, które mogą obsługiwać niemal każde żądanie.
  • Wyposażanie agentów w pamięć: dowiedz się, jak ważna jest pamięć konwersacyjna, która umożliwia agentom odpowiadanie na dodatkowe pytania, uczenie się na podstawie opinii i płynne wykonywanie wieloetapowych zadań.
  • Połącz się z MCP: połącz się z zestawem narzędzi MCP.

Zaczynajmy! 🚀

2. Konfigurowanie GCP i klucza interfejsu Gemini API

Konfigurowanie projektu GCP i klucza interfejsu Gemini API

Aby uruchomić naszych agentów AI, potrzebujemy dwóch rzeczy: projektu Google Cloud, który będzie stanowić podstawę, oraz klucza interfejsu Gemini API, który umożliwi dostęp do zaawansowanych modeli Google.

Krok 1. Włącz konto rozliczeniowe

  • Aby odebrać konto rozliczeniowe z 5-dolarowym kredytem, musisz je wykorzystać w procesie wdrażania. Zaloguj się na konto Gmail.

Krok 2. Utwórz nowy projekt GCP

  • Otwórz konsolę Google Cloud i utwórz nowy projekt.

utworzyć nowe konto GCP,

  • Otwórz konsolę Google Cloud i utwórz nowy projekt.
  • Otwórz panel po lewej stronie, kliknij Billing i sprawdź, czy konto rozliczeniowe jest połączone z tym kontem GCP.

Połącz konto rozliczeniowe z kontem GCP

Jeśli widzisz tę stronę, sprawdź manage billing account, wybierz Google Cloud Trial One i połącz je.

Krok 3. Znajdź identyfikator projektu Google Cloud

👉 U góry konsoli Google Cloud kliknij Aktywuj Cloud Shell (jest to ikona terminala u góry panelu Cloud Shell). cloud-shell.png

👉 Kliknij przycisk „Otwórz edytor” (wygląda jak otwarty folder z ołówkiem). W oknie otworzy się edytor kodu Cloud Shell. Po lewej stronie zobaczysz eksplorator plików. open-editor.png

👉Znajdź identyfikator projektu Google Cloud:

  • Otwórz konsolę Google Cloud: link
  • Z menu projektów u góry strony wybierz projekt, którego chcesz użyć w tych warsztatach.
  • Identyfikator projektu jest wyświetlany na karcie Informacje o projekcie w panelu.

03-04-project-id.png

👉💻 W terminalu sprawdź, czy masz już uwierzytelnienie i czy projekt jest ustawiony na Twój identyfikator projektu. Użyj tego polecenia:

gcloud auth list

👉💻 Sklonuj projekt początkowy z GitHuba:

git clone https://github.com/cuppibla/adk_tutorial.git

👉💻 Uruchom skrypt inicjujący. Poprosi on o wpisanie identyfikatora projektu Google Cloud. Gdy skrypt setup_venv.sh wyświetli odpowiedni komunikat, wpisz identyfikator projektu Google Cloud znaleziony w ostatnim kroku.

cd ~/adk_tutorial
./setup_venv.sh

gcloud services enable  compute.googleapis.com \
                        artifactregistry.googleapis.com \
                        run.googleapis.com \
                        iam.googleapis.com \
                        aiplatform.googleapis.com \
                        cloudresourcemanager.googleapis.com

3. Sesja 1. Pierwszy agent w ADK Web

Otwórz ADK Web, uruchamiając to polecenie:

cd ~/adk_tutorial
source .adk_env/bin/activate
adk web

Po uruchomieniu poleceń w terminalu powinny pojawić się dane wyjściowe wskazujące, że serwer WWW ADK został uruchomiony. Będą one podobne do tych:

+-----------------------------------------------------------------------------+
| ADK Web Server started                                                      |
|                                                                             |
| For local testing, access at http://localhost:8000.                         |
+-----------------------------------------------------------------------------+

INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

👉 Następnie, aby uzyskać dostęp do interfejsu ADK Dev UI w przeglądarce:

Na pasku narzędzi Cloud Shell (zwykle w prawym górnym rogu) kliknij ikonę podglądu w przeglądarce (często wygląda jak oko lub kwadrat ze strzałką) i wybierz Zmień port. W wyskakującym okienku ustaw port na 8000 i kliknij „Zmień i wyświetl podgląd”. Cloud Shell otworzy nową kartę lub nowe okno przeglądarki z interfejsem ADK Dev.

webpreview

👉 Rytuał przywołania został zakończony, a agent jest już uruchomiony. Interfejs programisty ADK w przeglądarce to bezpośrednie połączenie z urządzeniem Familiar.

wybierz agenta przepływu pracy równoległej – w menu u góry interfejsu wybierz parallel_agent.

Możesz wybrać single_agent tutaj: śledzenie obrazu pojedynczych czynników,

Ślad możesz zobaczyć tutaj: śledzenie obrazu pojedynczego agenta,

👉 Test Prompt:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art.

4. Sesja 2. Agent przepływu pracy: agent sekwencyjny, agent równoległy, agent pętli

Agent równoległy

wybierz agenta przepływu pracy równoległej – w menu u góry interfejsu wybierz parallel_agent.

👉 Test Prompt:

Plan my trip to San Francisco, I want to find some good concert, restaurant and museum.

Możesz wybrać parallel_agent tutaj: śledzenie obrazu równoległych agentów,

Ślad możesz zobaczyć tutaj: śledzenie obrazu równoległych agentów,

Agent sekwencyjny

wybierz agenta przepływu pracy sekwencyjnego: w menu u góry interfejsu wybierz sequential_agent.

👉 Test Prompt:

Find a good sushi near Standford and tell me how to get there.

Możesz wybrać sequential_agent tutaj: śledzenie obrazu sekwencyjnych agentów,

Ślad możesz zobaczyć tutaj: tracing picture of sequential_agent

Agent pętli

wybierz agenta przepływu pracy pętli – w menu u góry interfejsu wybierz loop_agent.

👉 Test Prompt:

Plan a trip from Sunnyvale to San Francisco today.

Możesz wybrać loop_agent tutaj: rysunek śledzenia agentów pętli

Ślad możesz zobaczyć tutaj: rysunek śledzenia agentów pętli

5. Sesja 3. Niestandardowy agent

Gdy interfejs ADK Web UI będzie otwarty, możesz wybrać Custom_Agent agenta.

👉 Test Prompt:

Plan a trip from Sunnyvale to San Francisco this weekend, I love food and art. Make sure within budget of 100 dollars.

Możesz wybrać Custom_Agent tutaj: tracing picture of Custom_Agent

Ślad możesz zobaczyć tutaj: tracing picture of Custom_Agent

6. Sesja 4. Wzorzec aranżera – agent kierowania

Gdy interfejs ADK Web UI będzie otwarty, możesz wybrać routing_agent.

👉 Test Prompt:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

Możesz wybrać routing_agent tutaj: obraz śledzenia agentów routingu,

Ślad możesz zobaczyć tutaj: obraz śledzenia agentów routingu,

7. Sesja 5. Agent jako narzędzie

Gdy interfejs ADK Web UI będzie otwarty, możesz wybrać Agent_as_tool agenta.

👉 Test Prompt:

Plan a trip from Sunnyvale to San Francisco this weekend, I love concert, restaurant and museum.

Możesz wybrać agent_as_tool tutaj: obraz śledzenia agenta jako narzędzia

Ślad możesz zobaczyć tutaj: obraz śledzenia agentów routingu,

8. Sesja 6. Agent z pamięcią długotrwałą

👉💻 Sprawdź swoją pamięć długotrwałą, przechodząc do folderu i używając narzędzia do uruchamiania, aby zasilić agenta:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 Test Prompt:

I like Art and Italian food.

Następnie zakończ sesję, naciskając „Ctrl+C”. Uruchom ponownie sesję:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/f_agent_with_memory
python main.py

👉 Test Prompt:

Plan a trip to San Francisco based on my preference.

9. Sesja 7. Zwiększanie możliwości agenta za pomocą MCP

Krok 1. Przygotuj lokalną bazę danych

👉💻 uruchom w terminalu to polecenie:

cd ~/adk_tutorial
source .adk_env/bin/activate
chmod +x setup_trip_database.py
./setup_trip_database.py

Krok 2. Zainstaluj i uruchom serwer MCP Toolbox

👉💻 uruchom w terminalu to polecenie:

cd ~/adk_tutorial/mcp_tool_box
export VERSION=0.16.0
curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/linux/amd64/toolbox

po zakończeniu pobierania, a następnie uruchom

chmod +x toolbox

Krok 3

W jednym terminalu uruchom to polecenie:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/mcp_tool_box
./toolbox --tools-file "trip_tools.yaml" --port 7001

W innym terminalu uruchom to polecenie:

cd ~/adk_tutorial
source .adk_env/bin/activate
cd ~/adk_tutorial/g_agents_mcp
python main.py