Tool Calling چیست؟ راهنمای کامل فراخوانی ابزار در مدل‌های زبانی (LLM) و AI Agentها

زمان مطالعه: 10 دقیقه
Tool Calling چیست؟ راهنمای کامل فراخوانی ابزار در مدل‌های زبانی (LLM) و AI Agentها

مدل‌های زبانی بزرگ یا Large Language Model (LLM) مانند ChatGPT، Claude و Gemini توانایی شگفت‌انگیزی در درک زبان طبیعی و تولید پاسخ دارند؛ اما با این حال، یک محدودیت مهم دارند: آن‌ها به‌صورت پیش‌فرض فقط بر اساس اطلاعاتی که در زمان آموزش یاد گرفته‌اند پاسخ می‌دهند. اینجاست که مفهوم Tool Calling مطرح می‌شود؛ راهکاری که به عنوان یکی از پایه‌های اصلی توسعه AI Agentها و نسل جدید سیستم‌های هوش مصنوعی مولد به حساب می‌آید.

در این مقاله، به بررسی جامع و کامل Tool Calling می‌پردازیم تا بررسی کنیم که چگونه این قابلیت، چت‌بات‌های ساده را به دستیاران هوشمند و خودمختار تبدیل می‌کند.

Tool Calling چیست؟

به زبان ساده، Tool Calling به مدل‌های زبانی این امکان را می‌دهد که در صورت نیاز، به ابزارهای خارجی مانند ماشین‌حساب، موتور جست‌وجو، پایگاه‌های داده، APIها یا سرویس‌های دیگر متصل شود و اطلاعات دریافت‌شده را در پاسخ نهایی خود به کاربر ارائه کند. برای مثال، اگر از یک چت‌بات هوشمند بپرسید:

«قیمت امروز دلار چقدر است؟»

یک مدل زبانی معمولی نمی‌تواند پاسخ دقیقی بدهد، زیرا قیمت ارز دائماً تغییر می‌کند. از طرفی، مدلی که از Tool Calling در هوش مصنوعی پشتیبانی می‌کند، تشخیص می‌دهد که برای پاسخ به این پرسش به منابع خارجی نیاز دارد و با فراخوانی ابزارهای  قیمت‌دهی ارز، پاسخی به‌روز و دقیق در اختیار کاربر قرار می‌دهد.

بیشتر بخوانید: تفاوت RAG و Fine-Tuning؛ کدام روش برای شخصی‌سازی مدل‌های زبانی بهتر است؟

ابزارهایی که توسط Tool Calling مورد استفاده قرار می‌گیرند، می‌توانند شامل موارد مختلفی باشند؛ از یک API ساده برای دریافت اطلاعات آب‌وهوا گرفته تا پایگاه داده‌های سازمانی، موتورهای جستجو، سیستم‌های پرداخت، نرم‌افزارهای مدیریت مشتری (CRM)، ابزارهای تحلیل داده و حتی مدل‌های هوش مصنوعی دیگر.

به همین دلیل، Tool Calling را می‌توان یک لایه ارتباطی میان مدل‌های زبانی بزرگ (LLM) و دنیای واقعی دانست؛ لایه‌ای که باعث می‌شود هوش مصنوعی علاوه بر تولید متن، بتواند اطلاعات جمع‌آوری کند، عملیات انجام دهد و با سرویس‌های مختلف تعامل داشته باشد. به همین جهت، این قابلیت را یکی از پایه‌های اصلی توسعه AI Agentها به حساب می‌آورند. 

Tool Calling چیست؟

 چگونه کار می‌کند؟

فرایند Tool Calling در نگاه اول ممکن است پیچیده به نظر برسد، اما در عمل از چند مرحله مشخص تشکیل شده است. زمانی که کاربر درخواستی را مطرح می‌کند، مدل زبانی ابتدا بررسی می‌کند که آیا می‌تواند تنها با تکیه‌ بر دانش خود، پاسخ مناسبی ارائه دهد یا برای تکمیل پاسخ به اطلاعات یا قابلیت‌های خارجی نیاز دارد. اگر مدل تشخیص دهد که پاسخ در دانش داخلی آن وجود ندارد، یا انجام درخواست مستلزم اجرای یک عملیات است، فرایند Tool Calling آغاز می‌شود. در این بخش با نحوه پیاده‌سازی Tool Calling بیشتر آشنا می‌شویم.

