اگر به برخی از سیستمهای هوش مصنوعی دقت کنیم، یک تضاد عملکردی بهوضوح خودنمایی میکند؛ مدلهای زبانی بهخوبی میتوانند درباره انجام کارها صحبت کنند، اما زمانی که پای انجام وظایف به میان میآید، کیفیت عملکرد آنها بهطور چشمگیری کاهش پیدا میکند. این مسئله بهظاهر ساده، مرز میان یک چتبات معمولی و یک سیستم هوشمند چندمنظوره را مشخص میکند.
در این نقطه، توسعهدهندگان به استفاده از مفهومی تحت عنوان «Function Calling» روی میآورند و با ایجاد یک لایه واسط میان مدل زبانی و سیستمهای بیرونی، مدل را از یک تولیدکننده صرف متن، به یک جزء فعال در یک چرخه اجرایی تبدیل میکنند.
در این مطلب بررسی میکنیم که Function Calling دقیقاً چگونه کار میکند، چه تفاوتی با روشهای سنتی فراخوانی API دارد و چرا به یکی از ستونهای اصلی توسعه نسل جدید سیستمهای هوش مصنوعی تبدیل شده است.
Function Calling چیست؟
مفهوم Function Calling قابلیتی در مدلهای زبانی است که به آنها اجازه میدهد علاوهبر تولید متن، بتوانند با سیستمهای بیرونی هم ارتباط برقرار کنند. به بیان دیگر، مدلهای زبانی میتوانند از طریق Function Calling به دادهها یا قابلیتهایی دسترسی پیدا کنند که خارج از محدوده آموزش آنها قرار دارند.
بیشتر بخوانید: MCP Protocol چیست و چه کاربردهایی دارد؟
در این مدل تعامل، توسعهدهنده مجموعهای از ابزارها یا توابع را تعریف میکند (معمولاً با استفاده از یک JSON Schema) و مدل در زمان پاسخدهی تصمیم میگیرد که آیا باید یکی از این ابزارها را فراخوانی کند یا خیر. در صورت نیاز، مدل بهجای پاسخ متنی مستقیم، یک خروجی ساختاریافته تولید میکند که شامل نام تابع و ورودیهای موردنیاز آن است. سپس این خروجی توسط سیستم اجرا شده و نتیجه به جهت ایجاد پاسخ نهایی به مدل بازگردانده میشود.
در نتیجه، Function Calling یک چرخه تعاملی ایجاد میکند که در آن:
- مدل تصمیم میگیرد چه کاری لازم است انجام شود
- سیستم آن کار را اجرا میکند
- و مدل نتیجه را به زبان طبیعی به کاربر ارائه میدهد
در معماریهای جدید، Function Calling یکی از پایههای اصلی ساخت AI Agentها محسوب میشود؛ سیستمهایی که میتوانند هدف دریافت کنند، ابزار انتخاب کنند و وظایف چندمرحلهای را بهصورت خودکار انجام دهند. اخیرا بسیاری از ارائهدهندههای مدلهای زبانی با ارائه این رویکرد، امکان انجام وظایف را به LLMهای خود اضافه کردهاند. برای نمونه، مفهوم Function Calling در OpenAI به یکی از مهمترین قابلیتهای مدلهای GPT تبدیل شده است؛ قابلیتی که به مدل اجازه میدهد بهجای تولید صرف متن، بتواند ابزار مناسب را تشخیص دهد، دادههای ساختاریافته تولید کند و با APIها یا سرویسهای بیرونی تعامل داشته باشد.
Function Calling چگونه کار میکند؟
برای اینکه درک دقیقتری از Function Calling داشته باشیم، بهتر است آن را نه بهعنوان یک قابلیت انتزاعی، بلکه بهعنوان یک فرایند اجرایی چندمرحلهای ببینیم. در این فرایند، مدل زبانی از حالت صرفاً تولیدکننده متن خارج شده و وارد یک چرخه تصمیمگیری و تعامل با ابزارها میشود.
در ادامه، این فرایند را مرحلهبهمرحله بررسی میکنیم:
- مرحله 1: تعریف ابزارها (Tools) بهصورت ساختارمند
در اولین قدم، توسعهدهنده ابزارهایی را که مدل اجازه استفاده از آنها را دارد، تعریف میکند. این ابزارها معمولاً به شکل JSON Schema معرفی میشوند تا هم ساختار ورودی مشخص باشد و هم مدل بتواند آن را بهدرستی درک کند.
برای مثال:

