إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
أظهرت الصفحة السابقة كيف يمنحك التفاف LLM في عامل هوية مستمرة وإرشادات وإدارة جلسة عمل. ولكن حتى مع كل ذلك، يمكن للعامل إنشاء محتويات فقط (نص وصور وما إلى ذلك) - لا يمكنه البحث عن سعر السهم اليوم أو إرسال بريد إلكتروني أو الاستعلام عن قاعدة بياناتك. وهو يجيب من أي معرفة تم خبزها في أثناء التدريب وأي سياق تقدمه في المطالبة.
أدوات سد هذه الفجوة. إنها تمنح العامل القدرة على العمل - للوصول إلى ما هو أبعد من بيانات التدريب والتفاعل مع العالم الحقيقي. إضافة الأدوات هي الخطوة الوحيدة الأكثر تأثيرا التي يمكنك اتخاذها لجعل العامل مفيدا حقا.
متى يتم استخدام هذا
أضف أدوات إلى وكيلك عندما:
- يحتاج العامل إلى الوصول إلى البيانات في الوقت الحقيقي أو البيانات الخارجية - الأسعار المباشرة والطقس وسجلات قاعدة البيانات ونتائج البحث - التي ليست في بيانات تدريب النموذج.
- يحتاج العامل إلى اتخاذ إجراءات - إرسال رسائل البريد الإلكتروني، وإنشاء التذاكر، واتصال واجهات برمجة التطبيقات، وكتابة الملفات - بدلا من مجرد إنتاج المحتوى.
الاعتبارات
| الاعتبار | التفاصيل |
|---|---|
| زمن الاستجابة | يضيف كل استدعاء أداة رحلة ذهابا وإيابا - ينشئ النموذج طلب أداة، وتنفذه التعليمات البرمجية الخاصة بك، ويتم إرسال النتيجة مرة أخرى قبل أن يتمكن النموذج من المتابعة. أداة متعددة تتحول إلى تفاقم هذا. |
| حمل الرمز المميز | يتم تضمين تعريفات الأدوات (الأسماء والأوصاف ومخططات المعلمات) في كل مطالبة. تعني المزيد من الأدوات عددا أقل من الرموز المميزة المتوفرة لمحفوظات المحادثات واستجابة النموذج. |
| تعقيد تصحيح الأخطاء | عندما يحدث خطأ ما، قد يكون السبب في تحديد أداة النموذج أو الوسيطات التي اختارها أو تنفيذ الأداة. أنت تقوم بتصحيح المنطق والرمز معا. |
| موثوقيه | قد يستدعي النموذج الأدوات بشكل غير صحيح، أو يمرر وسيطات سيئة، أو يستدعي أداة عندما لا ينبغي ذلك. تخفف الأوصاف الجيدة والموافقة على الأدوات من هذا، ولكن لا تزيلها. |
لماذا يحتاج العملاء إلى أدوات
كما هو مغطى في أساسيات LLM، يتم تدريب LLM على إنشاء رموز مميزة - بما في ذلك تنسيق منظم خاص يمثل استدعاء أداة. ولكن النموذج نفسه لا ينفذ أي شيء. إنه تطبيقك (أو إطار عمل العامل) الذي يوزع إخراج النموذج، ويشغل الدالة الفعلية، ويغذي النتيجة مرة أخرى.
وهذا يعني أن الأدوات لا تغير ما هو النموذج - فهي تغير ما يمكن أن يفعله وكيلك. بدون أدوات، الوكيل هو محادث. مع الأدوات، يصبح عامل تشغيل.
فكر في وكيل حجز السفر. بدون أدوات، يمكنه مناقشة الرحلات الجوية واقتراح خطوط سير بناء على المعرفة العامة. باستخدام الأدوات، يمكن:
- البحث في واجهة برمجة تطبيقات الطيران عن التوفر والتسعير في الوقت الحقيقي
- حجز رحلة طيران نيابة عن المستخدم
يتطلب كل إجراء من هذه الإجراءات أداة - قطعة من التعليمات البرمجية التي يمكن للعامل استدعاؤها للتفاعل مع العالم الخارجي.
كيفية عمل حلقة استدعاء الأدوات
عند إعطاء أدوات عامل، يقوم Agent Framework تلقائيا بإدارة حلقة استدعاء الأدوات:
┌──────────────────────────────────────────────────────┐
│ User: "What's the weather in Seattle?" │
└──────────────┬───────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────┐
│ Agent sends messages + tool definitions to LLM │
└──────────────┬───────────────────────────────────────┘
▼
┌───────────────┐
│ LLM responds │
└───┬───────┬───┘
│ │
Tool call? No ──────────────────────────┐
│ │
▼ ▼
┌─────────────────────────────┐ ┌─────────────────────────────┐
│ Agent Framework executes │ │ Final response: │
│ the tool (e.g., │ │ "It's cloudy in Seattle │
│ get_weather("Seattle")) │ │ with a high of 15°C." │
└──────────────┬──────────────┘ └─────────────────────────────┘
│
▼
┌─────────────────────────────┐
│ Agent sends tool result │
│ back to the LLM │
└──────────────┬──────────────┘
│
└──────► (back to "LLM responds")
نقاط رئيسية:
- لا تحتاج إلى كتابة الحلقة. يعالج إطار عمل العامل الكشف عن استدعاءات الأداة في استجابة النموذج، وتنفيذ الأدوات، وإعادة تغذية النتائج. يمكنك تحديد الأدوات؛ ينسق إطار العمل الباقي.
- استدعاءات أدوات متعددة لكل دور. قد يستدعي النموذج العديد من الأدوات (ربما بالتوازي) قبل إنتاج إجابة نهائية - أو استدعاءات أداة السلسلة حيث يقوم إخراج واحد بإبلاغ التالي.
- يقرر النموذج وقت استدعاء الأدوات. بناء على طلب المستخدم ووصف الأداة التي تقدمها، يحكم النموذج على ما إذا كانت هناك حاجة إلى أداة. تؤدي أوصاف الأدوات الجيدة إلى اختيار أفضل للأداة.
Tip
للحصول على معاينة عملية لإضافة الأداة الأولى ورؤية هذه الحلقة قيد التنفيذ، راجع الخطوة 2: إضافة أدوات في البرنامج التعليمي بدء الاستخدام.
أنواع الأدوات
يدعم إطار عمل العامل عدة فئات من الأدوات. يعتمد اختيار الشخص المناسب على ما تحتاج إلى أن يفعله الوكيل ومكان وجود القدرة.
أدوات الدوال
أدوات الدالة هي وظائف مخصصة تكتبها وتسجلها مع العامل. يتم تشغيلها في العملية الخاصة بك، مما يمنحك تحكما كاملا في المنطق ون حدود الأمان ومعالجة الأخطاء.
استخدم أدوات الدالة عندما:
- لديك منطق عمل مخصص يحتاج العامل إلى استدعائه (الاستعلام عن قاعدة بيانات، استدعاء واجهة برمجة تطبيقات داخلية، إجراء عملية حسابية)
- تحتاج إلى الأداة لتشغيلها في بيئتك مع الوصول إلى مواردك
- تريد أمان نوع وقت التحويل البرمجي وقابلية الاختبار
أدوات الدالة هي نوع الأداة الأكثر شيوعا والمرونة. معظم العملاء يبدأون هنا.
أدوات MCP (بروتوكول سياق النموذج)
MCP هو معيار مفتوح يحدد كيفية توفير التطبيقات أدوات ل LLMs. بدلا من كتابة منطق الأداة بنفسك، يمكنك الاتصال بخادم MCP الذي يعرض مجموعة من الأدوات عبر بروتوكول قياسي - على غرار كيفية عرض واجهة برمجة تطبيقات REST لنقاط النهاية.
يدعم إطار عمل العامل نوعين:
| النكهة | ما المقصود به | متى يتم استخدامه |
|---|---|---|
| أدوات MCP المستضافة | خوادم MCP المستضافة والمدارة من قبل Microsoft Foundry أو موفرين آخرين | تريد الوصول إلى القدرات الشائعة (على سبيل المثال، البحث في الملفات وتنفيذ التعليمات البرمجية) دون إدارة البنية الأساسية |
| أدوات MCP المحلية | خوادم MCP التي تشغلها بنفسك أو تتصل بها من أي موفر | لديك خادم MCP مخصص أو تابع لجهة خارجية، أو تحتاج إلى أدوات تعمل في بيئتك الخاصة |
استخدم أدوات MCP عندما:
- يوفر خادم MCP الذي تم إنشاؤه مسبقا بالفعل القدرة التي تحتاجها
- تريد إعادة استخدام الأدوات عبر عوامل أو تطبيقات متعددة من خلال خادم مشترك
- أنت تدمج مع خدمة تابعة لجهة خارجية تعرض نقطة نهاية MCP
الأدوات المستضافة من قبل الموفر
يقدم بعض الموفرين أدوات مضمنة تعمل على البنية الأساسية للموفر - لا توجد تعليمات برمجية محلية مطلوبة. يتضمن هذا ما يلي:
| الأداة | ماذا تفعل |
|---|---|
| مترجم شفرة | تنفيذ التعليمات البرمجية في بيئة الاختبار المعزولة على البنية الأساسية للموفر |
| البحث عن الملفات | البحث من خلال الملفات التي تقوم بتحميلها إلى الموفر |
| بحث الويب | البحث في الويب عن معلومات في الوقت الحقيقي |
استخدم الأدوات المستضافة من قبل الموفر عندما:
- تحتاج إلى قدرات مثل تنفيذ التعليمات البرمجية أو البحث على الويب دون إنشاء الأداة أو استضافتها بنفسك
- يقدم الموفر بالفعل إصدارا مدارا يلبي متطلباتك
Note
يختلف توفر الأدوات المستضافة من قبل الموفر حسب الموفر. راجع نظرة عامة على الأدوات لمصفوفة دعم الموفر الكامل.
Note
قد ينفذ بعض موفري LLM أدوات مستضافة على بنيتهم الأساسية أثناء الاستدلال، مثل واجهة برمجة تطبيقات الاستجابات بواسطة OpenAI. فكر في خدمات الاستدلال هذه على أنها خدمات شبه عاملة تجمع بين الاستدلال وتنفيذ الأداة. لا يغير كيفية عمل النموذج الأساسي، ولكنه يعني أن تنفيذ الأداة يمكن أن يحدث كجزء من إنشاء استجابة الخدمة. لا يمكن لهذه الخدمات تنفيذ الأدوات المحلية، والتي يجب تشغيلها على البنية الأساسية الخاصة بك.
اختيار نوع الأداة المناسب
| سؤال | التوصية |
|---|---|
| هل لدي منطق عمل مخصص؟ | أدوات الدالة - كتابة وتسجيل الوظائف الخاصة بك |
| هل هناك خادم MCP يقوم بالفعل بما أحتاج إليه؟ | أدوات MCP — اتصل به بدلا من الإنشاء من البداية، مثل خادم MCP GitHub |
| هل أحتاج إلى تنفيذ التعليمات البرمجية أو البحث في الملفات أو البحث على الويب؟ | الأدوات المستضافة من قبل الموفر — تحقق مما إذا كان الموفر يدعمها |
| هل أحتاج إلى أدوات من فئات متعددة؟ | خلطها - يمكن للوكلاء استخدام أدوات الوظائف وأدوات MCP والأدوات المستضافة من قبل الموفر في وقت واحد |
أوصاف الأدوات مهمة
يحدد النموذج الأدوات بناء على أسمائها ووصفها. يؤدي الوصف الغامض إلى اختيار أداة ضعيفة — قد يطلق النموذج على الأداة الخطأ أو يتخطى أداة يجب استخدامها أو يمرر وسيطات غير صحيحة.
كتابة أوصاف الأداة بنفس الطريقة التي تكتب بها مستند API: قل ما تفعله الأداة، وما تعنيه كل معلمة، وما ترجعه. كلما كان الوصف أكثر وضوحا، كان حكم النموذج أفضل.
Tip
يتم تضمين تعريفات الأدوات (الأسماء والأوصاف ومخططات المعلمات) في المطالبة وتستهلك الرموز المميزة في نافذة السياق. إذا قمت بتسجيل العديد من الأدوات، يمكن أن يكون الحمل كبيرا. قم بتسجيل الأدوات التي يحتاجها العامل فعليا فقط.
الموافقة على الأداة: human-in-the-loop
بعض الإجراءات حساسة — نقل الأموال، وحذف السجلات، وإرسال رسائل البريد الإلكتروني. قد لا ترغب في أن يقوم العامل بتنفيذ هذه الأدوات بشكل مستقل. تتيح لك الموافقة على الأداة طلب تأكيد بشري قبل تنفيذ الأداة.
عندما يتم وضع علامة على أداة على أنها تتطلب الموافقة، يتوقف العامل مؤقتا قبل التنفيذ ويرجع استجابة تشير إلى أن الموافقة مطلوبة. التطبيق الخاص بك مسؤول عن تقديم هذا إلى المستخدم وتمرير قراره مرة أخرى.
غالبا ما يطلق على هذا النمط اسم الإنسان في الحلقة وهو ضروري لبناء عوامل جديرة بالثقة تتعامل مع الإجراءات التبعية.
المزالق الشائعة
| شرك | Guidance |
|---|---|
| أدوات كثيرة جدا | يستهلك كل تعريف أداة الرموز المميزة. تسجيل الأدوات ذات الصلة لغرض العامل فقط. |
| أوصاف غامضة | "هل الاشياء مع البيانات" لن يساعد النموذج. كن محددا: "الاستعلام عن قاعدة بيانات المخزون لتوفر المنتج بواسطة SKU." |
| لا توجد معالجة للأخطاء | يمكن أن تفشل الأدوات (أخطاء الشبكة، إدخال غير صالح). إرجاع رسائل خطأ واضحة حتى يتمكن النموذج من التفكير فيما حدث من خطأ والمحاولة مرة أخرى أو إبلاغ المستخدم. |
| أدوات متساهلة بشكل مفرط | تعد الأداة التي يمكنها "تشغيل أي استعلام SQL" خطرا أمنيا. أدوات النطاق لعمليات محددة ومحددة جيدا. |
| الموافقة المفقودة على الإجراءات الحساسة | إذا كان بإمكان الأداة إجراء تغييرات لا رجعة فيها، أضف موافقة الأداة للحفاظ على الإنسان في الحلقة. |
إشارة خاصة: أداة مترجم التعليمات البرمجية
كما تمت مناقشته في أساسيات LLM، يمكن ل LLMs إجراء أخطاء في العمليات الحسابية الدقيقة والمنطق الرسمي. وذلك لأن LLMs تنشئ رمزا مميزا للإجابات عن طريق الرمز المميز استنادا إلى مطابقة النمط - فهي لا تحسب في الواقع. طلب LLM ضرب رقمين كبيرين لا يؤدي حسابيا؛ إنه يتنبأ بما "تبدو عليه الإجابة" استنادا إلى بيانات التدريب. يعمل هذا بشكل مدهش في كثير من الأحيان، ولكنه يفشل بشكل غير متوقع في حالات الحافة.
يحل مترجم التعليمات البرمجية هذا عن طريق السماح للعامل بكتابة التعليمات البرمجية وتنفيذها في بيئة الاختبار المعزولة. بدلا من تخمين الإجابة، يكتب النموذج نصا Python يحسبه بالضبط، ويشغله، ويستخدم النتيجة التي تم التحقق منها في استجابته.
Note
قد يكتب النموذج نصا مختلفا قليلا في كل مرة يطلب منه حل نفس المشكلة، ولكن يجب أن تكون النتائج متسقة في الغالب .
تحذير
مترجم التعليمات البرمجية ليس بديلا للاستدلال الدقيق من جانب الإنسان. تحقق دائما من عمل العامل وتحقق من النتائج بشكل مستقل عند الضرورة.
امنح وكيلك مترجم التعليمات البرمجية عندما يحتاج إلى:
- إجراء عمليات حسابية دقيقة - النمذجة المالية والتحليل الإحصائي وتحويلات الوحدة - حيث لا يكون "أفضل تخمين" تقريبي مقبولا.
- تحويل البيانات أو تحليلها — تحليل CSVs أو تجميع الصفوف أو إنشاء المخططات أو إعادة تشكيل البيانات المنظمة.
- معالجة الملفات — قراءة المستندات التي تم تحميلها أو استخراج المحتوى أو تحويل التنسيقات أو إنشاء ملفات جديدة.
- التحقق من صحة المنطق الخاص به - اكتب رمز الاختبار للتحقق من مطالبة منطقية قبل تقديمها للمستخدم.
Tip
يمكن أن يكون مترجم التعليمات البرمجية أداة مستضافة من قبل الموفر - يتم تشغيل التعليمات البرمجية على البنية الأساسية للموفر في بيئة الاختبار المعزولة، وليس في بيئتك. وهذا يجعل من الآمن استخدام دون القلق بشأن التعليمات البرمجية التعسفية المنفذة على الخوادم الخاصة بك. راجع مرجع مترجم التعليمات البرمجية للحصول على تفاصيل الإعداد.
الخطوات التالية
بمجرد أن يكون لدى وكيلك أدوات، فإن الخطوة التالية هي التعرف على المهارات - حزم محمولة من الإرشادات والمواد المرجعية والبرامج النصية التي تمنح الوكلاء خبرة في مجال يمكنهم تحميلها عند الطلب.
انتقل إلى أبعد من ذلك:
- نظرة عامة على الأدوات - جميع أنواع الأدوات ومصفوفة دعم الموفر
- أدوات الدالة — مرجع أداة دالة مفصل
- أدوات MCP المستضافة — Microsoft خوادم Foundry MCP أو موفرين آخرين
- أدوات MCP المحلية — خوادم MCP مخصصة
- الموافقة على الأدوات - أداة بشرية في التكرار الحلقي للأدوات
- الخطوة 2: إضافة أدوات — برنامج تعليمي عملي