1. تحلیل درخواست کاربر

در اولین مرحله، مدل زبانی پیام کاربر را از نظر معنایی تحلیل می‌کند تا هدف اصلی او را تشخیص دهد. برای مثال، اگر کاربر بپرسد:

«وضعیت آب‌وهوای تهران در حال حاضر چگونه است؟»

مدل متوجه می‌شود که این سؤال به اطلاعات لحظه‌ای نیاز دارد؛ اطلاعاتی که در داده‌های آموزشی آن وجود ندارد و دائماً تغییر می‌کند.

2. انتخاب ابزار مناسب

پس از تشخیص نیاز به استفاده از ابزار، مدل از میان ابزارهای در دسترس، مناسب‌ترین گزینه را انتخاب می‌کند. هر ابزار معمولاً دارای اطلاعاتی مانند موارد زیر است:

  • نام ابزار (Tool Name)
  • توضیح عملکرد
  •  پارامترهای ورودی
  •  نوع خروجی
  • قوانین استفاده

برای مثال، یک مدل هوش مصنوعی ممکن است به ابزارهای مختلفی مثل جستجوگر وب، بررسی آب‌وهوا و ابزار ارسال ایمیل مجهز باشد. در این مرحله، فرایند Tool Calling مشخص می‌کند که کدام یک از این ابزارها نیاز به فراخوانی دارند.

3. تولید پارامترهای مورد نیاز

پس از انتخاب ابزار، مدل باید اطلاعات لازم برای اجرای آن را استخراج کند. فرض کنید ابزار دریافت وضعیت آب‌وهوا به دو پارامتر نیاز دارد:

  • شهر
  • تاریخ

اگر کاربر بگوید:

«هوای شیراز فردا چطور است؟»

مدل پارامترهای زیر را استخراج می‌کند:

{

  “city”: “Shiraz”,

  “date”: “tomorrow”

}

در واقع، مدل زبان طبیعی انسان را به یک درخواست ساختاریافته تبدیل می‌کند؛ درخواستی که ابزار بتواند آن را پردازش کند. 

4. فراخوانی ابزار یا API 

حال باید به این پرسش پاسخ دهیم که Tool Calling چگونه به API متصل می‌شود. در این مرحله، مدل درخواست تولیدشده را به سیستم اجراکننده ارسال می‌کند و سیستم هم متناسب با درخواست، به فراخوانی ابزار مورد نظر می‌پردازد.

برای مثال، این ابزار می‌تواند یکی از موارد زیر باشد:

  • API تحت وب
  • تابع برنامه‌نویسی در نرم‌افزار
  • پایگاه داده سازمانی
  • یک مدل هوش مصنوعی دیگر

حال اگر این ابزار یک سرویس قیمت‌دهی طلا و ارز باشد، درخواست از طریق پروتکل HTTP به API ارسال شده و اطلاعات موردنیاز دریافت می‌شود.

5. پردازش پاسخ ابزار

پس از اجرای ابزار، نتیجه معمولاً در قالب داده‌های ساختاریافته مانند JSON به مدل بازگردانده می‌شود. به‌عنوان نمونه، پاسخ یک API آب‌وهوا ممکن است شامل اطلاعاتی مانند دما، رطوبت، سرعت باد و احتمال بارندگی باشد. مدل زبانی این داده‌ها را تحلیل کرده تا پاسخ نهایی برای کاربر خوانا و قابل فهم باشد.

6. تولید پاسخ نهایی

در آخرین مرحله، مدل داده‌های دریافتی را با توانایی پردازش زبان طبیعی خود ترکیب کرده و پاسخی روان و قابل‌درک تولید می‌کند.

برای مثال، اگر API چنین داده‌ای برگرداند:

دما: 34 درجه

رطوبت: 25 درصد

احتمال بارندگی: 5 درصد

مدل ممکن است پاسخ زیر را ارائه دهد:

«دمای فعلی تهران حدود 34 درجه سانتی‌گراد است، رطوبت هوا 25 درصد است و احتمال بارندگی بسیار پایین پیش‌بینی می‌شود.»

