Шаблон агента ADK с памятью и MCP

1. Чему вы научитесь

Добро пожаловать на мастер-класс ADK — ваше путешествие в мир многоагентных систем

Вы готовы шагнуть в захватывающий мир агентов на основе искусственного интеллекта. Забудьте о простых чат-ботах, которые просто отвечают на вопросы. Мы углубляемся в изучение Agent Development Kit (ADK) для создания сложных автономных систем, способных рассуждать, планировать и использовать инструменты для выполнения сложных задач.

крышка

К концу этого урока вы сможете:

  • Создайте своего первого ИИ-агента : пройдите путь от нуля до полностью функционального агента, который может понимать потребности пользователя, использовать такие инструменты, как Google Поиск, и генерировать подробные, полезные ответы.
  • Создавайте многоагентные системы : изучите шаблон «Агент как инструмент» , революционную концепцию, в которой агенты делегируют задачи другим специализированным агентам, создавая команду экспертов по ИИ, работающих вместе.
  • Организуйте сложные рабочие процессы : выходите за рамки простого делегирования и осваивайте такие сложные шаблоны, как маршрутизаторы , последовательные цепочки , циклы и параллельное выполнение, чтобы создавать надежные, эффективные и интеллектуальные приложения, способные обрабатывать практически любые запросы.
  • Дайте своим агентам память : поймите важную роль разговорной памяти, которая позволит вашим агентам отвечать на уточняющие вопросы, учиться на обратной связи и беспрепятственно выполнять многоэтапные задачи.
  • Подключение к MCP : подключение к панели инструментов MCP.

Давайте начнём! 🚀

2. Настройте ключ GCP и Gemini API

Настройка вашего проекта GCP и ключа API Gemini

Для работы наших ИИ-агентов нам нужны две вещи: проект Google Cloud, который станет основой, и ключ API Gemini для доступа к мощным моделям Google.

Шаг 1: Включите платежную учетную запись

  • Активируйте свой платёжный аккаунт с 5 долларами на балансе, которые понадобятся вам для развёртывания. Убедитесь, что он связан с вашим аккаунтом Gmail .

Шаг 2: Создайте новый проект GCP

  • Перейдите в Google Cloud Console и создайте новый проект.

создать новую учетную запись gcp

  • Перейдите в Google Cloud Console и создайте новый проект.
  • Откройте левую панель, нажмите Billing , проверьте, связан ли счет выставления счетов с этой учетной записью GCP.

Свяжите платежный аккаунт с аккаунтом GCP

Если вы видите эту страницу, проверьте manage billing account , выберите Google Cloud Trial One и подключитесь к нему.

Шаг 3: найдите идентификатор своего проекта Google Cloud

👉Нажмите «Активировать Cloud Shell» в верхней части консоли Google Cloud (это значок в форме терминала в верхней части панели Cloud Shell), cloud-shell.png

👉Нажмите кнопку «Открыть редактор» (она выглядит как открытая папка с карандашом). В окне откроется редактор кода Cloud Shell. Слева вы увидите проводник. открытый-редактор.png

👉Найдите свой идентификатор проекта Google Cloud:

  • Откройте Google Cloud Console: ссылка
  • Выберите проект, который вы хотите использовать для этого семинара, из раскрывающегося списка проектов в верхней части страницы.
  • Идентификатор вашего проекта отображается на карточке информации о проекте на панели инструментов.

03-04-project-id.png

👉💻 В терминале убедитесь, что вы уже аутентифицированы и что проекту присвоен ваш идентификатор проекта, с помощью следующей команды:

gcloud auth list

👉💻 Клонируйте bootstrap-проект с GitHub:

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

👉💻 Запустите скрипт инициализации. Этот скрипт предложит вам ввести идентификатор вашего проекта Google Cloud . Затем, когда скрипт setup_venv.sh попросит вас ввести идентификатор проекта Google Cloud, который вы нашли на предыдущем шаге, введите его.

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. Сессия 1: Ваш первый агент в ADK Web

Откройте ADK Web, выполнив:

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

