تكامل الأدوات واستدعاء الوظائف

صيغة استدعاء الوظائف عبر المنصات

5 دقيقة للقراءة

كل منصة ذكاء اصطناعي رئيسية لديها صيغة استدعاء وظائف خاصة بها. فهم هذه الأنماط يتيح لك بناء تكاملات أدوات قابلة للنقل والتحسين لنقاط قوة كل منصة.

استدعاء وظائف Claude (Anthropic)

تنسيق تعريف الأداة

{
  "tools": [
    {
      "name": "get_weather",
      "description": "Get current weather for a location",
      "input_schema": {
        "type": "object",
        "properties": {
          "location": {
            "type": "string",
            "description": "City name or coordinates"
          },
          "units": {
            "type": "string",
            "enum": ["celsius", "fahrenheit"]
          }
        },
        "required": ["location"]
      }
    }
  ]
}

استجابة استخدام الأداة (Claude Opus 4.6/Sonnet 4.6)

{
  "content": [
    {
      "type": "tool_use",
      "id": "toolu_01ABC123",
      "name": "get_weather",
      "input": {
        "location": "San Francisco",
        "units": "fahrenheit"
      }
    }
  ],
  "stop_reason": "tool_use"
}

تنسيق نتيجة الأداة

{
  "role": "user",
  "content": [
    {
      "type": "tool_result",
      "tool_use_id": "toolu_01ABC123",
      "content": "72°F, sunny, humidity 45%"
    }
  ]
}

استدعاء وظائف OpenAI (GPT-5.4)

تنسيق تعريف الأداة

{
  "tools": [
    {
      "type": "function",
      "function": {
        "name": "get_weather",
        "description": "Get current weather for a location",
        "parameters": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "City name"
            }
          },
          "required": ["location"]
        }
      }
    }
  ],
  "tool_choice": "auto"
}

استجابة استدعاء الأداة

{
  "choices": [
    {
      "message": {
        "tool_calls": [
          {
            "id": "call_abc123",
            "type": "function",
            "function": {
              "name": "get_weather",
              "arguments": "{\"location\": \"Tokyo\"}"
            }
          }
        ]
      },
      "finish_reason": "tool_calls"
    }
  ]
}

استدعاء وظائف Google (Gemini 3.1)

تنسيق تعريف الأداة

{
  "tools": [
    {
      "function_declarations": [
        {
          "name": "get_weather",
          "description": "Returns weather for location",
          "parameters": {
            "type": "object",
            "properties": {
              "location": {"type": "string"}
            },
            "required": ["location"]
          }
        }
      ]
    }
  ]
}

جدول المقارنة

الميزةClaudeOpenAIGemini
المخططinput_schemaparametersparameters
معرف الاستدعاءtool_use_idtool_call_idضمني
دور النتيجةuser (tool_result)toolfunction_response
استدعاءات متوازيةنعمنعمنعم
البثنعمنعمنعم

MCP (بروتوكول سياق النموذج)

Claude Code يستخدم MCP لتوسيع الأدوات:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem"],
      "env": {
        "ALLOWED_PATHS": "/home/user/projects"
      }
    }
  }
}

أفضل الممارسات للأدوات عبر المنصات

1. استخدم معيار JSON Schema

{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "minLength": 1,
      "maxLength": 1000
    }
  },
  "required": ["query"],
  "additionalProperties": false
}

2. توحيد معالجة الاستجابة

def handle_tool_response(platform, response):
    if platform == "claude":
        return response["content"][0]["input"]
    elif platform == "openai":
        return json.loads(response["tool_calls"][0]["function"]["arguments"])
    elif platform == "gemini":
        return response["candidates"][0]["content"]["parts"][0]["functionCall"]["args"]

أوضاع استدعاء الأدوات

استراتيجيات استدعاء مختلفة:

الوضعالوصفحالة الاستخدام
autoالنموذج يقرراستخدام عام
requiredيجب استدعاء الأداةاسترجاع البيانات
noneبدون أدواتتوليد نقي
specificإجبار أداة محددةتدفقات متحكم بها

رؤية رئيسية: بينما تختلف الصيغة عبر المنصات، المفاهيم الأساسية متطابقة: عرّف الأدوات بـ JSON Schema، استقبل استدعاءات منظمة، أعد نتائج منسقة. بناء طبقات التجريد يتيح لك كتابة الأدوات مرة واستخدامها في كل مكان.

بعد ذلك، سنستكشف تكامل MCP وأنماط تنسيق الأدوات. :::

مراجعة سريعة: كيف تجد هذا الدرس؟

اختبار

الوحدة 4: تكامل الأدوات واستدعاء الوظائف

خذ الاختبار
نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.