در این مرحله، شما در واقع نقشه ابزارها را در اختیار مدل قرار میدهید و مشخص میکنید که مدل چه کارهایی میتواند انجام دهد. توجه داشته باشید که در این مرحله، چگونگی انجام کارها مد نظر نیست.
- مرحله 2: ارسال پیام کاربر همراه با ابزارها به مدل
در این مرحله، پیام کاربر به همراه لیست کاملی از ابزارها به مدل داده میشود. حال مدل تشخیص میدهد که آیا برای پاسخ دادن به این درخواست باید از ابزار استفاده کند یا خیر. اگر نیاز به ابزار وجود داشته باشد، مدل وارد حالت تصمیمگیری میشود و در غیر این صورت، یک پاسخ متنی معمولی تولید میکند.
- مرحله 3: تصمیمگیری مدل و تولید درخواست ساختاریافته
در نقطهای که مدل تشخیص میدهد باید از ابزار استفاده شود، بهجای پاسخ متنی، یک خروجی ساختاریافته تولید میکند. این خروجی شامل نام تابع و آرگومانهای موردنیاز آن است. بهعنوان نمونه، مدل عبارتهای «هودی آبی»، «سایز L» و «سفارش 4821» را از زبان طبیعی استخراج کرده و آنها را با آرگومانهای درست به توابع مناسب ارسال میکند.

نکته مهم اینجاست که مدل فقط تصمیم میگیرد چه چیزی اجرا شود، اما هنوز هیچ دسترسی مستقیمی به اجرای آن ندارد.
- مرحله 4: اجرای توابع توسط سیستم بیرونی
در این مرحله، کنترل از مدل خارج شده و به سیستم نرمافزاری شما منتقل میشود.
شما بهعنوان توسعهدهنده:
- تابع check_inventory را اجرا میکنید.
- تابع track_shipment را اجرا میکنید.
- مدیریت خطا، احراز هویت و دسترسیها را انجام میدهید
در واقع، اینجا همان نقطهای است که LLM از یک مدل زبانی به جزئی از یک سیستم واقعی تبدیل میشود.
- مرحله 5: بازگشت نتیجه و تولید پاسخ نهایی
پس از اجرای توابع، نتایج دوباره به مدل بازگردانده میشود. حالا مدل از این دادههای واقعی برای ساخت یک پاسخ طبیعی استفاده میکند. به طور مثال:
«موجودی هودی آبی در سایز L موجود است. سفارش شماره 4821 دیروز ارسال شده و تا پنجشنبه به دست شما میرسد.»
در این مرحله، مدل تنها وظیفه تفسیر نتایج را برعهده دارد.

