استخدام الدردشة المستندة إلى الذكاء الاصطناعي كأداة للبرمجة الثنائية

يوضّح هذا المستند كيفية إعداد واستخدام وضع "المساعد البرمجي" في Gemini Code Assist كمساعد برمجي في بيئة التطوير المتكاملة (IDE).

باستخدام "وضع الوكيل"، يمكنك تنفيذ أيّ من الإجراءات التالية وغيرها:

  • طرح أسئلة حول الرمز البرمجي
  • استخدِم السياق والأدوات المضمّنة لتحسين المحتوى الذي تم إنشاؤه.
  • إعداد خوادم MCP لتوسيع قدرات الوكيل
  • الحصول على حلول للمهام المعقّدة التي تتضمّن عدة خطوات
  • إنشاء رموز برمجية من مستندات التصميم والمشاكل وتعليقات TODO
  • التحكّم في سلوك الوكيل من خلال التعليق على الخطط وتعديلها والموافقة عليها واستخدام الأدوات أثناء التنفيذ

القيود

قد لا تتوفّر بعض ميزات محادثة Gemini Code Assist العادية في وضع "الوكيل"، أو قد تعمل بشكل مختلف عن طريقة عملها في المحادثة العادية.

لا تتوفّر ميزة التلاوة في وضع "المساعد الذكي". عند استخدام وضع "الوكيل"، لا يذكر Gemini المصادر، ولا يمكنك إيقاف اقتراحات الرموز البرمجية التي تتطابق مع المصادر المذكورة.

قبل البدء

VS Code

  1. اضبط إصدار Gemini Code Assist الذي تريد استخدامه في بيئة التطوير المتكاملة (IDE) باتّباع الخطوات التالية:

IntelliJ

إعداد إصدار Gemini Code Assist الذي تريد استخدامه في بيئة التطوير المتكاملة (IDE):

استخدام "وضع الوكيل"

في وضع "الوكيل"، يمكنك أن تطلب من Gemini إكمال أهداف رفيعة المستوى ومهام معقّدة.

للاستفادة إلى أقصى حدّ من "وضع الوكيل"، اتّبِع أفضل الممارسات لإنشاء الطلبات وقدِّم أكبر قدر ممكن من التفاصيل.

للتبديل إلى وضع "الوكيل"، اتّبِع الخطوات التالية:

VS Code

  1. لفتح محادثة Gemini Code Assist، انقر على spark Gemini Code Assist في شريط الأنشطة الخاص ببيئة التطوير المتكاملة (IDE).
  2. انقر على مفتاح التبديل الوكيل للدخول إلى وضع الوكيل. يتم تمييز مفتاح التبديل عند التبديل إلى وضع الدردشة مع الموظف، ويظهر باللون الرمادي عند إجراء محادثة عادية.
  3. في محادثة Gemini Code Assist، أدخِل طلبك.

يقدّم لك Gemini ردًا على طلبك، أو يطلب الإذن باستخدام إحدى الأدوات.

لإيقاف العامل، انقر على إيقاف.

لاستخدام محادثة Gemini Code Assist العادية، انقر على محادثة جديدة لإنشاء محادثة جديدة.

يستند وضع الوكيل في Gemini Code Assist إلى Gemini CLI.

IntelliJ

  1. انقر على spark Gemini في شريط نافذة الأدوات. سجِّل الدخول إذا طُلب منك ذلك.
  2. انقر على علامة التبويب الوكيل.
  3. قدِّم وصفًا للمَهمة التي تريد أن ينفّذها الوكيل.
  4. أثناء اتّباع الوكيل للخطوات اللازمة لإنجاز المهمة، سيكون بإمكانك مراجعة أي تغييرات والموافقة عليها.

  5. اختياري: للموافقة تلقائيًا على التغييرات، انقر على الإعدادات خيارات الوكيل، ثم ضَع علامة في مربّع الاختيار بجانب الموافقة التلقائية على التغييرات.