در این مثال، مدل خودش اطلاعات آب‌وهوا را نمی‌دانست، بلکه با استفاده از Tool Calling آن‌ها را از یک سرویس خارجی دریافت کرد و سپس به شکلی طبیعی و قابل فهم در اختیار کاربر قرار داد. 

این فرایند تنها به دریافت اطلاعات محدود نمی‌شود. اگر ابزار قابلیت انجام عملیات داشته باشد، مدل می‌تواند اقداماتی مانند ارسال ایمیل، رزرو جلسه، ثبت سفارش، اجرای کد، جست‌وجوی اسناد یا به‌روزرسانی اطلاعات در یک پایگاه داده را نیز از طریق Tool Calling انجام دهد.

نحوه عملکرد Tool Calling

Tool Calling چه کاربردهایی دارد؟ 

یکی از دلایل محبوبیت Tool Calling در مدل‌های زبانی بزرگ (LLM)، گستردگی کاربردهای آن است. این قابلیت باعث می‌شود مدل‌های هوش مصنوعی از یک سیستم صرفاً پاسخ‌گو به یک دستیار هوشمند تبدیل شوند که می‌تواند اطلاعات را بازیابی کند، با نرم‌افزارهای مختلف تعامل داشته باشد و حتی وظایف پیچیده را به‌صورت خودکار انجام دهد.

در ادامه، مهم‌ترین کاربردهای این فناوری را بررسی می‌کنیم. 

  • دسترسی به اطلاعات لحظه‌ای

یکی از رایج‌ترین کاربردهای Tool Calling، دسترسی به اطلاعاتی است که دائماً در حال تغییر هستند و در داده‌های آموزشی مدل وجود ندارند. برای مثال، یک مدل زبانی می‌تواند از طریق APIهای مختلف، اطلاعاتی مانند موارد زیر را دریافت کند:

  • قیمت لحظه‌ای ارز و طلا
  • وضعیت آب‌وهوا
  • اخبار روز
  • قیمت سهام
  • نتایج مسابقات ورزشی
  • وضعیت ترافیک

در چنین شرایطی، مدل به‌جای حدس زدن پاسخ، اطلاعات را مستقیماً از منبع معتبر دریافت کرده و در اختیار کاربر قرار می‌دهد. 

  • دسترسی به پایگاه داده سازمانی 

بسیاری از شرکت‌ها اطلاعات مهم خود را در پایگاه‌های داده داخلی نگهداری می‌کنند؛ اطلاعاتی که مدل‌های زبانی به‌صورت پیش‌فرض به آن‌ها دسترسی ندارند. از همین رو، Tool Calling این امکان را فراهم می‌کند که LLM به سیستم‌های CRM، ERP، سیستم‌های مالی، انبارداری و منابع انسانی متصل شود. برای مثال، مدیر فروش می‌تواند از دستیار هوشمند بپرسد: «مجموع فروش استان اصفهان در سه ماه گذشته چقدر بوده است؟». در این حالت، مدل اطلاعات را از پایگاه داده سازمان دریافت کرده و یک گزارش جامع به مدیر ارائه می‌کند. 

  • اجرای عملیات و اتوماسیون فرایندها

تنها قابلیت Tool Calling دریافت اطلاعات نیست. این راهکار می‌تواند عملیات مختلف را اجرا کند و از قابلیت سایر ابزارها نهایت بهره را ببرد. برای مثال، یک مدل مجهز به Tool Calling می‌تواند ایمیل ارسال کند، سفارش جدید بگیرد و جلسه‌ای را در تقویم به ثبت برساند. 

  • اجرای کد و انجام محاسبات

یکی دیگر از کاربردهای مهم Tool Calling، اتصال مدل‌های زبانی به محیط‌های اجرای کد مانند Python است. با استفاده از این قابلیت، مدل قادر است محاسبات پیچیده انجام دهد و داده‌های آماری را پردازش کند.

  • جست‌وجوی هوشمند در اسناد

