إحصاءات باستخدام "حزمة وكيل البيانات" وAntigravity IDE

1. مقدمة

صباح الاثنين، تلقّيت إشعارًا من المدير المالي. انخفض متوسط قيمة طلب الشراء بنسبة% 7 هذا الشهر، ولكن إجمالي الإيرادات ظلّ ثابتًا. هناك مشكلة، ويريد مجلس الإدارة الحصول على إجابات بحلول يوم الجمعة.

شركتك، Cymbal Pets، هي إحدى أكبر شركات بيع مستلزمات الحيوانات الأليفة بالتجزئة على الإنترنت في الولايات المتحدة. تتوزّع البيانات التي تحتاج إليها على ثلاث خدمات من Google Cloud: سجلّ المبيعات والطلبات في BigQuery، وسجلّات العملاء والمنتجات في Cloud SQL، وملفات التسويق في Cloud Storage. عادةً، يعني تجميع تحقيق شامل في عدة خدمات مثل هذا التبديل بين وحدات التحكّم وكتابة رمز معيّن للاتصال وربط النتائج ببعضها يدويًا.

في هذا الدرس التطبيقي حول الترميز، ستستخدم حزمة أدوات وكيل البيانات (DAK) من Google Cloud في بيئة التطوير المتكاملة Antigravity للتحقيق في القيمة الشاذة باستخدام اللغة الطبيعية. ما عليك سوى وصف ما تبحث عنه، وسيتولّى وكيل الذكاء الاصطناعي عمليات الربط ولغة الاستعلامات البنيوية (SQL) وعمليات الربط بين الخدمات المختلفة في BigQuery وCloud SQL وCloud Storage. بعد حلّ القضية، ستطلب من الوكيل إنشاء مسار dbt لتنفيذ النتائج، وتصحيح خطأ حقيقي في تصميم البيانات، وتقديم اقتراح يستند إلى التوقعات إلى المدير المالي.

الإجراءات التي ستنفذّها

  • استكشاف أصول البيانات في BigQuery وCloud SQL وCloud Storage باستخدام Knowledge Catalog
  • التحقيق في شذوذ من خلال طلب البحث في خدمات متعددة في محادثة واحدة باستخدام أدوات MCP
  • إنشاء مسار dbt لتنظيم البيانات ودمجها من خدمات مختلفة باستخدام نماذج تنظيم واختبارات مبرمَجة
  • تصحيح خطأ في نمذجة البيانات أثناء تشخيص الوكيل الذاتي وإعادة هيكلة خطأ في عملية التوزيع الموسَّع
  • توقّع المؤشرات المستقبلية وتقديم اقتراح مستند إلى البيانات باستخدام AI.FORECAST في BigQuery

المتطلبات

  • متصفّح ويب، مثل Chrome
  • Antigravity IDE
  • مشروع على Google Cloud تم تفعيل الفوترة فيه وإمكانية الوصول إلى Google Cloud Console (ننصح باستخدام مشروع جديد مخصّص للدروس التطبيقية)
  • معرفة أساسية بلغة SQL وGoogle Cloud Console

هذا الدرس التطبيقي حول الترميز مخصّص للمتخصصين في البيانات ذوي الخبرة المتوسطة (مهندسو التحليلات ومحللو البيانات وعلماء البيانات).

يجب أن تكون تكلفة الموارد التي تم إنشاؤها في هذا الدرس التطبيقي حول الترميز أقل من 5 دولارات أمريكية. احرص على اتّباع تعليمات التنظيف في نهاية الدرس العملي لحذف الموارد التي تم توفيرها.

2. قبل البدء

في هذا القسم، ستنفّذ نص التهيئة البرمجي الذي يوفّر بيئة المختبر بأكملها: مجموعة بيانات BigQuery تتضمّن بيانات الطلبات، ومثيل Cloud SQL Postgres يتضمّن بيانات العملاء وبيانات المنتج، وحزمة Cloud Storage تتضمّن سجلّات الحملات الترويجية. يستغرق تنفيذ البرنامج النصي من 8 إلى 10 دقائق تقريبًا، وتُعدّ عملية توفير Cloud SQL هي نقطة الاختناق.

اختيار مشروع أو إنشاؤه

اختَر مشروعًا حاليًا أو أنشِئ مشروعًا جديدًا في Google Cloud Console.

تأكيد الفوترة

تأكَّد من تفعيل الفوترة لمشروعك على Google Cloud. يمكنك الاطّلاع على مزيد من المعلومات حول كيفية تنفيذ هذا الإجراء من خلال اتّباع هذا الدليل.

بدء Cloud Shell

ستستخدم Google Cloud Shell لتشغيل نص التهيئة البرمجي.

  1. افتح Google Cloud Console وانقر على تفعيل Cloud Shell في أعلى النافذة.

فتح Cloud Shell

  1. بعد الاتصال، اضبط رقم تعريف مشروعك وأكِّد بيئتك:
gcloud config set project <<YOUR_PROJECT_ID>>
export PROJECT_ID=$(gcloud config get-value project)

من المفترض أن تظهر لك رسالة مشابهة لما يلي:

