Wzorzec agenta ADK z pamięcią i MCP

1. Czego się nauczysz

Witamy w kursie mistrzowskim pakietu ADK – Twoja podróż do systemów wieloagentowych

Zaraz wkroczysz do ekscytującego świata agentów AI. Zapomnij o prostych chatbotach, które tylko odpowiadają na pytania. Zagłębimy się w 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:

  • Stworzyć pierwszego agenta AI: przejść od zera do w pełni funkcjonalnego agenta, który potrafi zrozumieć potrzeby użytkownika, korzystać z narzędzi takich jak wyszukiwarka Google i generować szczegółowe, przydatne odpowiedzi.
  • Tworzyć systemy wieloagentowe: 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ą.
  • Orkiestrować złożone przepływy pracy: wyjdź poza proste delegowanie i opanuj zaawansowane wzorce, takie jak routery, łańcuchy sekwencyjne, pętle i wykonywanie równoległe, aby tworzyć niezawodne, wydajne i inteligentne aplikacje, które mogą obsługiwać niemal wszystkie żądania.
  • Wyposażyć agentów w pamięć: zrozum krytyczną rolę pamięci konwersacji, która umożliwia agentom odpowiadanie na kolejne pytania, uczenie się na podstawie opinii i płynne zarządzanie zadaniami wieloetapowymi.
  • Łączyć 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 korzystać z agentów AI, potrzebujemy 2 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 uruchomić to laboratorium, musisz mieć konto rozliczeniowe z pewną ilością środków. Aby rozpocząć, wykorzystaj środki z banera u góry tego laboratorium. Jeśli masz już połączenie z kontem rozliczeniowym, możesz pominąć ten krok.

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.

Łączenie konta rozliczeniowego z kontem GCP

Jeśli widzisz tę stronę, sprawdź manage billing account, wybierz wersję próbną Google Cloud i połącz ją.

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
  • W menu projektu u góry strony wybierz projekt, którego chcesz użyć na potrzeby tych warsztatów.
  • Identyfikator projektu jest wyświetlany na karcie informacji 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żywając tego polecenia:

gcloud auth list

👉💻 Sklonuj projekt bootstrap z GitHuba:

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

👉💻 Uruchom skrypt inicjujący. Ten skrypt wyświetli prośbę o wpisanie identyfikatora projektu Google Cloud. Gdy skrypt setup_venv.sh wyświetli prośbę, wpisz identyfikator projektu Google Cloud znaleziony w poprzednim 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. Twój pierwszy agent w ADK Web

Aby otworzyć ADK Web, uruchom:

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 ADK Web został uruchomiony, podobnie jak w tym przykładzie:

+-----------------------------------------------------------------------------+
| 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 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ę przeglądarki lub okno z interfejsem ADK Dev.

webpreview

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

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

Możesz tu wybrać single_agent: śledzenie obrazu pojedynczych agentów,

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

👉 Prompt testowy:

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.

👉 Prompt testowy:

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

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

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

Agent sekwencyjny

Wybierz agenta przepływu pracy sekwencyjnej. W menu u góry interfejsu wybierz sequential_agent.

👉 Prompt testowy:

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

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

Śledzenie możesz zobaczyć tutaj: śledzenie obrazu sequential_agent

Agent pętli

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

👉 Prompt testowy:

Plan a trip from Sunnyvale to San Francisco today.

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

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

5. Sesja 3. Agent niestandardowy

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

👉 Prompt testowy:

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

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

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

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

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

👉 Prompt testowy:

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

Możesz tu wybrać routing_agent: obraz śledzenia agentów kierowania

Śledzenie możesz zobaczyć tutaj: obraz śledzenia agentów kierowania

7. Sesja 5. Agent jako narzędzie

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

👉 Prompt testowy:

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

Możesz tu wybrać agent_as_tool: śledzenie obrazu agenta jako narzędzia,

Śledzenie możesz zobaczyć tutaj: obraz śledzenia agentów kierowania

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

👉💻 Aby przetestować pamięć długotrwałą, otwórz folder i użyj narzędzia do uruchamiania, aby ulepszyć agenta:

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

👉 Prompt testowy:

I like Art and Italian food.

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

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

👉 Prompt testowy:

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

👉💻 W terminalu uruchom 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 zestawu narzędzi MCP

👉💻 W terminalu uruchom to polecenie:

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

Po zakończeniu pobierania 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