Tool Calling چیست؟
Tool Calling به قابلیتی در مدلهای زبانی گفته میشود که مدل بتواند علاوهبر فراخوانی توابع (Functions)، با انواع مختلف ابزارها (Tools) نیز تعامل داشته باشد؛ ابزارهایی که میتوانند شامل APIها، پایگاههای داده، موتورهای جستجو، سیستمهای فایل و یا دیگر مدلهای هوش مصنوعی باشند.
بیشتر بخوانید: RAG (Retrieval-Augmented Generation) چیست؟
به بیان ساده:
- Function Calling = فراخوانی یک تابع مشخص با ورودی ساختیافته
- Tool Calling = انتخاب و استفاده از هر نوع ابزار خارجی (که ممکن است چندین تابع پشت آن باشد)
در بسیاری از معماریهای جدید، این دو اصطلاح بهجای هم استفاده میشوند، اما Tool Calling معمولاً دید وسیعتر و سیستممحورتری دارد.
| ویژگی | API Calling | Function Calling |
| تصمیمگیر اصلی | توسعهدهنده | مدل زبانی (LLM) |
| نحوه انتخاب تابع | از طریق منطق کدنویسی (if/else، routing دستی) | مدل بهصورت هوشمند تصمیم میگیرد |
| ساختار درخواست | دستی و وابسته به کد | ساختاریافته و تولیدشده توسط مدل (JSON) |
| انعطافپذیری | محدود به منطق از پیش تعریفشده | بسیار انعطافپذیر و وابسته به درک زبان طبیعی |
| تعامل با کاربر | غیرمستقیم (کد محور) | مستقیم و مبتنی بر پیام کاربر |
| نیاز به پیشبینی سناریوها | بالا | کمتر |
| نقش LLM | فقط تولید متن یا ورودی ثابت | تصمیمگیر + انتخاب ابزار |
| پیچیدگی توسعه | بالا در سیستمهای بزرگ | سادهتر در routing و انتخاب ابزار |
| کاربرد اصلی | سیستمهای سنتی backend | AI Agentها و سیستمهای هوشمند |
ابزارهای قابل فراخوانی در مدلهای زبانی
در سیستمهای مدرن مبتنی بر LLM، ابزارها معمولاً به چند دسته اصلی تقسیم میشوند:
1. APIهای خارجی
APIهای خارجی رایجترین و پایهایترین نوع ابزارها در Function Calling هستند. این ابزارها به مدل اجازه میدهند به سرویسهای بیرونی متصل شود و دادههای واقعی یا خدمات زنده دریافت کند.
برای مثال:
- دریافت وضعیت آبوهوا از یک Weather API
- انجام پرداخت از طریق Payment Gateway
- ارسال پیام در واتساپ یا ایمیل
- دریافت اطلاعات نقشه و مسیر از Google Maps API
2. پایگاههای داده (Databases)
پایگاههای داده به عنوان یکی از مهمترین ابزارها در سیستمهای سازمانی شناخته میشوند. در این حالت، مدل زبانی میتواند به دادههای داخلی یک کسبوکار دسترسی داشته باشد.
کاربردها:
- جستجوی اطلاعات کاربران
- بررسی وضعیت سفارشها
- تحلیل دادههای مالی یا فروش
- تولید گزارشهای سفارشی
3. موتورهای جستجو
موتورهای جستجو ابزارهایی هستند که به مدل اجازه میدهند به اطلاعات بهروز اینترنت دسترسی پیدا کند. این ابزارها برای رفع یکی از مهمترین محدودیتهای LLMها یعنی عدم آگاهی از اطلاعات جدید مورد استفاده قرار میگیرند.
کاربردها:
- جستجوی اخبار روز
- بررسی اطلاعات بهروز بازار
- تحقیق درباره موضوعات جدید
- جمعآوری منابع برای پاسخ دقیقتر
4. ابزارهای داخلی سیستم
این ابزارها مخصوص هر سازمان یا اپلیکیشن طراحی میشوند و معمولاً مهمترین بخش در سیستمهای تجاری بهحساب میآیند.
مثالها:
- create_ticket برای ثبت درخواست پشتیبانی
- check_inventory برای بررسی موجودی کالا
- generate_invoice برای صدور فاکتور
- update_user_profile برای تغییر اطلاعات کاربر
5. ابزارهای هوش مصنوعی دیگر
در معماریهای پیشرفتهتر، LLM علاوهبر API یا دیتابیس، با سایر مدلهای AI هم تعامل دارد.
این ابزارها شامل:
- مدلهای ترجمه (Translation Models)
- مدلهای خلاصهسازی متن
- مدلهای تحلیل تصویر (Vision Models)
- مدلهای تولید تصویر (Image Generation Models)
- مدلهای تشخیص احساسات (Sentiment Analysis)
در مجموع، این ابزارها هستند که Function Calling را از یک قابلیت ساده به پایه اصلی ساخت AI Agent های مدرن تبدیل میکنند. در ادامه بیشتر به مفهوم AI Agentها میپردازیم.
AI Agent چیست؟
AI Agent (عامل هوش مصنوعی) را میتوان یکی از مهمترین مراحل تکامل مدلهای زبانی دانست. با این فناوری، یک LLM دیگر فقط نقش پاسخدهنده به سؤال را ندارد و میتواند یک هدف را دریافت کند، برای رسیدن به آن برنامهریزی انجام دهد و در نهایت، از ابزارهای مختلف برای اجرای آن استفاده کند. اگر بخواهیم تفاوت را به زبان ساده بیان کنیم، یک چتبات معمولی فقط به سؤال جواب میدهد؛ درحالی که یک AI Agent میتواند به انجام وظایف مختلف بپردازد. این تغییر کوچک، در عمل یک تغییر بنیادی در معماری سیستمهای هوش مصنوعی به وجود میآورد؛ چرا که برای اولین بار، مدل زبانی از فضای صرفاً متنی خارج شده و وارد فضای تصمیم و اجرا میشود.
بیشتر بخوانید: آموزش ساخت JWT Token برای احراز هویت کاربران
نقش Function Calling در AI Agent
امروزه بخش مهمی از فرایند ساخت Agent با LLM بر پایه Function Calling انجام میشود. در واقع، بدون امکان استفاده از ابزارها، مدل زبانی نمیتواند به یک Agent واقعی و خودکار تبدیل شود. اگر بخواهیم دقیقتر به معماری AI Agent نگاه کنیم، Function Calling در واقع هسته اجرایی یا همان بخش عملیاتی سیستم محسوب میشود. بدون Function Calling، AI Agent عملاً فقط یک سیستم تصمیمگیر باقی میماند که میتواند درباره کارها صحبت کند، اما امکان انجام مستقیم آنها را ندارد. Function Calling این فاصله را از بین میبرد و مدل را به ابزارها و سیستمهای واقعی متصل میکند.