Your active configuration is: [cloudshell-####]
Updated property [core/project]

إنشاء نسخة طبق الأصل من المستودع

استنسِخ مستودع الدرس التطبيقي حول الترميز إلى بيئة Cloud Shell:

cd ~/
git clone --filter=blob:none --no-checkout https://github.com/GoogleCloudPlatform/devrel-demos.git
cd ~/devrel-demos
git sparse-checkout init --cone
git sparse-checkout set codelabs/agentic-data-labs
git checkout main
cd codelabs/agentic-data-labs/

تشغيل نص التهيئة البرمجي

يُعدّ نص التهيئة البرمجي بيئة المختبر بأكملها تلقائيًا حتى تتمكّن من الانتقال مباشرةً إلى التحقيق:

cd ~/devrel-demos/codelabs/agentic-data-labs/scripts
chmod +x setup.sh setup_sql.sh
./setup.sh

عند الانتهاء، سيظهر لك ملخّص لبيئة المقدّمة:

╔══════════════════════════════════════════════════════╗
║   Base Setup complete!                               ║
╚══════════════════════════════════════════════════════╝

Your core BigQuery and GCS assets are ready.
Cloud SQL is currently provisioning in the background and will be fully ready by Step 4.

  BigQuery:   YOUR_PROJECT_ID.cymbal_pets
              ├── orders
              └── order_items

  GCS:        gs://YOUR_PROJECT_ID-cymbal-pets-raw
              └── promo_events.json

أثناء مواصلة الخطوات التالية في المختبر، يتم توفير قاعدة البيانات وتعبئتها في الخلفية. يمكنك متابعة مستوى التقدّم في المَهمّة في أي وقت في لوحة طرفية منفصلة باستخدام:

tail -f /tmp/cloudsql_setup.log

لاحظ بنية البيانات: يتم تخزين سجلّات المبيعات السابقة (الطلبات وبنود الطلبات) في BigQuery، بينما يتم تخزين بيانات التطبيقات التشغيلية (العملاء وملفات الحيوانات الأليفة والمنتجات) في Cloud SQL. يعكس هذا التقسيم المؤسسات الواقعية التي تحتفظ فيها مستودعات البيانات التحليلية وقواعد البيانات التشغيلية بأجزاء مختلفة من اللغز.

ملخّص القسم: شغّلت نص التهيئة البرمجي لتهيئة بيئة المختبر وبدأت في توفير قاعدة البيانات في الخلفية.

3- إعداد بيئة التطوير المتكاملة و"حزمة أدوات وكيل البيانات"

فتح Antigravity IDE

لست بحاجة إلى انتظار انتهاء عملية Cloud SQL. يمكنك الآن فتح بيئة التطوير المتكاملة Antigravity وربطها بمشروعك على Google Cloud.

  1. إذا لم يسبق لك إجراء ذلك، نزِّل Antigravity IDE وثبِّته من صفحة تنزيل Google Antigravity.
  2. شغِّل تطبيق Antigravity IDE على الكمبيوتر.
  3. أنشئ مجلدًا جديدًا فارغًا على جهازك المحلي (مثل agentic-data-labs)، وافتحه في بيئة التطوير المتكاملة (IDE) من خلال اختيار فتح مجلد. سيكون هذا بمثابة مساحة عملك المحلية في هذا الدرس التطبيقي حول الترميز.

ضبط مجلد مشروع Antigravity IDE

تثبيت إضافة "حزمة وكيل البيانات"

تضيف إضافة Google Cloud Data Agent Kit متصفّحًا لفهرس البيانات ومهارات الوكيل وخوادم MCP لخدمات BigQuery وCloud SQL وCloud Storage، ما يتيح لك الاستعلام عن هذه الخدمات وفحصها من المحرّر.

  1. في بيئة التطوير المتكاملة Antigravity، انقر على رمز الإضافات في "شريط الأنشطة" في أقصى يمين الشاشة (يبدو الرمز على شكل أربعة مربعات).
  2. في شريط البحث أعلى لوحة "الإضافات"، اكتب Google Cloud Data Agent Kit.
  3. ابحث عن النتيجة الأولى باسم Google Cloud Data Agent Kit (منشور بواسطة googlecloudtools).
  4. انقر على الزر تثبيت.
  5. قد تظهر رسالة تسألك: "هل تثق في الناشر googlecloudtools وإضافاته؟" انقر على الوثوق بالناشرين والتثبيت للمتابعة.

تثبيت إضافة &quot;حزمة أدوات وكيل البيانات&quot;

بعد التثبيت، سيظهر رمز جديد Google Cloud Data Agent Kit في شريط الأنشطة في أقصى يمين بيئة التطوير المتكاملة Antigravity.

المصادقة على الإضافة وضبطها

بعد التثبيت، اربط الإضافة بمشروعك على Google Cloud.

  1. من المفترض أن تفتح تلقائيًا صفحة إعداد بعنوان "مرحبًا بك في Google Cloud Data Agent Kit". إذا لم تكن مسجِّلاً الدخول إلى حسابك على Cloud، اتّبِع أي طلبات للسماح بالوصول.
  2. في قسم ملخّص الإعداد، ابحث عن حقل المشروع. انقر على القائمة المنسدلة واختَر مشروعك على Google Cloud. اضبط منطقتك على us-central1. بعد ذلك، انقر على ضبط خوادم MCP.

الإعداد الأوّلي لإضافة Data Agent Kit

  1. ضمن لوحة إعدادات MCP، انقر لتفعيل BigQuery وCloud SQL. بعد ذلك، انقر على البدء.

إعداد خوادم MCP

استكشاف خيارات الإعداد

بعد اكتمال عملية الإعداد، ستنتقل إلى صفحة "البدء باستخدام Google Cloud Data Agent Kit".

  1. ضِمن "الإعداد والتكوين"، انقر على البدء.
  2. سيؤدي ذلك إلى فتح لوحة إعدادات حزمة Data Agent. استكشاف علامات التبويب:
    • المشروع والمنطقة: تحقَّق من رقم تعريف المشروع الذي اخترته وتأكَّد من تفعيل واجهات برمجة التطبيقات المطلوبة (Cloud Storage API وBigQuery API وCatalog API وCloud SQL Admin API).
    • ‫BigQuery: اضبط الموقع الجغرافي التلقائي لطلبات البحث في BigQuery. استخدِم المنطقة us-central1.
    • ضبط خوادم MCP: يمكنك الاطّلاع على خوادم MCP المفعّلة (مثل BigQuery وNotebooks وCloud SQL وما إلى ذلك) التي تتيح لوكلاء الذكاء الاصطناعي التفاعل بأمان مع بياناتك.
    • المهارات: استكشِف المهارات المُعدّة مسبقًا التي تزوّد الوكلاء بقدرات متخصّصة لإنجاز مهام البيانات المعقّدة.

لوحة إعدادات &quot;حزمة أدوات وكيل البيانات&quot;

ملخّص القسم: فتحت بيئة التطوير المتكاملة Antigravity وربطتها بمشروعك على Google Cloud، ثم أعددت خوادم MCP البعيدة في Data Agent Kit.

4. التعرّف على بياناتك

حان الوقت لضبط المشهد. إليك الوضع: يقول المدير المالي إنّ متوسّط قيمة طلب الشراء انخفض بنسبة% 7 في الشهر الماضي، ولكن إجمالي الإيرادات ظلّ ثابتًا. قبل أن تطلب من الوكيل التحقيق، عليك أولاً فهم البيانات التي تعمل عليها.

في هذا القسم، ستستكشف يدويًا لوحة "حزمة أدوات وكيل البيانات" للتعرّف على محتواها. يُعدّ فهم بياناتك قبل البدء في الاستعلام عنها خطوة أولى مهمة في أي تحقيق.

استكشاف جداول BigQuery

  1. في لوحة "مجموعة أدوات وكيل البيانات"، ضِمن الكتالوج، وسِّع مشروعكBigQuerycymbal_pets.
  2. انقر على الجدول orders. سيتم فتح علامة تبويب جديدة تعرض تفاصيل الجدول.
  3. استكشِف علامات التبويب على الجانب الأيمن من عارض الجدول:
    • البيانات: لمعاينة الصفوف الفعلية تصفَّح مجموعة البيانات وافحص الأعمدة.
    • المخطّط: راجِع أسماء الأعمدة وأنواعها. لاحظ الحقول مثل order_type وpromo_code التي ستصبح مهمة لاحقًا.
    • علامات التبويب الأخرى (التفاصيل والإحصاءات وملف البيانات وغير ذلك): يمكنك الوصول إلى البيانات الوصفية وسجلّ البيانات وتفاصيل الجودة التي تجدها عادةً في "وحدة تحكّم Google Cloud"، وكل ذلك بدون مغادرة المحرّر.

جدول الطلبات في BigQuery

  1. انقر الآن على الجدول order_items وراجِع مخططه. لاحِظ الحقلَين quantity وprice.

استكشاف جداول Cloud SQL

وضع نص التهيئة البرمجي أيضًا بيانات العملاء والحيوانات الأليفة والمنتجات في قاعدة بيانات PostgreSQL في Cloud SQL.

  1. في لوحة "مجموعة أدوات وكيل البيانات"، انقر على البحث الشامل ضمن قسم الفهرس.
  2. في مربّع البحث، اكتب pet_profiles واضغط على Enter.
  3. في نتائج البحث، انقر على نتيجة "جدول PostgreSQL" الخاصة بـ pet_profiles (ضمن مثيل Cloud SQL الخاص بمشروعك). لاحظ أنّ قائمة الأكورديون في الشريط الجانبي تتوسّع تلقائيًا، ما يوضّح لك مكان الجدول في شجرة قاعدة البيانات. انقر الآن على جدول customers الذي يقع فوقه مباشرةً في الشجرة لفتح تفاصيله، واستكشِف علامتَي التبويب المخطط والتفاصيل.

مخطط Cloud SQL

استكشاف ملفات Cloud Storage

أخيرًا، يتم تخزين سجلّات الحملات التسويقية والترويجية كملفات JSON أولية في Cloud Storage.

  1. في لوحة "مجموعة أدوات وكيل البيانات" على يمين الصفحة، وسِّع القسم التخزين السحابي. ابحث عن حزمة البيانات الأولية الخاصة بمشروعك (YOUR_PROJECT_ID-cymbal-pets-raw).
  2. انقر على ملف promo_events.json داخل الحزمة. يتم فتح علامة تبويب جديدة للمحرّر، ما يتيح لك عرض محتوى JSON الأولي للحملات التسويقية مباشرةً داخل بيئة التطوير المتكاملة.

معاينة ملف promo_events.json في Cloud Storage

تقييم الوضع

في ما يلي المعلومات التي تعرفها الآن عن البيانات:

الخدمة

الجداول

ماذا يوجد هناك؟

BigQuery

orders، order_items

‫1.9 مليون طلب و4.3 مليون بند إعلاني، النطاق الزمني من 2023 إلى 2025

Cloud SQL

customers، pet_profiles، products

‫92 ألف عميل و7,600 ملف شخصي للحيوانات الأليفة و206 منتجات

Cloud Storage

promo_events.json

سجلّات الحملات الترويجية

يتم توزيع البيانات على ثلاث خدمات. في سير العمل التقليدي، عليك إعداد عمليات الربط وكتابة رمز التكامل ودمج النتائج يدويًا. في الخطوة التالية، ستسمح لوكيل الذكاء الاصطناعي بمعالجة كل ذلك من خلال محادثة واحدة.

ملخّص القسم: استخدمت لوحة "مجموعة أدوات وكيل البيانات" لاستكشاف بنية البيانات يدويًا في BigQuery وCloud SQL وCloud Storage. أنت تعرف الآن مكان تخزين البيانات والحقول المتاحة، لذا أنت مستعد لبدء التحقيق.

5- اتّبِع الأرقام

يبدأ التحقيق الآن. ستستخدِم لوحة "المحادثة" لطلب استخراج بيانات "متوسّط قيمة طلب الشراء" (AOV) من BigQuery من وكيل الذكاء الاصطناعي. متوسط قيمة طلب الشراء هو مقياس تجاري يمثّل متوسط المبلغ بالدولار الأمريكي الذي يتم إنفاقه لكل طلب. سيُجري الوكيل طلب بحث نيابةً عنك باستخدام "أدوات MCP"، وستتمكّن من الاطّلاع على كل طلب بحث SQL يُجريه.

استخراج مؤشر متوسّط قيمة طلب الشراء

  1. في لوحة Chat على يسار IDE، اكتب الطلب التالي واضغط على Enter:
    Calculate our monthly average order value from August 2024 through January 2025
    using the orders and order_items tables in BigQuery.
    
  2. الموافقة على أذونات الوصول إلى البيانات من المفيد توخّي الحذر بشأن وكلاء الذكاء الاصطناعي الذين ينفّذون طلبات بحث في قواعد البيانات. يمنحك "حزمة أدوات وكيل البيانات" التحكّم الكامل في بياناتك من خلال التوقّف مؤقتًا لطلب إذن صريح قبل الوصول إلى البيانات. عندما يُطلب منك ذلك، يمكنك اختيار:
    • السماح بالاستخدام هذه المرة: يوافق على استخدام واحد (مثالي لتدقيق طلبات البحث العالية الخطورة).
    • السماح دائمًا: يوافق على الاستخدام المستمر لهذه الأداة المحدّدة للجلسة.
    • لا: يؤدي ذلك إلى حظر الإجراء تمامًا.

للحصول على أفضل تجربة في المختبر، اختَر نعم، والسماح دائمًا. ملاحظة: يتم منح الأذونات لكل أداة على حدة. من المحتمل أن تظهر لك بعض الطلبات الإضافية قريبًا عندما يستخدم الوكيل أدوات جديدة (مثل list_table_ids أو execute_sql_readonly). يمكنك أيضًا النقر على "السماح دائمًا" لهذه الطلبات.

طلب منح إذن استخدام أداة MCP

  1. مشاهدة الوكيل وهو يعمل يعمل جزء "المحادثة" كسجلّ شفافية لكل ما يفعله الوكيل. بدلاً من المربع الأسود، يعرض لك الوكيل أسباب اتخاذ القرارات والإجراءات في الوقت الفعلي.
  2. بعد انتهاء الوكيل من عمله، انقر على القائمة المنسدلة المدة التي استغرقها الوكيل في العمل: X دقيقة أسفل طلبك لتوسيع سجلّ العمل الكامل. يمكنك هنا الاطّلاع على الطريقة التي حصلت بها على إجابتك:
    • تم استكشافه: وسِّع هذه العناصر للاطّلاع على الملفات التي يقرأها الوكيل أو المجلدات التي يتصفّحها أو أدوات MCP التي يستدعيها (مثل datacloud_bigquery_remote / list_table_ids وexecute_sql_readonly). يمكنك الاطّلاع على وسيطات JSON الدقيقة التي تم تمريرها إلى الأدوات وعبارات SQL التي تم تنفيذها.
    • تم التنفيذ: وسِّع هذه العناصر للاطّلاع على أي أوامر في الوحدة الطرفية نفّذها الوكيل، مثل gcloud config list.

سجلّ شفافية الوكيل الذي يعرض طلبات أداة بروتوكول سياق النموذج

  1. راجِع النتائج. يجب أن يعرض الموظف جدولاً بقيم متوسط قيمة الطلب شهريًا. يمكنك الاطّلاع على الأرقام بنفسك: يبلغ متوسط الإنفاق في الأشهر السابقة حوالي 110 دولار أمريكي، ثم ينخفض في شهر يناير إلى حوالي 103 دولار أمريكي. هذه هي الحالة الشاذة التي أشار إليها المدير المالي.

التوغّل حسب القناة

انخفض متوسط قيمة الطلب الإجمالية، ولكن ما هو مصدر هذا الانخفاض؟ هيا نطّلع على الإجابة.

  1. في لوحة Chat، اكتب ما يلي:
    January looks lower than the prior months. 
    Break down January's AOV by order_type to see what's going on?
    
  2. ينفّذ الوكيل طلب بحث آخر في BigQuery، ويتم هذه المرة التجميع حسب order_type. راجِع النتائج بعناية. ستلاحظ أمرًا لافتًا: يظلّ متوسط قيمة الطلب على الإنترنت وبلا إنترنت ثابتًا عند 110 دولار أمريكي تقريبًا. ولكن هناك قناة جديدة، B2B-Wholesale، بمتوسط قيمة طلب أقل بكثير (حوالي 75 دولارًا أمريكيًا). تؤدي هذه القناة الجديدة إلى خفض المتوسط المدمج.
  3. قد يقترح الوكيل بشكل استباقي التحقيق في العملاء من الشركات. إذا لم يكن كذلك، فلا بأس. يمكنك إجراء ذلك في الخطوة التالية.

ملخّص القسم: لاحظت بنفسك الانخفاض في متوسط قيمة الطلب في كانون الثاني (يناير) من خلال استخراج بيانات محايدة، ثمّ تعمّقت في البيانات حسب order_type لتحديد B2B-Wholesale كقناة جديدة تؤدي إلى انخفاض المتوسط المدمج. عليك الآن معرفة هوية عملاء B2B هؤلاء.

6. تجاوز حدود الخدمة

لقد حدّدت B2B-Wholesale كقناة غير طبيعية في BigQuery، ولكن بيانات العملاء محفوظة في Cloud SQL. باستخدام "حزمة أدوات وكيل البيانات"، يمكنك مواصلة المحادثة نفسها، كما أنّها تتعامل مع حدود الخدمة.

التحقيق في العملاء من الشركات

  1. في لوحة المحادثة، اكتب:
    Who are these B2B customers? Their profiles should be in our Cloud SQL database. 
    Check for:
    - Who they are
    - When they signed up
    - Whether they're new or existing customers
    
  2. راقِب لوحة Chat بعناية. من المفترض أن تظهر أداة MCP مختلفة هذه المرة. يبحث الوكيل الآن في Cloud SQL بدلاً من BigQuery. يتصل الوكيل بمثيل cymbal-pets-ops Cloud SQL Postgres وينفّذ طلب بحث على جدول customers. انقر على عرض التفاصيل للاطّلاع على SQL.
  3. راجِع النتائج. يجب أن يعرض الوكيل عدة نتائج رئيسية:
    • يستفيد جميع عملاء العلاقات التجارية بين نشاط تجاري وآخر من customer_type = 'Business'
    • وقد اشتركوا جميعًا خلال آخر 30 يومًا (يناير 2025)
    • تتضمّن last_name قيمًا مثل "شركة لوازم الحيوانات الأليفة" و"شركة رعاية الحيوانات ذات المسؤولية المحدودة" و "شركة هابي باوز"
    • يبلغ عددها حوالي 100، وهي مجموعة لم تكن موجودة قبل هذا الشهر

ربط الرمز الترويجي

  1. قد يلاحظ العميل تلقائيًا أنّ العديد من طلبات B2B في BigQuery تحمل القيمة promo_code من BIGORDER25. إذا قدّمت هذه الملاحظة من تلقاء نفسها، فهذا أمر رائع. تتواصل التحقيقات بشكل طبيعي.إذا لم يذكر الموظف الرمز الترويجي، يمكنك تذكيره به:
    I noticed a promo_code field on the orders table in BigQuery. 
    Check what promo codes appear on the B2B-Wholesale orders?
    
  2. يعيد الوكيل طلب البحث من BigQuery ويجد أنّ% 92 تقريبًا من طلبات B2B-Wholesale تتضمّن promo_code = 'BIGORDER25'. يرتبط كل نشاط B2B تقريبًا بحملة ترويجية واحدة.وقد يبحث الوكيل بعد ذلك عن بيانات ترويجية في مكان آخر في البيئة. (يمكنك العثور عليه في Cloud Storage).

ملخّص القسم: طلب الوكيل من Cloud SQL عرض أنّ عملاء B2B هم جميع الأنشطة التجارية الجديدة التي اشتركت في يناير 2025. بالإضافة إلى نتيجة BigQuery التي تشير إلى أنّ% 92 تقريبًا من طلباتهم تتضمّن promo_code = 'BIGORDER25'، يشير المسار الآن إلى حملة ترويجية. حان وقت العثور على المصدر.

7. العثور على الجزء المفقود

تم حلّ مشكلتَين، وبقيت مشكلة واحدة. أنت تعرف ما حدث (طلبات B2B تخفّض متوسط قيمة الطلب) ومَن قام بذلك (عملاء جدد من المؤسسات خلال آخر 30 يومًا). عليك الآن معرفة السبب، والإجابة موجودة في Cloud Storage.

التحقّق من حزمة GCS

  1. في لوحة المحادثة، اكتب:
    Good catch on the promo code. 
    We might have promotional campaign data in our GCS bucket. 
    Can you check what's there?
    
  2. لا يتضمّن الوكيل أداة MCP تم إعدادها مسبقًا لخدمة Cloud Storage، لذا ينتقل تلقائيًا إلى استخدام أداة الوحدة الطرفية لتنفيذ أوامر gcloud storage. سيطلب منك الإذن بتنفيذ أوامر مثل gcloud storage ls. اسمح بهذه الأوامر، ثم وسِّع سجلّ تم التنفيذ في لوحة "المحادثة" للاطّلاع على أوامر واجهة سطر الأوامر التي استخدمها لقراءة ملف promo_events.json وتحليله.
  3. يجب أن يحدّد الوكيل ثلاث حملات ترويجية في الملف:

    الحملة

    رمز ترويجي

    خصم

    الهدف

    التواريخ

    تخفيضات على مستلزمات العناية بالحيوانات الأليفة في الصيف

    PETSUMMER15

    خصم 15%

    الكل

    حزيران (يونيو) 2024

    B2B Wholesale Push

    BIGORDER25

    خصم% 25

    B2B

    يناير 2025

    مكافأة الاحتفال بالعطلات لأعضاء برنامج الولاء

    LOYAL10

    خصم بنسبة% 10

    أعضاء برنامج الولاء

    ديسمبر 2024

    هذا هو السبب. يرتبط الرمز الترويجي BIGORDER25 بحملة تُعرف باسم B2B Wholesale Push: خصم بنسبة% 25 لعملاء B2B مع حدّ أدنى لكمية الطلب يبلغ 50 وحدة.

وضع كل العناصر معًا

  1. اطلب من الوكيل تلخيص كل ما عثر عليه:
    Put it all together. 
    What happened to our average order value?
    
  2. يقدّم الوكيل ملخّصًا واضحًا ومنظّمًا يربط بين مصادر البيانات الثلاثة. يجب أن يوضّح ما يلي:
    1. انخفاض متوسط قيمة الطلب حقيقي، لكنّه لا يشير إلى تراجع في النشاط التجاري الحالي. ظلّ متوسط قيمة الطلب على الإنترنت وخارجه ثابتًا عند 110 دولار أمريكي تقريبًا.
    2. ظهرت قناة جديدة لبيع الجملة بين الشركات (B2B) في يناير 2025، مع حوالي 25,000 طلب بمتوسط قيمة طلب أقل بكثير (من 75 إلى 100 دولار أمريكي).
    3. العملاء من المؤسسات هم 100 حساب نشاط تجاري جديد تم الاشتراك فيها جميعًا خلال آخر 30 يومًا (Cloud SQL).
    4. النشاط ناتج عن حملة ترويجية ("B2B Wholesale Push") تقدّم خصمًا بنسبة% 25 على الطلبات المجمّعة التي تتضمّن 50 وحدة كحدّ أدنى (Cloud Storage).
    5. الأرباح ثابتة لأنّ العدد الكبير من طلبات B2B يعوّض الأسعار المنخفضة. ومع ذلك، تنخفض هوامش الربح بشكل كبير (بنسبة %65 تقريبًا) في ظل الخصم بالجملة البالغ% 25، ما يهدّد الربحية الإجمالية بشكل كبير عند أخذ تكاليف الشحن والتكاليف التشغيلية العامة في الاعتبار.
    هذه هي اللحظة التي تتضح فيها الصورة. سؤال المدير المالي له إجابة واضحة: انخفض متوسط قيمة الطلب لأنّ برنامجًا بين الشركات (B2B) يستند إلى التسويق أغرق شهر يناير بطلبات كبيرة الحجم ومنخفضة السعر. أن يكون النشاط التجاري الحالي سليمًا.

ملخّص القسم: تمكّنت من تحديد السبب في "التخزين السحابي": حملة ترويجية بين الشركات تقدّم خصمًا بنسبة% 25 على الطلبات المجمّعة. وقد جمع الوكيل النتائج من جميع الخدمات الثلاث في سرد واضح. اكتملت مرحلة التحقيق. بعد ذلك، ستضع هذه النتائج موضع التنفيذ.

8. إنشاء مسار المعالجة

لقد حللت القضية. يريد المدير المالي الآن أن يتم تعديل هذا التحليل تلقائيًا. في هذا القسم، ستطلب من الوكيل إنشاء مشروع dbt يجهّز بيانات BigQuery وينتج جدول حقائق لإجراء تحليل مستمر لمتوسط قيمة الطلب.

هنا يتحوّل دور الوكيل من محقّق إلى مهندس. سيتم إنشاء مشروع dbt كامل وتشغيل خط الأنابيب الكامل، كل ذلك من خلال طلب واحد.

إنشاء بنية مشروع dbt

  1. في لوحة المحادثة، اكتب الطلب التالي. وهي موجّهة نحو الهدف بشكل متعمّد بدلاً من أن تكون خطوة بخطوة. أنت تخبر الوكيل بما تريد، وليس كيفية إنشائه:
    I want to productionize our AOV analysis so it updates automatically. Build a dbt project that:
    1. Creates staging models for the BigQuery tables (orders and order_items) and a mart called fct_order_analysis that calculates AOV by channel and month
    2. Add a uniqueness test on order_id and run dbt build
    
  2. مراقبة التصحيح الذاتي: إذا وسّعت سجلّ "تم تنفيذه بنجاح في Ns"، قد ترى أنّ الوكيل يبحث عن dbt، وعندما يجد أنّه غير متوفّر، ينفّذ تلقائيًا أوامر لإنشاء بيئة افتراضية في Python (.venv). ويتولّى الوكيل إعداد البيئة نيابةً عنك.

الوكيل يضبط البيئة الافتراضية

  1. مراجعة خطة التنفيذ: سينشئ الوكيل خطة تنفيذ رسمية. يمكنك مراجعة الملفات والبنية المقترَحة، وإضافة تعليقات إذا لزم الأمر، ثم النقر على متابعة للسماح للوكيل بتنفيذ الخطة.

خطة تنفيذ الوكيل

  1. شاهِد لوحة Chat أثناء تنفيذ الوكيل لخطته، وكتابة ملفات .sql وإعدادات YAML اللازمة. عندما تنتهي العملية ويتم تجميع المشروع بنجاح، سيتم عرض ملخّص للتغييرات. انقر على قبول الكل لإضافة هذه الملفات إلى مساحة عملك.

قبول تغييرات رمز الوكيل

  1. استكشِف مشروع dbt الذي تم إنشاؤه حديثًا في المستكشف على يمين الصفحة. من المفترض أن تظهر بنية مشابهة لما يلي:
    dbt/
    ├── models/
       ├── marts/
          └── fct_order_analysis.sql
       └── staging/
           ├── schema.yml
           ├── sources.yml
           ├── stg_order_items.sql
           └── stg_orders.sql
    ├── dbt_project.yml
    └── profiles.yml
    

بنية مشروع dbt في File Explorer

  1. انقر على ملفات نموذج .sql لمراجعة لغة SQL التي أنشأها الوكيل. يُرجى الانتباه إلى طريقة تعاملها مع ما يلي:
    • نماذج التجهيز: أعمدة نظيفة تمت إعادة تسميتها مع مراجع المصدر
    • نموذج المستودع: منطق الربط واحتساب متوسط قيمة الطلب حسب القناة
    • التعامل مع عمليات تسجيل الخروج للضيوف: قد تلاحظ COALESCE(customer_type, 'Guest') أو قيودًا فارغة مخفَّفة. يضع هذا النموذج تصوّرًا لعمليات الشراء التي يجريها الضيوف في متاجر البيع بالتجزئة بدون حساب، ويحتفظ بإيرادات الطلبات الصالحة بدلاً من حذف السجلات غير المكتملة.
  1. راجِع لوحة "المحادثة" (أو انقر على عنصر الجولة الإرشادية الذي تم إنشاؤه) للتأكّد من أنّ جميع النماذج قد تم إنشاؤها وأنّ جميع الاختبارات قد تم اجتيازها. يجب أن تؤكّد نتائج متوسط قيمة الطلب من المتجر ما عثرت عليه أثناء التحقيق:
    - Online: ~$110
    - Offline: ~$110
    - B2B-Wholesale: ~$75 to $77
    

ملخّص القسم: أنشأ الوكيل مشروع dbt من طلب واحد موجّه نحو هدف معيّن: نماذج مرحلية ونماذج مستودع بيانات منظَّمة، ونفّذ عملية dbt build ناجحة، وأكّد وجود خلل في متوسط قيمة الطلب. بعد ذلك، ستطرح سؤالاً صعبًا لمعرفة كيف يتعامل الوكيل مع التعقيد.

9. عندما تفشل الاختبارات، يقوم الوكيل بتصحيح الأخطاء

تعمل سلسلة الإجراءات، ولكنها تستخدم بيانات BigQuery فقط. يريد فريق المنتج إثراء التحليل ببيانات ملفات العملاء والحيوانات الأليفة من Cloud SQL حتى يتمكّن من اقتراح منتجات استنادًا إلى الاحتياجات الغذائية. وهذا يعني أنّ البرنامج يحتاج إلى تجاوز حدود Cloud SQL والتعامل مع خطأ بسيط في تصميم البيانات، وهو عملية ربط "توزيع موسَّع" نموذج الأبعاد الكلاسيكي.

استنادًا إلى النموذج الذي تستخدمه وإمكانات الاستدلال المتوفّرة فيه، سيتعامل الوكيل مع هذا الطلب بإحدى طريقتَين: تجنُّب الخلل بشكل استباقي (الخيار أ) أو الإصلاح الذاتي بعد تعذّر الاختبار (الخيار ب). لنطّلع على المسار الذي سيتّخذه الوكيل.

بدء الطلب

  1. في لوحة المحادثة، اكتب:
    Enrich fct_order_analysis with customer data and pet profile data from our Cloud SQL database. 
    Include customer type and each customer's pets and dietary needs so we can recommend products. 
    Keep the uniqueness test on order_id and run dbt build.
    
  2. مشاهدة الوكيل وهو يعمل سيكتشف جداول Cloud SQL، ويحدد كيفية نقل البيانات إلى BigQuery (من خلال طلب بحث موحّد أو نسخة مادية)، وينشئ نماذج مرحلية جديدة، ويعدّل fct_order_analysis.sql.

الخيار (أ): الوكيل الاستباقي (تجنُّب الأخطاء)

إذا كنت تستخدم نموذج استدلال متقدّمًا، قد يرصد الوكيل تغيير مستوى التفاصيل قبل كتابة أي رمز. بما أنّ العميل يمكنه امتلاك حيوانات أليفة متعدّدة، يؤدي الربط المباشر إلى تكرار الطلبات وعدم اجتياز اختبار التفرد الذي طلبته في order_id.

  1. مراقبة التجميع الاستباقي: في شرح لوحة المحادثة أو عنصر "الجولة التفصيلية"، قد يشير الوكيل إلى أنّه جمع بيانات الحيوانات الأليفة مسبقًا قبل ربطها لمنع حدوث "توزيع موسَّع كلاسيكي". ويتم ذلك عادةً من خلال دمج حيوانات أليفة متعددة لكل عميل باستخدام دالة تجميع (مثل ARRAY_AGG() أو STRING_AGG()).
  2. التحقّق من النتائج: يتم تشغيل dbt build واجتيازه بنجاح في المحاولة الأولى لأنّ الوكيل حافظ بشكل استباقي على مستوى التفصيل في جدول الحقائق. يمكنك التحقّق من ذلك من خلال مراجعة عنصر Walkthrough الذي تم إنشاؤه، والذي يعرض غالبًا نتائج الاختبار الناجح إلى جانب نتائج طلب البحث.

جولة إرشادية تعرض التجميع الاستباقي والاختبارات الناجحة

تجنّب الوكيل الخطأ. راجِعوا عبارة SQL التي تم إنشاؤها في fct_order_analysis.sql لمعرفة كيفية تنظيم التجميع، ثم انتقِلوا إلى القسم التالي عرض الإجابة.

الخيار (ب): أداة الإصلاح الذاتي (تصحيح الأخطاء والتشخيص)

إذا كتب النموذج عملية ربط خارجية بسيطة من اليسار أولاً، سيتم تنفيذ طلب بحث SQL بنجاح، ولكن مجموعة اختبارات dbt test الآلية سترصد تغيير مستوى التفاصيل.

  1. مراقبة تعذُّر الاختبار: سيظهر لك تعذُّر الاختبار في سجلّات مستوى التقدّم في تنفيذ لوحة المحادثة:
    Completed with 1 error
    
    Failure in test unique_fct_order_analysis_order_id
    Got 287 results, configured to fail if != 0
    
    عثر اختبار التفرد على order_id على إدخالات مكررة لأنّ العملاء الذين لديهم حيوانات أليفة متعددة وزّعوا الطلبات.
  2. السماح لوكيل المحادثة بتحديد المشاكل وحلّها تلقائيًا: بما أنّ الاختبار قد تعذّر، اطلب من وكيل المحادثة تصحيح الأخطاء. في لوحة المحادثة، اكتب:
    The uniqueness test failed. Can you figure out why and fix it?
    
  3. مشاهدة التشخيص: سيطلب الوكيل البيانات، وسيكتشف علاقة "واحد إلى متعدد" في pet_profiles، وسيوضّح أنّ ربطها مباشرةً يغيّر مستوى التفصيل من صف واحد لكل طلب إلى صف واحد لكل طلب لكل حيوان أليف، وسيعيد كتابة النموذج لتجميع ملفات الحيوانات الأليفة مسبقًا:
    -- Pre-aggregating pets per customer to resolve fan-out
    LEFT JOIN (
      SELECT
        customer_id,
        COUNT(*) AS num_pets,
        STRING_AGG(DISTINCT pet_type, ', ') AS pet_types,
        STRING_AGG(DISTINCT dietary_needs, ', ') AS dietary_needs
      FROM pet_profiles
      GROUP BY customer_id
    ) pet_agg ON c.customer_id = pet_agg.customer_id
    
  4. تحقق من الإصلاح: يقوم الوكيل بتشغيل dbt build مرة أخرى، وهذه المرة يتم إنشاء جميع النماذج وتجتاز جميع الاختبارات بنجاح!

ملخّص القسم: سواء تجنّب وكيلك الخطأ بشكل استباقي أو تمكّن من إصلاح نفسه بنجاح بعد تعذُّر الاختبار، فقد رأيت أنّه يتجاوز حدود Cloud SQL، ويدمج بيانات ملفات تعريف العملاء والحيوانات الأليفة، ويحتفظ بصف واحد لكل طلب في جدول الحقائق. اكتمل مسار التعلّم وتم اختباره!

10. تقديم الإجابة

إنّه يوم الخميس. بدأت الأسبوع مع مدير مالي قلق وبيانات متفرقة على ثلاث خدمات سحابية. أصبح لديك الآن السبب الجذري ومسار إنتاج. الوقت اللازم لتقديم الإجابة، بالإضافة إلى اقتراح استشرافي يستند إلى توقّعات كمية

كتابة الملخّص التنفيذي

  1. في لوحة المحادثة، اكتب:
    Write an executive summary covering:
    - Main findings and the quantitative margin impact
    - Project AOV for the subsequent quarter if the B2B program continues at its current trajectory
    - A data-driven recommendation
    
  2. مشاهدة الوكيل وهو يعمل
  3. راجِع الملخّص التنفيذي للوكيل. يجب أن يتضمّن الردّ النموذجي والمنظَّم ما يلي:
    • النتيجة الأساسية: انخفض متوسط قيمة الطلب في شهر يناير بسبب قناة B2B-Wholesale الجديدة فقط. ظلّت قيمة "المبيعات على الإنترنت وخارجه" ثابتة عند 110 دولار أمريكي تقريبًا.
    • السبب الأساسي: أدّى عرض "البيع بالجملة بين الشركات" (خصم% 25 على الطلبات المجمّعة) إلى جذب 100 حساب جديد، ما أدّى إلى تسجيل حوالي 25,000 طلب.
    • تأثير الهامش: أدّى ضغط متوسط الربح من كل وحدة في طلبات الجملة إلى انخفاضه بنسبة %65 تقريبًا (من 7.50 دولار أمريكي تقريبًا إلى 2.60 دولار أمريكي تقريبًا).
    • الإيرادات: إيرادات إجمالية ثابتة لأنّ حجم معاملات B2B الكبير يعوّض الأسعار المنخفضة.

توقّع متوسط قيمة الطلب باستخدام AI.FORECAST

  1. يجب أن ينشئ الوكيل أيضًا توقعات مستقبلية. ابحث عن طلب MCP Tool حيث ينفّذ الوكيل طلب بحث AI.FORECAST في BigQuery. يستخدم هذا الإجراء نموذج TimesFM الأساسي المضمّن لتوقّع متوسط قيمة الطلب بعد 90 يومًا استنادًا إلى المؤشرات السابقة. يجب أن يتوقّع طلب البحث متوسط قيمة الطلب بعد 90 يومًا في سيناريوهَين: استمرار الحملة (انخفاض متوسط قيمة الطلب بشكل كبير) أو إنهاء الحملة (العودة إلى حوالي 110 دولار أمريكي).
  1. راجِع الاقتراحات الاستراتيجية للوكيل. يجب أن تشمل التوصيات ما يلي:
    • إعادة هيكلة الخصومات: يمكنك وضع حد أدنى للهامش أو حد أقصى للخصومات المجمّعة لحماية هوامش الوحدات الفردية.
    • فرض حدود دنيا أعلى لكميات الطلب: منع مشتري التجزئة من إساءة استخدام أسعار الجملة
    • تقارير منفصلة: تتبُّع أقسام البيع بالتجزئة وأقسام B2B بشكلٍ مستقل لتجنُّب إخفاء أداء البيع بالتجزئة

القصة الكاملة

إنّ ما بدأ يوم الاثنين كتدريب على إطفاء الحرائق بسبب انخفاض بنسبة% 7 في متوسّط قيمة طلب الشراء قد تمّ حلّه بوضوح من قِبل المدير المالي:

  • البيع بالتجزئة في مجال الصحة: تظل قنوات البيع بالتجزئة الأساسية في مجال الصحة بحالة جيدة ومستقرة عند خط الأساس.
  • زيادة في مبيعات الجملة: يعود الانخفاض في متوسط قيمة الطلب بالكامل إلى قناة مبيعات الجملة الجديدة بين الشركات وحملة BIGORDER25.
  • تأثير هامش الربح: أدّى الخصم بالجملة بنسبة% 25 إلى تآكل هوامش الربح للوحدة بشكل كبير، ما هدد الربحية على الرغم من ثبات الإيرادات.
  • التوقّعات الاستراتيجية: يشير توقّع AI.FORECAST إلى أنّ إعادة هيكلة مستويات البيع بالجملة ستؤدي إلى استعادة متوسط قيمة الطلب المدمج.

يمكنك تقديم توصية مستندة إلى البيانات لتحديد الحد الأدنى لهوامش البيع بالجملة وإعداد تقارير منفصلة عن البيع بالتجزئة والبيع بين الشركات.

ملخّص القسم: طلبت من الوكيل كتابة ملخّص تنفيذي يتضمّن تحليلًا لهامش الربح، وإنشاء توقّع باستخدام AI.FORECAST، وتقديم توصية مستندة إلى البيانات. اكتمل التحقيق.

11. تَنظيم

لتجنُّب تكبُّد رسوم مستمرة في حسابك على Google Cloud، احذف الموارد التي تم إنشاؤها في هذا الدرس التطبيقي حول الترميز باتّباع النص البرمجي للإيقاف.

  1. ارجع إلى Google Cloud Shell (حيث شغّلت نص التهيئة البرمجي) وشغِّل نص الإيقاف:
cd ~/devrel-demos/codelabs/agentic-data-labs/scripts
chmod +x teardown.sh
./teardown.sh
  1. سيعرض النص البرمجي جميع الموارد التي يخطّط لحذفها وسيطلب تأكيدًا قبل المتابعة:
    • مثيل Cloud SQL (cymbal-pets-ops): جميع الجداول
    • مجموعات بيانات BigQuery (cymbal_pets، dbt_marts): جميع الجداول والنماذج
    • حزمة Cloud Storage (gs://YOUR_PROJECT_ID-cymbal-pets-raw)
    • ربط BigQuery (cymbal-pets-cloudsql)
  2. يُرجى كتابة y للتأكيد. تستغرق عملية التفكيك من دقيقتَين إلى 3 دقائق تقريبًا.
[INFO]  Deleting BigQuery dataset cymbal_pets...
[ OK ]  BigQuery dataset cymbal_pets deleted.
[INFO]  Deleting BigQuery dataset dbt_marts...
[ OK ]  BigQuery dataset dbt_marts deleted.
[INFO]  Deleting GCS bucket gs://YOUR_PROJECT_ID-cymbal-pets-raw...
[ OK ]  GCS bucket deleted.
[INFO]  Deleting BigQuery connection cymbal-pets-cloudsql...
[ OK ]  BQ connection deleted.
[INFO]  Deleting Cloud SQL instance cymbal-pets-ops...
[ OK ]  Cloud SQL instance deleted.

12. تهانينا!

لقد أكملت مهمة تحقيق في قضية "حيوانات آلات الصنج" بنجاح. انتقلت من سؤال غامض من المدير المالي إلى اقتراح كامل مستند إلى التوقعات، وذلك باستخدام وكيل ذكاء اصطناعي يعمل على مستوى جميع أصول البيانات في Google Cloud.

إنجازاتك

  1. 🔍 الاستكشاف في جميع الخدمات: تم العثور على الأصول ومعاينتها في BigQuery وCloud SQL وCloud Storage باستخدام Knowledge Catalog في Data Agent Kit.
  2. 🕵️‍♂️ التحقيق باستخدام الذكاء الاصطناعي: تم الاستعلام عن خدمات متعدّدة في محادثة واحدة ضمن لوحة المحادثة باستخدام أدوات MCP لتتبُّع خلل AOV إلى حملة ترويجية مجمّعة بين الأنشطة التجارية.
  3. 🔧 إنشاء مسار تعلّم في مرحلة الإنتاج: إنشاء مشروع dbt كامل لتنظيف بيانات الطلبات والعملاء ودمجها واختبارها
  4. 🐛 إصلاح خطأ في التوزيع الموسَّع: لاحظنا أنّ الوكيل يحدّد تلقائيًا مشكلة في الدقة ويعيد هيكلة نموذج لغة الاستعلامات البنيوية (SQL) dbt لتجميع ملفات تعريف الحيوانات الأليفة للعملاء مسبقًا.
  5. 📈 التوقّع والاقتراح: تم استخدام AI.FORECAST المضمّن في BigQuery لنمذجة مؤشرات متوسط قيمة الطلب، وتم تقديم اقتراح مستند إلى البيانات إلى المدير المالي.

المفاهيم الرئيسية

المفهوم

ما تعلّمته

أدوات MCP

اتصالات آمنة وقابلة للتدقيق تتيح لوكيل الذكاء الاصطناعي الاستعلام عن خدمات مثل BigQuery وCloud SQL وSpanner وقواعد البيانات الأخرى نيابةً عنك، مع إمكانية الاطّلاع على كل مكالمة في لوحة Chat

مهارات الوكيل

مجموعات التعليمات المُعدّة مسبقًا (مثل dbt-bigquery أو discovering-gcp-data-assets) التي تعلّم الوكيل أفضل الممارسات الخاصة بالنطاق بدون الحاجة إلى تقديم طلبات بشأنها

التحقيق في الخدمات المتعدّدة

يستعلم الوكيل عن خدمات متعدّدة من Google Cloud في محادثة واحدة، بدون الحاجة إلى إعداد الاتصال أو التبديل بين وحدات التحكّم.

التلقين الموجّه نحو الهدف

إخبار الوكيل بما تريد ("إنشاء مشروع dbt يحسب متوسط قيمة الطلب حسب القناة") بدلاً من كيفية ذلك، والسماح له باختيار طريقة التنفيذ

مجموعة أدوات وكيل البيانات

الإضافة التي تربط كل شيء ببعضه، بدءًا من أدوات MCP ومهارات الوكيل وصولاً إلى استكشاف البيانات، ما يتيح لك الوصول إلى جميع بيانات Google Cloud من داخل بيئة التطوير المتكاملة التي تختارها

الخطوات التالية