در بسیاری از سازمان‌ها، حجم زیادی از اطلاعات در قالب فایل‌های PDF، Word، قراردادها یا مستندات داخلی ذخیره شده است. با استفاده از Tool Calling، مدل می‌تواند این اسناد را جست‌وجو کرده و پاسخ سؤالات کاربران را از میان هزاران صفحه اطلاعات استخراج کند. کاربردهای Tool Calling تنها به موارد بالا خلاصه نمی‌شود. امروزه از این مفهوم به‌طور گسترده‌ای برای ارتباط دستگاه‌های هوشمند و کنترل ابزارهای IoT استفاده می‌شود و توانسته امکان همکاری مدل با سایر مدل‌های زبانی را امکان‌پذیر کند. 

Tool Calling از چه ابزارهایی پشتیبانی می‌کند؟

یکی از مهم‌ترین ویژگی‌های Tool Calling، انعطاف‌پذیری بالای آن است. برخلاف تصور بسیاری از افراد، Tool Calling به یک ابزار یا سرویس خاص محدود نمی‌شود و تقریباً می‌تواند با هر سیستمی که یک API یا تابع قابل فراخوانی داشته باشد، ارتباط برقرار کند. به همین دلیل، توسعه‌دهندگان می‌توانند متناسب با نیاز پروژه، ابزارهای مختلفی را در اختیار مدل زبانی قرار دهند تا در زمان مناسب از آن‌ها استفاده کند. در ادامه، مهم‌ترین ابزارهایی که معمولاً در معماری Tool Calling مورد استفاده قرار می‌گیرند را بررسی می‌کنیم.

  •  APIها و وب‌سرویس‌ها

رایج‌ترین کاربرد Tool Calling، اتصال مدل‌های زبانی به APIها است. APIها امکان تبادل اطلاعات میان نرم‌افزارهای مختلف را فراهم می‌کنند و به مدل اجازه می‌دهند به داده‌های به‌روز یا قابلیت‌های سایر سرویس‌ها دسترسی داشته باشد.

  •  پایگاه‌های داده (Database)

بسیاری از سازمان‌ها اطلاعات خود را در پایگاه‌های داده ذخیره می‌کنند. Tool Calling این امکان را فراهم می‌کند که مدل زبانی بتواند به این داده‌ها دسترسی داشته باشد و پاسخ‌های خود را بر اساس اطلاعات واقعی سازمان تولید کند. برای مثال، مدل می‌تواند به پایگاه‌های داده‌ای مانند موارد زیر متصل شود:

  • PostgreSQL
  • MySQL
  • SQL Server
  • Oracle Database
  • MongoDB
  • موتورهای جست‌وجو

اتصال به موتورهای جستجو، یکی از مهم‌ترین قابلیت‌هایی است که Tool Calling در اختیار مدل‌های هوش مصنوعی قرار می‌دهد. به واسطه این موتورها، مدل می‌تواند به داده‌های وسیع دنیای اینترنت دسترسی داشته باشد و پا را از داده‌های آموزشی محدود خود فراتر بگذارد.

  •  ابزارهای اتوماسیون و بهره‌وری

امروزه بسیاری از AI Agentها از طریق Tool Calling به ابزارهای بهره‌وری و اتوماسیون متصل می‌شوند تا وظایف کاربران را به‌صورت خودکار انجام دهند. برای مثال، مدل می‌تواند با سرویس‌هایی مانند:

  • Google Calendar
  • Microsoft Outlook
  • Gmail
  • Slack
  • Microsoft Teams
  • Zapier
  • Notion

ارتباط برقرار کند و اقداماتی مانند ایجاد جلسه، ارسال ایمیل، ثبت وظیفه، ارسال پیام یا اجرای گردش‌ کارهای خودکار را انجام دهد.

در مجموع، Tool Calling برای اتصال مدل‌های هوش مصنوعی به ابزارهای خارجی طراحی شده است و تقریباً هیچ محدودیتی برای نوع ابزارهای قابل استفاده وجود ندارد. هر سیستمی که امکان فراخوانی از طریق API، تابع یا رابط استاندارد را داشته باشد، می‌تواند به‌عنوان یک ابزار در اختیار مدل قرار گیرد.

کدام مدل‌های هوش مصنوعی از Tool Calling پشتیبانی می‌کنند؟

