كيفية استخدام مهارات وكيل الذكاء الاصطناعي (مع Gemini CLI و"مهارات وكيل الذكاء الاصطناعي" في Firebase)

1- مقدمة

صورة غلاف "مختبر مهارات الوكيل"

في هذا التمرين المعملي، ستتعرّف على كيفية إنشاء مهارات الوكيل لمنح النماذج اللغوية الكبيرة إمكانية الوصول إلى المعارف وسير العمل المخصّصَين. ستنشئها كمهارة محلية يمكن الوصول إليها من Gemini CLI.

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

  • إنشاء "مهارات الوكيل" الخاصة بك لأشياءك المفضّلة
  • استخدام Gemini CLI للاستعلام عن مهارتك
  • تثبيت "مهارات الوكيل" الرسمية لـ Firebase واستخدامها لإنشاء تطبيق ونشره

أهداف الدورة التعليمية

  • كيفية تنظيم مهارة
  • كيفية كتابة ملف SKILL.md
  • كيفية استخدام المهارات المحلية مع Gemini CLI

2- إعداد المشروع

  1. إذا لم يكن لديك حساب على Google، عليك إنشاء حساب على Google.
    • استخدِم حسابًا شخصيًا بدلاً من حساب عمل أو حساب تديره مؤسسة تعليمية. قد تتضمّن حسابات العمل والحسابات التي تديرها المؤسسات التعليمية قيودًا تمنعك من تفعيل واجهات برمجة التطبيقات اللازمة لهذا التمرين المعملي.
  2. سجِّل الدخول إلى Google Cloud Console.
  3. فعِّل الفوترة في Cloud Console.
    • يجب أن تكلّف إكمال هذا التمرين المعملي أقل من دولار أمريكي واحد من موارد Cloud.
    • يمكنك اتّباع الخطوات في نهاية هذا التمرين المعملي لحذف الموارد وتجنُّب تحصيل رسوم إضافية.
    • يمكن للمستخدمين الجدد الاستفادة من فترة تجريبية مجانية بقيمة 300 دولار أمريكي.
  4. أنشِئ مشروعًا جديدًا أو اختَر إعادة استخدام مشروع حالي.
    • إذا ظهر لك خطأ بشأن حصة المشروع، أعِد استخدام مشروع حالي أو احذف مشروعًا حاليًا لإنشاء مشروع جديد.

3- فتح محرِّر Cloud Shell

  1. انقر على هذا الرابط للانتقال مباشرةً إلى محرِّر Cloud Shell
  2. إذا طُلب منك منح الإذن في أي وقت اليوم، انقر على منح الإذن للمتابعة. انقر لتفويض Cloud Shell
  3. إذا لم تظهر الوحدة الطرفية في أسفل الشاشة، افتحها:
    • انقر على عرض
    • انقر على الوحدة الطرفيةفتح نافذة طرفية جديدة في "محرِّر Cloud Shell"
  4. في الوحدة الطرفية، اضبط مشروعك باستخدام هذا الأمر:
    • التنسيق:
      gcloud config set project [PROJECT_ID]
      
    • مثال:
      gcloud config set project lab-project-id-example
      
    • إذا لم تتمكّن من تذكُّر رقم تعريف مشروعك:
      • يمكنك إدراج جميع أرقام تعريف مشاريعك باستخدام:
        gcloud projects list | awk '/PROJECT_ID/{print $2}'
        
      ضبط رقم تعريف المشروع في نافذة Cloud Shell Editor
  5. من المفترض أن تظهر لك هذه الرسالة:
    Updated property [core/project].
    
    إذا ظهرت لك WARNING وطُلب منك Do you want to continue (Y/n)?، فمن المحتمل أنّك أدخلت رقم تعريف المشروع بشكل غير صحيح. اضغط على n، ثم اضغط على Enter، وحاوِل تشغيل الأمر gcloud config set project مرة أخرى.

4- إنشاء مهارتك المخصّصة