После выполнения команд вы должны увидеть в терминале вывод, указывающий на то, что веб-сервер ADK запущен, примерно такой:

+-----------------------------------------------------------------------------+
| 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)

👉 Далее, чтобы получить доступ к интерфейсу разработчика ADK из браузера:

На значке веб-предпросмотра (часто он выглядит как глаз или квадрат со стрелкой) на панели инструментов Cloud Shell (обычно справа вверху) выберите «Изменить порт». Во всплывающем окне установите порт 8000 и нажмите « Изменить и просмотреть ». После этого Cloud Shell откроет новую вкладку или окно браузера с интерфейсом ADK Dev.

веб-превью

👉 Ваш ритуал призыва завершён, и агент запущен. Интерфейс ADK Dev в вашем браузере — это ваша прямая связь с Фамильяром.

выберите агента параллельного рабочего процесса. В раскрывающемся меню в верхней части пользовательского интерфейса выберите parallel_agent .

Выбрать single_agent можно здесь: отслеживание изображений отдельных агентов

Трассировку можно увидеть здесь: отслеживание изображения одного агента

👉 Тестовая подсказка:

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

4. Сессия 2: Агент рабочего процесса: последовательный агент, параллельный агент, циклический агент

Параллельный агент

выберите агента параллельного рабочего процесса. В раскрывающемся меню в верхней части пользовательского интерфейса выберите parallel_agent .

👉 Тестовая подсказка:

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

Выбрать parallel_agent можно здесь: отслеживание изображения параллельных агентов

Трассировку можно увидеть здесь: отслеживание изображения параллельных агентов

Последовательный агент

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

👉 Тестовая подсказка:

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

Выбрать sequential_agent можно здесь: трассировочная картина последовательных агентов

Трассировку можно увидеть здесь: трассировочное изображение sequence_agent

Loop Agent

выберите агент рабочего процесса цикла. В раскрывающемся меню в верхней части пользовательского интерфейса выберите loop_agent .

👉 Тестовая подсказка:

Plan a trip from Sunnyvale to San Francisco today.

Выбрать loop_agent можно здесь: отслеживание изображения агентов петли

Трассировку можно увидеть здесь: отслеживание изображения агентов петли

5. Сессия 3: Пользовательский агент

После открытия веб-интерфейса ADK вы можете выбрать агент Custom_Agent .

👉 Тестовая подсказка:

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

Выбрать Custom_Agent можно здесь: калька изображения Custom_Agent

Трассировку можно увидеть здесь: калька изображения Custom_Agent

6. Сессия 4: Шаблон Orchestrator – Агент маршрутизации

После открытия веб-интерфейса ADK вы можете выбрать routing_agent .

👉 Тестовая подсказка:

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

Выбрать routing_agent можно здесь: отслеживание изображения агентов маршрутизации

Трассировку можно увидеть здесь: отслеживание изображения агентов маршрутизации

7. Сессия 5: Агент как инструмент

После открытия веб-интерфейса ADK вы можете выбрать агент Agent_as_tool .

👉 Тестовая подсказка:

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

Вы можете выбрать agent_as_tool здесь: отслеживание изображения агента как инструмента

Трассировку можно увидеть здесь: отслеживание изображения агентов маршрутизации

8. Сессия 6: Агент с долговременной памятью

👉💻 Проверьте свою долговременную память, перейдя в папку и используя бегунок, чтобы активировать агента:

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

👉 Тестовая подсказка:

I like Art and Italian food.

Затем завершите сеанс, нажав «crtl+C». Перезапустите сеанс:

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

👉 Тестовая подсказка:

Plan a trip to San Francisco based on my preference.

9. Сессия 7: Расширьте возможности своего агента с помощью MCP

Шаг 1: Подготовка локальной базы данных

👉💻 выполните следующую команду в терминале

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

Шаг 2: Установка и запуск сервера MCP Toolbox

👉💻 выполните следующую команду в терминале

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

после завершения загрузки, а затем запустите

chmod +x toolbox

Шаг 3

В одном терминале выполните следующую команду

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

В другом терминале выполните следующую команду

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