امروزه تقریباً تمام مدل‌های زبانی پیشرفته از قابلیت Tool Calling یا Function Calling پشتیبانی می‌کنند. البته نحوه پیاده‌سازی این قابلیت در هر مدل متفاوت است؛ برخی تنها امکان فراخوانی یک تابع را دارند، در حالی که برخی دیگر قادرند چندین ابزار را به‌صورت هم‌زمان مدیریت کرده و برای انجام یک وظیفه پیچیده، میان آن‌ها تصمیم‌گیری کنند.

در ادامه، به مهم‌ترین مدل‌هایی که از Tool Calling پشتیبانی می‌کنند نگاهی می‌اندازیم.

  • Tool Calling در GPT

مدل‌های شرکت OpenAI از جمله GPT-4، GPT-4.1، GPT-4o و GPT-5 از قابلیت Tool Calling پشتیبانی می‌کنند و این ویژگی یکی از مهم‌ترین امکانات آن‌ها برای توسعه دستیارهای هوشمند و AI Agentها محسوب می‌شود. در این مدل‌ها، توسعه‌دهنده ابزارهای موردنظر خود را به همراه نام، توضیحات و پارامترهای ورودی تعریف می‌کند. سپس مدل در زمان مکالمه تشخیص می‌دهد که آیا پاسخ دادن به درخواست کاربر نیازمند استفاده از یکی از این ابزارها است یا خیر.

 در صورت نیاز، مدل پارامترهای لازم را تولید کرده و درخواست فراخوانی ابزار را ایجاد می‌کند. این قابلیت باعث شده است Tool Calling در ChatGPT برای کاربردهایی مانند اتصال به APIها، جست‌وجوی اطلاعات، اجرای کد، تحلیل داده و تعامل با سرویس‌های مختلف به‌طور گسترده مورد استفاده قرار گیرد.

  • Tool Calling در Claude

مدل‌های Claude که توسط شرکت Anthropic توسعه یافته‌اند هم از جمله مدل‌هایی هستند که از قابلیت Tool Calling پشتیبانی می‌کنند. یکی از ویژگی‌های Claude، توانایی مناسب آن در مدیریت مکالمات طولانی و انتخاب ابزار متناسب با زمینه گفتگو است؛ قابلیتی که باعث شده این مدل برای توسعه Agentهای سازمانی و سامانه‌های اتوماسیون بسیار مورد توجه قرار گیرد.

  •  Tool Calling در Gemini

از دیگر مدل‌هایی که به قابلیت Tool Calling و Function Calling مجهز هستند می‌‌توان به Gemini اشاره کرد. Gemini می‌تواند با سرویس‌های مختلف اکوسیستم گوگل مانند Google Search، Google Maps، Gmail و Google Calendar تعامل داشته باشد و همچنین به APIهای اختصاصی توسعه‌دهندگان متصل شود.

  •  Meta Llama

مدل‌های Llama شرکت Meta نیز در نسخه‌های جدید خود از قابلیت Tool Calling پشتیبانی می‌کنند. از آنجا که Llama یک مدل متن‌باز محسوب می‌شود، بسیاری از توسعه‌دهندگان آن را در کنار فریم‌ورک‌هایی مانند LangChain یا LlamaIndex به کار می‌گیرند تا Agentهای سفارشی ایجاد کنند.

  • Mistral

مدل‌های Mistral نیز قابلیت Function Calling و Tool Calling را در دل خود جای داده‌اند و به توسعه‌دهندگان اجازه می‌دهند مدل را به ابزارهای خارجی متصل کنند. به دلیل متن‌باز بودن بسیاری از مدل‌های Mistral، این خانواده از مدل‌ها گزینه مناسبی برای توسعه سامانه‌های سازمانی و پروژه‌هایی هستند که نیاز به استقرار در زیرساخت داخلی دارند.

تفاوت Tool Calling و Function Calling

اگر هنگام مطالعه مستندات مدل‌های مختلف با اصطلاح Function Calling مواجه شدید، تعجب نکنید. بسیاری از شرکت‌ها هنوز از این نام استفاده می‌کنند، اما در سال‌های اخیر اصطلاح Tool Calling به‌تدریج رایج‌تر شده است.