"مهارات الوكيل" هي أدلة تحتوي على ملف SKILL.md على الأقل يقدّم تعليمات ومعارف لوكيل الذكاء الاصطناعي. في هذا القسم، ستنشئ مهارة تعلّم Gemini CLI عن الأشياء المفضّلة لديك.

  1. أنشِئ دليلًا لهذا التمرين المعملي وانتقِل إليه:
    mkdir ~/agent-skills-lab && cd ~/agent-skills-lab
    
  2. أنشِئ دليلًا لمهارة مشروعك:
    mkdir -p ~/agent-skills-lab/.agents/skills/my-favorite-things
    
  3. أنشِئ ملف SKILL.md جديدًا وافتحه لمهارتك:
    cloudshell edit ~/agent-skills-lab/.agents/skills/my-favorite-things/SKILL.md
    
    سيفتح الأمر cloudshell edit ملف SKILL.md في المحرِّر أعلى الوحدة الطرفية.
  4. أضِف المحتوى التالي إلى ملف SKILL.md:
    ---
    name: my-favorite-things
    description: Provides personal information about my favorite color, food, and programming language. Use this skill when the user asks questions about my personal preferences or favorite things.
    ---
    
    # Knowledge
    
    - **Favorite Color:** Blue
    - **Favorite Food:** Pizza
    - **Favorite Programming Language:** Python
    
    If asked about one of my favorite things, please respond with the information provided above.
    

باستخدام ملف SKILL.md فقط، تكون قد أنشأت مهارتك الأولى. حان الوقت لاستخدام هذه المهارة في Gemini CLI.

5- استخدام مهارتك من Gemini CLI

بعد إنشاء مهارة بنجاح، يمكن لـ Gemini CLI اكتشافها لأنّها موجودة في الدليل .agents/skills.

  1. ابدأ Gemini CLI:
    gemini
    
    من المفترض أن يتعرّف Gemini CLI على المهارة الجديدة. قد تحتاج إلى الضغط على Enter لقبول بعض الإعدادات التلقائية.
  1. اطلب من Gemini إدراج المهارات المتاحة له ضمن سياقه
    /skills
    
    من المفترض أن يظهر my-favorite-things في قائمة المهارات المتاحة.
  2. اسأل Gemini عن لونك المفضّل:
    What is my favorite color?
    
    من المفترض أن يستخدم Gemini CLI مهارة my-favorite-things للإجابة عن سؤالك. إذا طُلب منك ذلك، اسمح لـ Gemini CLI باستخدام المهارة.

من المفترض أن يوضّح الناتج أنّ Gemini CLI استخدم مهارتك وأجاب بشيء مثل "أزرق" أو "لوني المفضّل هو الأزرق".

أحسنت! لقد أنشأت مهارة بنجاح واختبرتها باستخدام Gemini CLI.

عندما تكون مستعدًا لإنهاء جلستك، اكتب /quit ثم اضغط على Enter للخروج من Gemini CLI.

6- (اختياري) إنشاء تطبيق ونشره على استضافة Firebase

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

"مهارات الوكيل" لـ Firebase هي مثال رائع على هذه الوحدات القابلة للنقل. تم تصميمها لمساعدة مساعدي الذكاء الاصطناعي على فهم أفضل ممارسات Firebase وتنفيذ المهام المعقّدة بدقة أعلى وتكلفة أقل للرموز المميّزة.

استخدِم الآن "مهارات الوكيل" لـ Firebase لإنشاء تطبيق ويب "قائمة المهام"، مع مصادقة المستخدم وقاعدة بيانات، ونشره على استضافة Firebase.

