الگوی عامل ADK با حافظه & MCP

۱. آنچه یاد خواهید گرفت

به کلاس کارشناسی ارشد ADK خوش آمدید - سفری به درون سیستم‌های چندعاملی

You're about to step into the exciting world of AI agents. Forget simple chatbots that just answer questions. We're diving deep into the Agent Development Kit (ADK) to build sophisticated, autonomous systems that can reason, plan, and use tools to accomplish complex tasks.

پوشش

در پایان این آموزش، شما قادر خواهید بود:

  • اولین عامل هوش مصنوعی خود را بسازید : از صفر به یک عامل کاملاً کاربردی تبدیل شوید که می‌تواند نیازهای کاربر را درک کند، از ابزارهایی مانند جستجوی گوگل استفاده کند و پاسخ‌های دقیق و مفیدی تولید کند.
  • Construct Multi-Agent Systems : Learn the "Agent-as-a-Tool" pattern, a revolutionary concept where agents delegate tasks to other specialized agents, creating a team of AI experts that work together.
  • Orchestrate Complex Workflows : Go beyond simple delegation and master advanced patterns like Routers , Sequential Chains , Loops , and Parallel Execution to build robust, efficient, and intelligent applications that can handle almost any requests.
  • Give Your Agents Memory : Understand the critical role of conversational memory, enabling your agents to handle follow-up questions, learn from feedback, and manage multi-step tasks seamlessly.
  • اتصال با MCP : با جعبه ابزار MCP متصل شوید.

بیایید شروع کنیم! 🚀

۲. تنظیمات: دریافت کلید API

تنظیم کلید API گوگل AI Studio

آنچه نیاز دارید:

  • پایتون ۳.۹ یا بالاتر ( python3 --version برای بررسی)
  • یک حساب گوگل (برای ایجاد کلید AI Studio)
  • یک ترمینال - دستگاه محلی شما یا Cloud Shell هر دو کار می‌کنند
  • حدود ۱۰ دقیقه

برای فعال کردن عامل‌های هوش مصنوعی خود، به یک کلید API Gemini از Google AI Studio نیاز داریم. این سریع‌ترین راه برای شروع است.

مرحله ۱ - کلید API Gemini خود را از AI Studio دریافت کنید (۱ دقیقه)

  1. آدرس https://aistudio.google.com/app/apikey را در یک تب جدید مرورگر باز کنید.
  2. با حساب گوگل خود وارد شوید.
  3. روی «ایجاد کلید API» (بالا سمت راست) کلیک کنید.
  4. یک کادر محاوره‌ای با منوی کشویی پروژه باز می‌شود:
  • اگر قبلاً یک پروژه گوگل ایجاد کرده‌اید: آن را انتخاب کنید و روی «ایجاد کلید API در پروژه موجود» کلیک کنید.
  • اگر در لیست نبود: روی «ایجاد پروژه» کلیک کنید.

ایستودیو

  1. کلید API نمایش داده شده را کپی کنید . با AIza... شروع می‌شود و حدود ۴۰ کاراکتر دارد.

✏️ آن را در جایی امن پیست کنید - در مرحله ۴ زیر به آن نیاز خواهید داشت.

مرحله ۲ - کپی کردن مخزن (۱ دقیقه)

👉💻 ترمینال (یا Cloud Shell) خود را باز کنید و مخزن آموزشی را کپی کنید:

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

مرحله ۳ - ایجاد محیط مجازی و نصب متعلقات

👉💻 یک محیط مجازی با نام .adk_env ایجاد و فعال کنید، سپس وابستگی‌ها را نصب کنید:

python3 -m venv .adk_env
source .adk_env/bin/activate
pip install --upgrade pip
pip install -r requirements.txt

شما باید (.adk_env) را در ابتدای اعلان ترمینال خود ببینید.

مرحله ۴ - 🔥 مهم: کلید API خود را اضافه کنید

⚠️ Don't skip this step! Create a .env file in the root of the adk_tutorial folder. This one file powers every session in this codelab — the ADK Web sessions (1–5) and the command-line Memory and MCP sessions (6–7) all read it automatically.

👉💻 فایل .env را با کلید خود ایجاد کنید (به جای your_actual_api_key_here ، کلید مرحله ۱ را قرار دهید):

cat > .env <<'EOF'
GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=your_actual_api_key_here
EOF

~/adk_tutorial/.env شما اکنون باید شامل موارد زیر باشد:

GOOGLE_GENAI_USE_VERTEXAI=FALSE
GOOGLE_API_KEY=your_actual_api_key_here

🚨 نکته مهم : your_actual_api_key_here را با کلید API واقعی خود از مرحله ۱ جایگزین کنید (با AIza... شروع می‌شود).

✅ نقطه بررسی: شما یک فایل .env در ~/adk_tutorial/.env دارید که حاوی کلید AIza... شماست، و اعلان ترمینال شما (.adk_env) را نشان می‌دهد. شما آماده ساخت عامل‌ها هستید!

۳. جلسه ۱: اولین نماینده شما در 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)