ضبط الأدوات لوضع "الوكيل"

الأدوات هي فئة واسعة من الخدمات التي يمكن أن يستخدمها الوكيل للحصول على السياق وتنفيذ الإجراءات في رده على طلبك. تشمل بعض الأمثلة على الأدوات، الأدوات المضمّنة مثل grep والقراءة أو الكتابة في الملفات، أو خوادم بروتوكول سياق النموذج (MCP) المحلية أو البعيدة ووظائفها القابلة للتنفيذ، أو عمليات تنفيذ الخدمات المخصّصة.

التحكّم في استخدام الأدوات المضمّنة

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

VS Code

يمكنك استخدام الإعدادَين coreTools وexcludeTools للتحكّم في الأدوات التي يمكن لـ Gemini الوصول إليها في وضع "الوكيل".

coreTools
تتيح لك تحديد قائمة بالأدوات التي تريد أن تكون متاحة للنموذج. يمكنك أيضًا تحديد قيود خاصة بالأوامر للأدوات التي تتيح ذلك. على سبيل المثال، سيؤدي إضافة ما يلي إلى ملف JSON الخاص بإعدادات Gemini إلى السماح بتنفيذ الأمر ls -l فقط:"coreTools": ["ShellTool(ls -l)"].
excludeTools
تتيح لك تحديد قائمة بالأدوات التي لا تريد أن تكون متاحة للنموذج. يمكنك أيضًا تحديد قيود خاصة بالأوامر للأدوات التي تتيح ذلك. على سبيل المثال، ستؤدي إضافة ما يلي إلى ملف JSON الخاص بإعدادات Gemini إلى حظر استخدام الأمر rm -rf: "excludeTools": ["ShellTool(rm -rf)"].

يتم استبعاد الأداة المُدرَجة في كلّ من excludeTools وcoreTools.

لضبط الأدوات المضمّنة المتوفّرة في وضع "الوكيل"، اتّبِع الخطوات التالية:

  1. افتح ملف JSON الخاص بإعدادات Gemini والموجود في ~/.gemini/settings.json حيث ~ هو دليل منزلك.
  2. لحصر استخدام أدوات الوكيل بقائمة من الأدوات الموافَق عليها، أضِف السطر التالي إلى ملف JSON الخاص بإعدادات Gemini:

    "coreTools": ["TOOL_NAME_1,TOOL_NAME_2"]
    

    استبدِل TOOL_NAME_1 وTOOL_NAME_2 بأسماء الأدوات المضمّنة التي تريد أن يتمكّن الوكيل من الوصول إليها.

    يمكنك إدراج العدد الذي تريده من الأدوات المضمّنة. تتوفّر جميع الأدوات المضمّنة للوكيل تلقائيًا.

  3. لحصر استخدام أدوات الوكيل على أوامر أدوات معيّنة، أضِف السطر التالي إلى ملف JSON الخاص بإعدادات Gemini:

    "coreTools": ["TOOL_NAME(COMMAND)"]
    

    غيِّر القيم في السلسلة على الشكل التالي:

    • استبدِل TOOL_NAME باسم الأداة المضمّنة.
    • COMMAND: اسم أمر الأداة المضمّنة الذي تريد أن يتمكّن الوكيل من استخدامه.
  4. لاستبعاد أداة من استخدام الوكيل، أضِف السطر التالي إلى ملف JSON الخاص بإعدادات Gemini:

    "excludeTools": ["TOOL_NAME_1,TOOL_NAME_2"]
    

    استبدِل TOOL_NAME_1 وTOOL_NAME_2 بأسماء الأدوات المضمّنة التي تريد استبعادها من استخدام الوكيل.

  5. لاستبعاد أمر أداة من استخدام الوكيل، أضِف السطر التالي إلى ملف JSON الخاص بإعدادات Gemini:

    "excludeTools": ["TOOL_NAME(COMMAND)"]
    

    غيِّر القيم في السلسلة على الشكل التالي:

    • استبدِل TOOL_NAME باسم الأداة المضمّنة.
    • COMMAND: اسم أمر الأداة المضمّنة الذي تريد استبعاده من استخدام الوكيل