به طور کلی، Function Calling میتواند نقش LLM را در یک سیستم تغییر دهد.
قبل از Function Calling:
- مدل فقط متن تولید میکند
- اجرای واقعی بر عهده برنامهنویس است
- تصمیمگیری در کد انجام میشود
بعد از Function Calling:
- مدل خودش تصمیم میگیرد چه ابزاری لازم است
- مدل ورودی تابع را تولید میکند
- سیستم فقط نقش اجراکننده دارد
نقش Function Calling در چرخه تصمیمگیری Agent
در AI Agent ها، Function Calling در هر مرحله از چرخه تصمیمگیری نقش دارد:
1. Agent هدف را دریافت میکند
2. LLM تحلیل میکند چه کاری لازم است
3. اگر نیاز به ابزار باشد، Function Calling فعال میشود
4. یک درخواست ساختاریافته تولید میشود
5. سیستم آن را اجرا میکند
6. نتیجه دوباره به Agent بازمیگردد
این چرخه ممکن است چندین بار تکرار شود تا Agent به هدف برسد.
جمعبندی
در نهایت، Function Calling را میتوان یکی از مهمترین تحولها در معماری مدلهای زبانی دانست؛ قابلیتی که مرز میان تولید متن و انجام وظایف را به طور کامل از میان برمیدارد. مدلهای زبانی بدون دسترسی به ابزارها، تنها میتوانند درباره انجام کارها صحبت کنند، اما با استفاده از Function Calling به سیستمهایی تبدیل میشوند که قادرند تصمیم بگیرند، داده دریافت کنند، عملیات واقعی انجام دهند و نتیجه را به زبان طبیعی در اختیار کاربر قرار دهند.
در چنین فضایی، درک صحیح Function Calling نهتنها برای توسعهدهندگان AI، بلکه برای کسبوکارهایی که قصد ورود به نسل جدید اتوماسیون هوشمند را دارند، به یک مهارت و دانش کلیدی تبدیل شده است. بسیاری از کارشناسان معتقدند AI Agents در سال 2026 به یکی از مهمترین لایههای نرمافزارهای هوشمند تبدیل خواهند شد و میتوانند بسیاری از وظایف پیچیده را بهصورت نیمهخودکار یا کاملاً خودکار مدیریت کنند.