إعداد المشروع

  1. إذا كنت لا تزال في Gemini CLI، اكتب /quit للخروج.
  2. أنشِئ دليلًا جديدًا لمشروعك وانتقِل إليه:
    mkdir ~/todo-app && cd ~/todo-app
    
  3. سجِّل الدخول إلى Firebase باستخدام حسابك على Google. استخدِم العلامة --no-localhost لأنّك في Cloud Shell:
    firebase login --no-localhost
    
    1. تفاعَل مع طلبات CLI:
      • عندما يُطلب منك Enable Gemini in Firebase features?، اكتب Y (لـ نعم) واضغط على Enter.
      • عندما يُطلب منك Allow Firebase to collect CLI and Emulator Suite usage and error reporting information?، اكتب Y واضغط على Enter.
    2. منح الإذن في المتصفّح:
      • سيظهر لك عنوان URL في الوحدة الطرفية. انقر على الرابط (إذا لم يكن قابلاً للنقر، حدِّد عنوان URL في Cloud Shell لنسخه، ثم ألصِقه في متصفّحك) لفتح صفحة تسجيل الدخول في علامة تبويب متصفّح جديدة.
      • الخطوة 1 من 3 (تأكيد الأمر): انقر على نعم، لقد نفّذت هذا الأمر للتو.
      • الخطوة 2 من 3 (تأكيد رقم تعريف الجلسة): تأكَّد من أنّ رقم تعريف الجلسة يطابق ما يظهر في الوحدة الطرفية، ثم انقر على نعم، هذا هو رقم تعريف جلستي.
      • الخطوة 3 من 3 (نسخ الرمز): انقر على نسخ لنسخ رمز التفويض إلى الحافظة.
    3. إكمال تسجيل الدخول:
      • ارجع إلى الوحدة الطرفية في Cloud Shell وألصِق رمز التفويض في الطلب ? Enter authorization code:.
      • اضغط على Enter.
    من المفترض أن تظهر لك رسالة نجاح: ✔ Success! Logged in as .

تثبيت "مهارات الوكيل" لـ Firebase

بعد إنشاء دليل مشروعك، عليك تثبيت "مهارات الوكيل" لـ Firebase ضمنه.

يمكنك تثبيت "مهارات الوكيل" لـ Firebase باستخدام skills CLI في الوحدة الطرفية:

npx skills add firebase/agent-skills

أثناء التثبيت، سيُطلب منك اختيار المهارات التي تريد تثبيتها. استخدِم مفاتيح الأسهم للتنقّل في القائمة ومفتاح المسافة لاختيار هذه المهارات.

  • firebase-basics
  • firebase-hosting-basics
  • firebase-auth-basics
  • firebase-firestore-enterprise-native-mode

اختيار أربع مهارات في Firebase

بالنسبة إلى الطلبات اللاحقة، يمكنك قبول الإعدادات التلقائية بأمان من خلال الضغط على Enter.

سيؤدي هذا الأمر إلى تنزيل المهارات وتثبيتها، بما في ذلك firebase-basics وfirebase-hosting-basics، ما يتيح استخدامها في Gemini CLI إلى جانب مهارة my-favorite-things.

لمزيد من المعلومات عن "مهارات الوكيل" لـ Firebase، اطّلِع على المهارات المتاحة.

إنشاء تطبيق ويب أساسي ونشره

  1. فعِّل واجهات برمجة التطبيقات المطلوبة لمشروعك:
    gcloud services enable \
      cloudresourcemanager.googleapis.com \
      firebase.googleapis.com
    
  2. فعِّل Firebase في مشروعك الحالي على Google Cloud:
    firebase projects:addfirebase ${GOOGLE_CLOUD_PROJECT}
    
  3. ابدأ Gemini CLI:
    gemini
    
  4. اطلب من Gemini إنشاء index.html أساسي:
    Generate an index.html file with the content "Hello Firebase Hosting" and
    deploy the application to Firebase Hosting using the current Google Cloud
    Project.
    
    سيطلب Gemini إنشاء index.html وتنفيذ firebase. اضغط على Enter للسماح له بذلك.من المفترض أن يستخدم Gemini CLI "مهارات الوكيل" لـ Firebase لإنشاء موقعك الإلكتروني ونشره. وجِّه الوكيل وقدِّم الموافقات حسب الحاجة.

عند اكتمال عملية النشر، من المفترض أن يقدّم عنوان URL لتطبيق الويب. استخدِم ctrl+click (في نظام التشغيل Windows/Linux) أو cmd+click (في نظام التشغيل Mac) لفتح الروابط في الوحدة الطرفية لمحرِّر Cloud Shell. انتقِل إلى عنوان URL لتطبيقك الذي تم نشره.