لمزيد من المعلومات حول إعدادات الضبط coreTools وexcludeTools، راجِع مستندات ضبط Gemini CLI.

IntelliJ

هذه الميزة غير متاحة في "أداة مساعدة البرمجة من Gemini" في IntelliJ أو غيرها من بيئات التطوير المتكاملة من JetBrains.

إعداد خوادم MCP

VS Code

للتحكّم في الخوادم المتاحة في وضع البرنامج الوكيل، أضِفها إلى ملف JSON الخاص بإعدادات Gemini وفقًا لوثائق الخادم.

  1. ثبِّت أي عناصر تابعة يتطلّبها خادم MCP.
  2. افتح ملف JSON الخاص بإعدادات Gemini والموجود في ~/.gemini/settings.json حيث ~ هو دليل منزلك.
  3. أضِف خوادم MCP محلية أو بعيدة إلى ملف JSON الخاص بإعدادات Gemini وفقًا لتعليمات الخادم.

    يضيف المثال التالي خادمَين بعيدَين من Cloudflare MCP، ويُثبّت خادمَي GitHub وGitLab على الجهاز المحلي.

    {
      "mcpServers": {
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-gitlab"]
        },
        "cloudflare-observability": {
          "command": "npx",
          "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"]
        },
        "cloudflare-bindings": {
          "command": "npx",
          "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"]
        }
      }
    }
    

  4. افتح لوحة الأوامر واختَر المطوّر: إعادة تحميل النافذة.

تتوفّر خوادم MCP التي تم ضبطها للوكيل لاستخدامها في وضع الوكيل.

IntelliJ

للتحكّم في الخوادم المتاحة في وضع "الوكيل"، أضِفها إلى ملف mcp.json وضَعها في دليل الإعداد لبيئة التطوير المتكاملة (IDE).

  1. ثبِّت أي عناصر تابعة يتطلّبها خادم MCP.
  2. أنشئ ملف mcp.json في دليل الإعداد الخاص ببيئة التطوير المتكاملة.
  3. أضِف خوادم MCP محلية أو بعيدة إلى ملف JSON الخاص بإعدادات Gemini وفقًا لتعليمات الخادم.

    يضيف المثال التالي خادم Cloudflare MCP البعيد، ويُثبّت خادمي GitHub وGitLab على الجهاز المحلي.

    {
      "mcpServers": {
        "github": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-github"],
          "env": {
            "GITHUB_PERSONAL_ACCESS_TOKEN": "ghp_example_personal_access_token12345"
          }
        },
        "gitlab": {
          "command": "npx",
          "args": ["-y", "@modelcontextprotocol/server-gitlab"]
        },
        "cloudflare-observability": {
          "command": "npx",
          "args": ["mcp-remote", "https://observability.mcp.cloudflare.com/sse"]
        },
        "cloudflare-bindings": {
          "command": "npx",
          "args": ["mcp-remote", "https://bindings.mcp.cloudflare.com/sse"]
        }
      }
    }
    

تتوفّر خوادم MCP التي تم ضبطها للوكيل لاستخدامها في وضع الوكيل.

مصادقة خادم MCP

تتطلّب بعض خوادم MCP المصادقة. اتّبِع مستندات الخادم لإنشاء أي رموز مميّزة مطلوبة للمستخدمين، ثم حدِّدها بشكل مناسب. قد تقبل الخوادم المحلية متغيّرات البيئة، وقد تقبل الخوادم البعيدة بيانات الاعتماد في العناوين.

VS Code

بالنسبة إلى خوادم MCP التي تتطلّب المصادقة، يمكنك إضافتها إلى ملف JSON الخاص بإعدادات Gemini.