👉 سپس، مرورگر خود را باز کنید و آدرس http://localhost:8000 را وارد کنید تا به رابط کاربری ADK Dev دسترسی پیدا کنید.

پیش‌نمایش وب

👉 مراسم احضار شما کامل شده است و اکنون عامل در حال اجرا است. رابط کاربری ADK Dev در مرورگر شما، ارتباط مستقیم شما با Familiar است.

اولین عامل خود را انتخاب کنید. در منوی کشویی بالای رابط کاربری، گزینه a_single_agent را انتخاب کنید.

شما می‌توانید a_single_agent اینجا انتخاب کنید: تصویر ردیابی از ماموران مجرد

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از یک مأمور واحد

👉 دستور آزمایش:

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

۴. جلسه ۲: عامل گردش کار: عامل ترتیبی، عامل موازی، عامل حلقه‌ای

عامل موازی

عامل موازی

عامل گردش کار موازی را انتخاب کنید. در منوی کشویی بالای رابط کاربری، b2_parallel_agent را انتخاب کنید.

👉 دستور آزمایش:

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

می‌توانید b2_parallel_agent اینجا انتخاب کنید: تصویر ردیابی از عوامل موازی

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از عوامل موازی

عامل ترتیبی

عامل ترتیبی

عامل گردش کار ترتیبی را انتخاب کنید. در منوی کشویی بالای رابط کاربری، b1_sequential_agent را انتخاب کنید.

👉 دستور آزمایش:

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

می‌توانید b1_sequential_agent اینجا انتخاب کنید: تصویر ردیابی عامل‌های ترتیبی

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از sequence_agent

عامل حلقه

عامل حلقه

عامل گردش کار حلقه را انتخاب کنید. در منوی کشویی بالای رابط کاربری، b3_loop_agent را انتخاب کنید.

👉 دستور آزمایش:

Plan a trip from Sunnyvale to San Francisco today.

می‌توانید b3_loop_agent اینجا انتخاب کنید: تصویر ردیابی از عامل‌های حلقه

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از عامل‌های حلقه

۵. جلسه ۳: عامل سفارشی

پس از باز شدن رابط کاربری وب ADK، از منوی کشویی c_custom_agent را انتخاب کنید.

👉 دستور آزمایش:

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

می‌توانید c_custom_agent اینجا انتخاب کنید: تصویر ردیابی از Custom_Agent

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از Custom_Agent

۶. جلسه ۴: الگوی هماهنگ‌کننده - عامل مسیریابی

عامل روتر

پس از باز شدن رابط کاربری وب ADK، از منوی کشویی d_routing_agent را انتخاب کنید.

👉 دستور آزمایش:

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

می‌توانید d_routing_agent اینجا انتخاب کنید: تصویر ردیابی از عوامل مسیریابی

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از عوامل مسیریابی

۷. جلسه ۵: عامل به عنوان ابزار

پس از باز شدن رابط کاربری وب ADK، از منوی کشویی، e_agent_as_tool را انتخاب کنید.

👉 دستور آزمایش:

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

شما می‌توانید e_agent_as_tool اینجا انتخاب کنید: تصویر ردیابی عامل به عنوان ابزار

می‌توانید ردیابی را اینجا ببینید: تصویر ردیابی از عوامل مسیریابی

۸. جلسه ۶: عامل با حافظه بلندمدت

👉💻 با رفتن به پوشه و استفاده از runner برای روشن کردن عامل، حافظه بلند مدت خود را آزمایش کنید:

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

👉 دستور آزمایش:

I like Art and Italian food.

سپس با فشردن کلیدهای Ctrl+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.

۹. جلسه ۷: با MCP به نماینده خود قدرت دهید

مرحله ۱: آماده‌سازی پایگاه داده محلی

👉💻 از ریشه مخزن، پایگاه داده نمونه را ایجاد کنید:

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

این destinations.db را در ~/adk_tutorial/ ایجاد می‌کند.

مرحله 2: نصب و اجرای سرور جعبه ابزار MCP

👉💻 فایل باینری MCP Toolbox را برای سیستم عامل خود دانلود کنید:

cd ~/adk_tutorial/mcp_tool_box
export VERSION=0.16.0

# Choose the line that matches your machine:
export OS=linux/amd64      # Cloud Shell or Linux (x86_64)
# export OS=darwin/arm64   # macOS Apple Silicon (M1/M2/M3)
# export OS=darwin/amd64   # macOS Intel

curl -O https://storage.googleapis.com/genai-toolbox/v$VERSION/$OS/toolbox

پس از اتمام دانلود، و سپس اجرا کنید

chmod +x toolbox

مرحله ۳

در یک ترمینال، دستور زیر را اجرا کنید (دستور را در حال اجرا بگذارید - عامل از طریق http://127.0.0.1:7001 به آن متصل می‌شود):

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

👉 دستورالعمل‌های آزمایشی (از شهرهای موجود در پایگاه داده نمونه استفاده کنید - پاریس، رم، نیویورک یا توکیو):

What are the top-rated things to do in Tokyo?
Show me the museums in Rome.
What can I do in New York for under 25 dollars?