دلیل این تغییر آن است که مدل‌های هوش مصنوعی دیگر تنها یک «تابع» را فراخوانی نمی‌کنند، بلکه می‌توانند با مجموعه‌ای از ابزارها مانند APIها، موتورهای جست‌وجو، پایگاه‌های داده، سرویس‌های ابری، محیط‌های اجرای کد و حتی سایر مدل‌های هوش مصنوعی تعامل داشته باشند. بنابراین، واژه Tool Calling دامنه گسترده‌تری را پوشش می‌دهد و توصیف دقیق‌تری از قابلیت‌های مدل‌های مدرن ارائه می‌کند.

Tool Calling در AI Agentها چگونه استفاده می‌شود؟

اگر Tool Calling را یکی از مهم‌ترین قابلیت‌های مدل‌های زبانی بدانیم، AI Agentها را می‌توان مهم‌ترین کاربرد عملی این قابلیت دانست. در واقع  تمام Agentهای هوشمند برای انجام وظایف خود به Tool Calling متکی هستند. بدون این قابلیت، یک AI Agent تنها می‌تواند متن تولید کند، اما قادر نخواهد بود اقدامی در دنیای واقعی انجام دهد.

به بیان ساده، AI Agent یک سیستم هوشمند است که علاوه بر درک درخواست کاربر، می‌تواند تصمیم بگیرد، برنامه‌ریزی کند، از ابزارهای مختلف استفاده کند و در نهایت یک یا چند وظیفه را به‌صورت خودکار به پایان برساند. در این میان، Tool Calling نقش پل ارتباطی میان Agent و ابزارهای خارجی را ایفا می‌کند.

برای درک بهتر، فرض کنید به یک AI Agent بگویید:

  • «برای فردا ساعت 10 صبح یک جلسه با تیم فروش تنظیم کن و دعوت‌نامه را برای اعضا ایمیل کن.»

برای انجام این درخواست، Agent تنها به توانایی تولید متن نیاز ندارد، بلکه باید چندین عملیات مختلف را پشت سر هم انجام دهد. ابتدا درخواست کاربر را تحلیل می‌کند و متوجه می‌شود که باید یک رویداد در تقویم ایجاد شود و سپس یک ایمیل برای افراد مشخص ارسال شود. در ادامه، از طریق Tool Calling به سرویس تقویم متصل می‌شود، جلسه را ایجاد می‌کند، سپس ابزار ارسال ایمیل را فراخوانی کرده و دعوت‌نامه را برای مخاطبان ارسال می‌کند. در پایان نیز نتیجه عملیات را به کاربر اعلام می‌کند.

یکی دیگر از قابلیت‌های مهم AI Agentها، برنامه‌ریزی (Planning) و تصمیم‌گیری (Reasoning) است. برخلاف چت‌بات‌های معمولی که تنها به یک سؤال پاسخ می‌دهند، Agent ابتدا هدف نهایی کاربر را تحلیل می‌کند و سپس تصمیم می‌گیرد برای رسیدن به آن هدف باید از چه ابزارهایی، با چه ترتیبی و چند بار استفاده کند.

جمع‌بندی

بسیاری از متخصصان هوش مصنوعی معتقدند که آینده AI Agentها بر پایه تعامل هوشمند میان مدل‌های زبانی و ابزارهای خارجی، شکل خواهد گرفت. هرچه تعداد ابزارهای قابل دسترس بیشتر و توانایی Agent در انتخاب و مدیریت آن‌ها پیشرفته‌تر باشد، دامنه وظایفی که می‌تواند به‌صورت خودکار انجام دهد نیز گسترده‌تر خواهد شد.

اگرچه پیاده‌سازی Tool Calling نیازمند طراحی صحیح ابزارها، مدیریت امنیت و یکپارچه‌سازی با سرویس‌های مختلف است، اما مزایای آن باعث شده تقریباً تمام مدل‌های زبانی پیشرفته از این قابلیت پشتیبانی کنند. با رشد سریع اکوسیستم هوش مصنوعی، انتظار می‌رود Tool Calling در سال‌های آینده به یکی از استانداردهای اصلی توسعه نرم‌افزارهای مبتنی بر هوش مصنوعی تبدیل شود و نقش پررنگ‌تری در شکل‌گیری نسل جدید دستیارهای هوشمند ایفا کند.

این مطلب را با دوستان خود به اشتراک بگذارید:
اشتراک در
اطلاع از
0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها

راهکارهای هوشمند ویرا برای رشد کسب‌وکار شما آماده‌اند!