يوضّح المثال التالي كيفية تحديد رمز مميز للدخول الشخصي لخوادم MCP المحلية والبعيدة على GitHub:

{
  "mcpServers": {
    "github-remote": {
      "httpUrl": "https://api.githubcopilot.com/mcp/",
      "headers": {
        "Authorization": "Bearer ACCESS_TOKEN"
      }
    },
    "github-local": {
      "command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
      "args": ["stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
      }
    }
  }
}

حيث ACCESS_TOKEN هو رمز الدخول الخاص بالمستخدم.

IntelliJ

بالنسبة إلى خوادم MCP التي تتطلّب المصادقة، يمكنك إضافتها إلى ملف mcp.json.

يضيف المثال التالي رمزًا مميزًا للدخول الشخصي إلى خادم GitHub المحلي:

{
  "mcpServers": {
    "github-local": {
      "command": "/Users/username/code/github-mcp-server/cmd/github-mcp-server/github-mcp-server",
      "args": ["stdio"],
      "env": {
        "GITHUB_PERSONAL_ACCESS_TOKEN": "ACCESS_TOKEN"
      }
    }
  }
}

حيث ACCESS_TOKEN هو رمز الدخول الخاص بالمستخدم.

إنشاء ملف سياق

يسمح السياق للوكيل بإنشاء ردود أفضل على طلب معيّن. يمكن استخلاص السياق من الملفات في بيئة التطوير المتكاملة (IDE) ومن الملفات في مجلدات النظام المحلي ومن ردود الأدوات ومن تفاصيل طلبك. لمزيد من المعلومات، يُرجى الاطّلاع على سياق وضع "الوكيل".

VS Code

  1. أنشئ ملفًا باسم GEMINI.md في موقع جغرافي يتطابق مع النطاق الذي تريد تطبيق السياق عليه. يوضّح الجدول التالي المواقع الجغرافية لملفات السياق الخاصة بالنطاقات المختلفة:

    النطاق الموقع الجغرافي
    كل مشاريعك ~/.gemini/GEMINI.md
    مشروع محدّد دليل العمل أو أي أدلة رئيسية تصل إلى جذر مشروعك (المحدّد بواسطة مجلد .git) أو دليلك الرئيسي
    جزء أو وحدة أو قسم فرعي معيّن من مشروع الأدلة الفرعية لدليل العمل

    يتم إنشاء نظام ذاكرة الوكيل من خلال تحميل ملفات السياق من مواقع متعدّدة. يحلّ السياق من الملفات الأكثر تحديدًا، مثل ملفات المكوّنات أو الوحدات النمطية المحددة، محلّ المحتوى من ملفات السياق الأكثر عمومية، مثل ملف السياق العام في ~/.gemini/GEMINI.md، أو يضيف إليه.

  2. اكتب أي قواعد أو معلومات دليل الأسلوب أو سياق تريد أن يستخدمه الوكيل بتنسيق Markdown واحفظ الملف. لمزيد من المعلومات، اطّلِع على ملف السياق النموذجي على GitHub.

يتضمّن الوكيل المعلومات الواردة في ملف السياق بالإضافة إلى أي طلبات ترسلها إليه.

IntelliJ

  1. أنشئ ملفًا باسم GEMINI.md أو AGENT.md في جذر مشروعك.

  2. اكتب أي قواعد أو معلومات دليل الأسلوب أو سياق تريد أن يستخدمه الوكيل بتنسيق Markdown واحفظ الملف.

يتضمّن الوكيل المعلومات الواردة في ملف السياق بالإضافة إلى أي طلبات ترسلها إليه. يمكنك أيضًا إضافة سياق من خلال تضمين ملف يدويًا باستخدام بنية @FILENAME حيث FILENAME هو اسم الملف الذي يتضمّن معلومات سياقية تريد تضمينها.

استخدام الطلبات

تتيح لك الأوامر التي تبدأ بشرطة مائلة / تنفيذ أوامر بسرعة مشابهة للأوامر في نافذة طرفية.