إضافة "مصادقة Firebase"

  1. ابدأ Gemini CLI إذا لم يسبق لك بدءه:
    gemini
    
    قد يطرح Gemini أسئلة مثل "هل تثق بهذا المجلد؟" اضغط على Enter لقبول الإعدادات التلقائية.
  2. اطلب الآن من Gemini إضافة ميزة "تسجيل الدخول باستخدام حساب Google":
    Generate HTML, CSS, and Javascript for a single page application.
    It should use Google Sign-in with Firebase Authentication.
    A user should be able to sign in with their Google Account.
    Deploy when you are done and give the URL to the user.
    
    قد يطلب Gemini إنشاء ملفات أو تعديلها، مثل index.html وstyle.css وscript.js. اسمح له بذلك. قد يطلب منك Gemini اتّخاذ بعض الإجراءات في وحدة تحكم Firebase. يمكن لـ CLI تنفيذ معظم هذه الإجراءات إذا طلبت منه المحاولة، ولكن قد يكون من الضروري إكمال الخطوات يدويًا (مثل تفعيل Google OAuth) إذا كان مثبَّتًا على مثيل Cloud Shell إصدار قديم من Firebase CLI.

عند اكتمال عملية النشر، من المفترض أن يقدّم عنوان URL لتطبيق الويب. استخدِم ctrl+click (في نظام التشغيل Windows/Linux) أو cmd+click (في نظام التشغيل Mac) لفتح الروابط في الوحدة الطرفية لمحرِّر Cloud Shell. انتقِل إلى عنوان URL لتطبيقك الذي تم نشره.

لكي تظهر آخر التغييرات، قد تحتاج إلى إجراء "تحديث تام" باستخدام ctrl+shift+R (في نظام التشغيل Windows/Linux) أو cmd+shift+R (في نظام التشغيل Mac).

إضافة Cloud Firestore

  1. ابدأ Gemini CLI إذا لم يسبق لك بدءه:
    gemini
    
    قد يطرح Gemini أسئلة مثل "هل تثق بهذا المجلد؟" اضغط على Enter لقبول الإعدادات التلقائية.
  2. اطلب من Gemini إضافة Firestore لحفظ المهام:
    Update the application to save tasks in Cloud Firestore for the signed-in user.
    A user should be able to add new tasks and see a list of their tasks.
    Deploy when you are done and give the URL to the user.
    
    سيعدّل Gemini الملفات. اسمح له بذلك.

عند اكتمال عملية النشر، من المفترض أن يقدّم عنوان URL لتطبيق الويب. استخدِم ctrl+click (في نظام التشغيل Windows/Linux) أو cmd+click (في نظام التشغيل Mac) لفتح الروابط في الوحدة الطرفية لمحرِّر Cloud Shell. انتقِل إلى عنوان URL لتطبيقك الذي تم نشره.

لكي تظهر آخر التغييرات، قد تحتاج إلى إجراء "تحديث تام" باستخدام ctrl+shift+R (في نظام التشغيل Windows/Linux) أو cmd+shift+R (في نظام التشغيل Mac).

إذا لم يكن تطبيقك يعمل على النحو المتوقّع، واصِل العمل مع Gemini CLI للحصول على الوظائف التي تتوقّعها. مثال: shell Hide the task form when the user is logged out. Update the security rules so the user can see their TODOs.

واصِل تجربة التمرين المعملي لإضافة الميزات التي تريدها في تطبيق Firebase الجديد.

7- الخاتمة

تهانينا! لقد أنشأت مهارة بنجاح وتعرّفت على كيفية تثبيت مهارات إضافية لـ Gemini CLI.

(اختياري) التنظيف

إذا أردت التنظيف، يمكنك حذف مشروع على السحابة الإلكترونية لتجنُّب تحصيل رسوم إضافية.

إذا أردت ذلك، احذف المشروع:

gcloud projects delete $GOOGLE_CLOUD_PROJECT

يمكنك أيضًا حذف الموارد غير الضرورية من قرص Cloud Shell لإخلاء بعض المساحة.

  1. احذف دليل التمرين المعملي (يؤدي ذلك إلى إزالة كل من المهارة والتطبيق):
    rm -rf ~/agent-skills-lab
    
  2. احذف دليل تطبيق "قائمة المهام" (إذا أنشأته خارج الدليل):
    rm -rf ~/todo-app
    

إذا احتجت في أي وقت إلى إعادة ضبط Cloud Shell إلى حالته التلقائية، يمكنك اتّباع المستندات الرسمية للحصول على تعليمات حول كيفية إجراء ذلك بأمان.