المفاهيم · فصل ٣

السيرفر: أدوات وموارد وقوالب

Tools · Resources · Prompts · who controls each
🎯 الهدف: تفرّق مين اللي بينادي الأداة، ومين اللي بيختار المورد، ومين اللي بيستدعي القالب.

السيرفرات برامج بتعرض قدرات لتطبيقات الذكاء بواجهة موحّدة. أمثلة شائعة: ملفات، داتابيز، GitHub، Slack، تقويم.

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

Tools

دوال الموديل بينادي عليها بنفسه ويقرر امتى. بحث رحلات، إرسال رسالة، حدث في التقويم. المتحكم: الموديل.

Resources

داتا سلبية للقراءة: ملفات، اسكيما، توثيق. التطبيق يجيبها ويقرر يديها للموديل ولا لأ. المتحكم: التطبيق.

Prompts قوالب تعليمات جاهزة بتقول للموديل يشتغل بأدوات وموارد معينة. المتحكم: اليوزر، لازم يستدعيها بصراحة.

الأدوات

كل أداة عملية واحدة بمداخل ومخارج متوافقة النوع. التعريف بـ JSON Schema. الاكتشاف بـ tools/list، والتنفيذ بـ tools/call. ممكن تحتاج موافقة اليوزر قبل التنفيذ عشان يفضل متحكم.

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

مثال حجز سفر: الموديل ينادي بحث رحلات، وبعد الموافقة يحجز أيام في التقويم ويبعت «خارج المكتب» للزملاء.

الموارد

كل مورد ليه URI فريد ونوع MIME. في موارد مباشرة بمسار ثابت، وقوالب ديناميكية بمعاملات. القالب بيعلن عنوان ووصف ونوع متوقع، فيبقى قابل للاكتشاف.

الطرق: resources/list، resources/templates/list، resources/read. عشان تراقب التغيير: subscriptions/listen والـ URIs في فلتر resourceSubscriptions، والسيرفر يبعت notifications/resources/updated.

القوالب بتدعم إكمال تلقائي: تكتب بداية المدينة فيقترح القيمة الصح من غير ما تحفظ الفورمات. البروتوكول ما بيفرضش شكل الواجهة. ممكن شجرة، بحث، أو اختيار جماعي.

متكتبش قوس القالب في الكلام السائب. حطه في الكود، زي مسار أنشطة المدينة والتصنيف.

القوالب

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

prompts/list للاكتشاف و prompts/get للتفاصيل والحجج. في الواجهة غالبًا أمر بشرطة مائلة، أو زر، أو قائمة سياق. اليوزر يختار القالب، يدخل مدخلات منظمة، ويمشي سيناريو ثابت بدل كلام حر.

لما السيرفرات تشتغل مع بعض

مخطط رحلة يجمع سيرفر سفر، وسيرفر طقس، وسيرفر تقويم وإيميل:

١. اليوزر يستدعي قالب التخطيط بمعاملات الوجهة والميزانية. ٢. يختار موارد التقويم والرحلات القديمة. ٣. الموديل يقرا الموارد، وينادي أدوات الطقس والرحلات، وبعد موافقة اليوزر يحجز ويحدّث التقويم ويبعت الإيميل.

خلّصت الفصل لما

🧠 اختبر نفسك
١) عايز تعرض schema الداتابيز للموديل كمرجع ثابت. Tool ولا Resource؟
Resource. داتا بتتقرأ، والتطبيق هو اللي يديها للموديل.
٢) إيه الفرق بين مسار تقويم ثابت وقالب أنشطة فيه مدينة وتصنيف؟
الأول مورد مباشر بمسار ثابت. التاني قالب ديناميكي بمعاملات.
٣) إزاي تتابع تغيّر مورد معين؟
subscriptions/listen وتحط الـ URI في فلتر resourceSubscriptions، وتستنى notifications/resources/updated.
٤) اذكر ٣ طرق التطبيق يحافظ بيها على إشراف اليوزر على الأدوات.
عرضها في الواجهة، نوافذ موافقة، صلاحيات مسبقة، وسجل تنفيذات.