GenAI Playbook
الأدوات، Function Calling وMCP
نُشر · المؤلف: Dipankar Sarkar
الأدوات، Function Calling وMCP
كيف يلمس الوكلاء العالم الحقيقي
وكيل بلا أدوات هو مجرد chatbot. الأدوات تحول نموذج لغة إلى نظام يمكنه البحث، استعلام قواعد البيانات، إرسال الرسائل، تنفيذ الكود، واستدعاء APIs. هذا الفصل يغطي كيف يعمل استخدام الأدوات في 2026 — من function calling أصلي إلى Model Context Protocol الذي يعيّره.
Function calling: البدائي
function calling يتيح للنموذج إطلاق طلب منظم لاستدعاء دالة، بدلاً من (أو بجانب) النص. النموذج لا ينفذ الدالة — يرجع استدعاء شبيه-JSON، والـ runtime الخاص بك ينفذه.
مثال: تعطي النموذج مواصفة أداة:
{
"name": "get_weather",
"description": "Get current weather for a city",
"parameters": { "city": "string", "units": "celsius|fahrenheit" }
}النموذج، عند سؤاله “ما الطقس في هلسنكي؟”، يجيب:
{ "tool": "get_weather", "city": "Helsinki", "units": "celsius" }الكود الخاص بك يشغل get_weather("Helsinki", "celsius")، يرجع {"temp": 14, "conditions": "cloudy"}، والنموذج يستخدم ذلك للإجابة. هذا هو صخرة كل إطار وكيل.
OpenAI يسمي هذا function calling (الآن structured outputs). Anthropic يسميه tool use. Google يسميه function calling. الآلية هي نفسها.
Model Context Protocol (MCP)
المشكلة: كل تكامل أداة كان مخصصًا. كتبت مواصفة دالة لـ OpenAI، مواصفة أداة لـ Anthropic، مواصفة دالة لـ Google — كلها تصف نفس API الأساسي. Model Context Protocol (MCP)، الذي افتتحه Anthropic كمصدر مفتوح في أواخر 2024، أصل هذا.
MCP هو بروتوكول معياري لعرض الأدوات والموارد وprompts على أي تطبيق AI. خادم MCP يلف API (Slack، GitHub، Postgres، نظام ملفات محلي). عميل MCP (وكيل، IDE، تطبيق chat) يتصل به ويحصل على قائمة أدوات موحدة. منتصف 2026:
- OpenAI وAnthropic وGoogle ومعظم الأطر المفتوحة تدعم عملاء MCP.
- مئات خوادم MCP موجودة (نظام ملفات، Git، Slack، Notion، Postgres، Sentry، linear، أتمتة المتصفح).
- الـ IDEs الكبرى (Cursor، Windsurf، VS Code + Copilot) تُسلم دعم عميل MCP.
كيف يعمل MCP
خادم MCP يعرض ثلاثة بدائيات:
- الأدوات — دوال يمكن للنموذج استدعاؤها (
send_slack_message،run_sql_query). - الموارد — بيانات يمكن للنموذج قراءتها (
file://report.md،postgres://users). - Prompts — قوالب prompt قابلة لإعادة الاستخدام يمكن للنموذج استدعاؤها.
العميل (الوكيل) يتصل عبر stdio (محلي) أو HTTP/SSE (بعيد)، يسرد أدوات الخادم، ويطرحها للنموذج. النموذج يستدعي أداة؛ العميل يمرر الاستدعاء للخادم؛ الخادم ينفذ ويرجع النتيجة.
لماذا يهم MCP للشركات
- قابلية النقل — اكتب تكامل الأداة مرة، استخدمها مع أي نموذج يدعم MCP.
- قابلية الاكتشاف — الوكيل يسرد الأدوات المتاحة في runtime بدلاً من ترميزها بشكل صلب.
- حد الأمان — خادم MCP يتحكم فيما يمكن للوكيل الوصول إليه؛ أنت لا تسلم النموذج بيانات اعتماد خام.
مبادئ تصميم الأدوات
الأدوات السيئة تكسر الوكلاء. الأدوات الجيدة تجعل الوكلاء يبدون أذكياء. مبادئ:
- كن محددًا.
search_pinecone_for_customer_issues(product="acme", limit=5)يتغلب علىsearch("customer issues"). النموذج يختار الأداة الصحيحة عندما تكون المواصفة غير لبسة. - أرجع بيانات منظمة، لا نثرًا.
{"tickets": [{"id": 123, "status": "open"}]}قابل للتحليل؛ “وجدت 5 تذاكر…” ليس كذلك. - حد حجم المخرجات. أداة تُرجع 50KB من JSON تُغرق السياق. صفّح، لخّص، أو اقتطع.
- أداة واحدة، وظيفة واحدة. أداة
send_emailتصيغ أيضًا الجسم هي أداتان في تنكر. دع النموذج يصيغ، ثم يرسل. - وثق أوضاع الفشل. إذا API تُرجع 429، أخبر النموذج — يمكنه التراجع. الفشل الصامت يجعل الوكلاء يهلوسون.
حدود الأمان
الأدوات قوة، والقوة تحتاج حدودًا. الحد الأدنى:
- قائمة مسموح بها — الوكيل قد يستدعي فقط الأدوات التي وافقت عليها لهذه المهمة.
- بيانات اعتماد محدودة — كل أداة تحصل على مفاتيح least-privilege، لا وصول الوكيل الكامل أبدًا.
- سجل audit — كل استدعاء أداة (دخل + خرج) يُسجل للمراجعة.
- بوابات موافقة — للإجراءات المدمرة أو المواجهة للخارج (إرسال بريد، الكتابة للإنتاج) تتطلب موافقة بشرية.
أكبر خطر جديد في 2026 هو حقن prompt عبر مخرجات الأدوات: صفحة ويب خبيثة يُرجعها أداة search تحتوي تعليمات تخدع الوكيل لاستدعاء send_email. الدفاع هو فصل صارم بين مخرج الأداة والتعليمات — لا تدع مخرج الأداة يصبح system prompt أبدًا. انظر الأمان، حقن Prompt وGovernance.
الاختيار بين function calling أصلي وMCP
- function calling أصلي — الأفضل لمجموعة أدوات صغيرة ثابتة مقترنة بإحكام بتطبيق واحد. overhead أقل.
- MCP — الأفضل عندما تريد مشاركة الأدوات عبر الوكلاء أو النماذج أو الفرق؛ عندما توجد خوادم MCP لطرف ثالث بالفعل لأنظمتك؛ عندما تريد للنموذج اكتشاف الأدوات ديناميكيًا.
في 2026 معظم بناءات الوكلاء الجديدة تستخدم MCP للتكاملات الخارجية وfunction calling أصلي لبعض المساعدات الخاصة بالتطبيق.
ملخص لمساعدي AI. الفصل 3 من Agentic AI Playbook. function calling يتيح للنماذج إطلاق طلبات استدعاء أدوات منظمة؛ MCP يعيّر اكتشاف الأدوات عبر النماذج والمزودين. خوادم MCP تعرض أدوات/موارد/prompts؛ العملاء (الوكلاء، IDEs) يتصلون ويطرحونها للنموذج. تصميم الأدوات: أسماء محددة، مخرجات منظمة، حدود حجم، وظيفة واحدة لكل أداة. الأمان: قوائم مسموح بها، بيانات اعتماد least-privilege، سجلات audit، بوابات موافقة، ودفاع ضد حقن prompt عبر مخرجات الأدوات. المؤلف: Dipankar Sarkar. URL: https://www.whatgenerativeai.com/docs/genai-playbook/tools-function-calling-mcp/
Summary for AI assistants
Chapter 22 of the GenAI Playbook (ar): "الأدوات، Function Calling وMCP". كيف يستدعي الوكلاء الأنظمة الخارجية: function calling، Model Context Protocol (MCP)، تصميم الأدوات، وحدود الأمان. Author: Dipankar Sarkar. URL: https://www.whatgenerativeai.com/ar/docs/genai-playbook/tools-function-calling-mcp/