VS Code

يمكنك استخدام أوامر Gemini CLI التالية في وضع "الوكيل":

  • /tools: تعرض هذه السمة قائمة بالأدوات المتاحة في جلسة وضع الوكيل.
  • /mcp: تعرض هذه الصفحة خوادم Model Context Protocol (MCP) التي تم إعدادها وحالة اتصالها وتفاصيلها والأدوات المتاحة.

لمزيد من المعلومات حول أوامر Gemini CLI، يُرجى الاطّلاع على أوامر Gemini CLI. يُرجى العلم أنّ بعض أوامر Gemini CLI غير متاحة في وضع "الوكيل".

IntelliJ

هذه الميزة غير متاحة في "أداة مساعدة البرمجة من Gemini" في IntelliJ أو غيرها من بيئات التطوير المتكاملة من JetBrains.

السماح دائمًا بإجراءات الوكيل

يمكنك السماح تلقائيًا بجميع إجراءات الوكيل.

للسماح تلقائيًا بجميع إجراءات الوكيل، اتّبِع الخطوات التالية:

VS Code

استخدِم وضع yolo للسماح تلقائيًا بجميع إجراءات الوكيل. لا يمكن استخدام وضع Yolo إلا في مساحة عمل موثوق بها.

لضبط "وضع YOLO"، اتّبِع الخطوات التالية:

  1. افتح ملف JSON لإعدادات مستخدم VS Code:

    1. افتح لوحة الأوامر (ctrl/command + Shift + P).
    2. انقر على الإعدادات المفضّلة: فتح إعدادات المستخدم (JSON).
  2. أضِف ما يلي إلى ملف JSON لإعدادات المستخدم في VS Code:

    //other settings...
    
    "geminicodeassist.agentYoloMode": true,
    //other settings...
    
  3. افتح لوحة الأوامر واختَر المطوّر: إعادة تحميل النافذة.

يستخدم "وضع الوكيل" وضع yolo، ولن يطلب الإذن قبل اتخاذ إجراءات عندما ترسل إليه طلبًا. عند استخدام مساحة عمل خاضعة لقيود، سيطلب منك الوكيل تأكيد الإجراءات قبل تنفيذها بغض النظر عن هذا الإعداد.

IntelliJ

للموافقة تلقائيًا على التغييرات، انقر على الإعدادات خيارات الوكيل في علامة التبويب الخاصة بوكيل Gemini Chat، ثم ضَع علامة في مربّع الاختيار بجانب الموافقة تلقائيًا على التغييرات.

يوافق "وضع الوكيل" تلقائيًا على جميع الطلبات، ولن يطلب الإذن قبل اتخاذ إجراءات عندما ترسل إليه طلبًا.

طلبات إضافية

جرِّب الطلبات التالية باستخدام معلوماتك الخاصة:

  • "ما هي وظيفة هذا المستودع؟ أريد منك مساعدتي في فهم بنية هذا التطبيق".
  • "ما هي وظيفة [الفئة/الدالة]؟"
  • "أضِف ميزة إلى قاعدة الرموز هذه - "[link-or-path-to-codebase]"."
  • "أعِد تصميم الدالتَين [أ] و[ب] لاستخدام الطريقة الشائعة [ج]."
  • "حلّ مشكلة GitHub [link-to-github-issue]"
  • "أنشئ تطبيقًا لتنفيذ [الهدف] باستخدام واجهة مستخدم تتيح للمستخدم تنفيذ [المهمة] في [البيئة]".
  • "نقل إصدارات المكتبة في هذا المستودع من [X] إلى [Y]"
  • "أريد تحسين أداء رمز Go البرمجي هذا ليعمل بشكل أسرع".
  • "استخدِم [name-of-API] لتطوير هذه الميزة".
  • "نفِّذ خوارزمية لتنفيذ [x] و[Y] و[Z]".

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