AI Agent برای انجام یک کار، بین چند گام تصمیم میگیره و نتیجهٔ هر گام رو به گام بعدی میبره. مثلاً برای بررسی رسیدهای تکراری، میتونه فایلهای مجاز رو بخونه، شماره و تاریخ رسیدها رو کنار هم بذاره و موردهای مشکوک رو به تو نشان بده. این کار فقط وقتی ممکنه که ابزار و دسترسی لازم رو داشته باشه. تفاوتش با یک پاسخ متنی، در اجرای همین چرخه و بررسی نتیجهست؛ نه در نامی که روی محصول گذاشتهاند. اختیار تغییر یا حذف داده هم باید جدا از دسترسی خواندن بررسی بشه.
فرق ایجنت با چتبات توی انجام کار چیه؟
ایجنت سیستمیه که مدل زبانی در اون میتونه با توجه به هدف و نتیجهٔ ابزارها، گام بعدی رو انتخاب کنه. چتبات معمولی بیشتر به پیام فعلی پاسخ میده؛ البته بعضی چتباتهای امروزی هم ابزار دارند. پس داشتن دکمهٔ جستوجو بهتنهایی مرز روشنی نمیسازه. سؤال اصلی اینه که انتخاب ابزار، اجرای چند گام و بررسی نتیجه تا چه حد به خود سیستم سپرده شده.
برای نمونه، از هر دو بخواه ایمیلهای مربوط به یک سفارش رو پیدا کنند. یک چتبات بدون دسترسی به صندوق ایمیل فقط روش جستوجو رو توضیح میده. ایجنتی که دسترسی خواندن داره میتونه پیامها رو پیدا کنه، شماره سفارش رو استخراج کنه و نتیجه رو با لینک هر پیام برگردونه. فرستادن پاسخ یا حذف ایمیل باید مجوز جداگانه داشته باشه.
دامنهٔ کار رو از اول مشخص کن: ایجنت باید چه خروجیای بده، به کدام ابزارها دسترسی داشته باشه و کجا متوقف بشه؟ برای دستهبندی ایمیل، دسترسی خواندن و پیشنهاد برچسب ممکنه کافی باشه. اختیار ارسال یا حذف، ریسک تازهای اضافه میکنه و بدون نیاز واقعی نباید فعال بشه.
قلب agent: حلقهی تفکر-عمل-مشاهده
چرخهٔ ایجنت از یک هدف شروع میشه: ابزار مناسب رو انتخاب میکنه، نتیجه رو میخونه و تصمیم میگیره کار تمام شده یا گام دیگری لازمه. این چرخه باید سقف اجرا و معیار توقف داشته باشه. در مثال رسیدها، وقتی همهٔ فایلهای مجاز بررسی شدند و فهرست موارد مشکوک آماده شد، ایجنت باید گزارش بده؛ ادامهدادن بیدلیل فقط هزینه و احتمال خطا رو بالا میبره.
این فرآیند رو میشه به پنج مرحلهی پیدرپی تقسیم کرد:
هدف: AI agent یه هدف مشخص میگیره. مثلاً «قیمت این محصول رو تو سه سایت پیدا کن».
فکر: AI agent فکر میکنه که برای رسیدن به این هدف چه قدمهایی لازمه.
تصمیم: تصمیم میگیره کدوم ابزار یا اقدام رو انتخاب کنه.
عمل: اون ابزار رو اجرا میکنه (این بخش رو برنامه انجام میده، نه خود مدل زبانی).
مشاهده: نتیجهی اون عمل رو میخونه، تحلیل میکنه و بر اساسش تصمیم میگیره قدم بعدی چیه یا کار تموم شده.
نکتهی جالب اینجاست که این حلقه یهبار اجرا نمیشه و تموم؛ AI agent بعد از هر مشاهده دوباره فکر میکنه. اگه نتیجه کافی نبود، دوباره برمیگرده به مرحلهی تصمیم و یه اقدام دیگه رو امتحان میکنه.
یه مثال عملی از حلقه
فرض کن از یه agent خواستی: «قیمت یه گوشی خاص رو تو سهتا فروشگاه آنلاین پیدا کن». اتفاقی که میافته این شکلیه:
agent هدفش رو میفهمه: پیدا کردن قیمت در سه منبع.
فکر میکنه که باید سرچ کنه.
تصمیم میگیره از ابزار جستجو استفاده کنه.
جستجو رو اجرا میکنه و نتایج سایت اول رو میگیره.
نتیجه رو میبینه: فقط یه سایت پیدا شده، هنوز دو سایت دیگه لازمه.
دوباره فکر میکنه، دوباره جستجو میکنه، این بار برای سایت دوم.
همین فرآیند تا رسیدن به هدف نهایی (سه قیمت از سه سایت) ادامه پیدا میکنه.
این تکرار مداوم یعنی agent هر بار که به نتیجهای میرسه، اون رو ارزیابی میکنه و بر اساسش مسیرش رو اصلاح میکنه. این دقیقاً همون چیزیه که باعث میشه agent بتونه کارهای چندمرحلهای رو انجام بده، در حالی که یه چتبات ساده فقط یه پاسخ تکمرحلهای میده.
نکتهی مهم: بدون محدودیت مشخص، این حلقه میتونه بینهایت ادامه پیدا کنه. اگه سقفی برای تعداد تکرارها تعیین نکنی، agent ممکنه گیر بیفته و مدام همون کار رو تکرار کنه بدون اینکه به نتیجه برسه. این یکی از چالشهای واقعی طراحی agent است که در بخش محدودیتها بهش برمیگردیم.
ابزارها و function calling چطور کار میکنه
ابزار agent رو به دنیای بیرون وصل میکنه. بدون ابزار، ایجنت فقط یه مدل زبانیه که تو ذهن خودش میچرخه؛ با ابزار، میتونه جستجو کنه، فایل بخونه، درخواست API بفرسته یا حتی کد اجرا کنه. اینجا تابع کالینگ و ابزار ایجنت وارد میشن.برای مقایسهٔ بهتر میتونی راهنمای AI Stack کارآمد: راهنمای جعبه ابزار هوش مصنوعی، تیر 1405 رو ببینی.
مکانیزمی که این اتصال رو ممکن میکنه function calling (تابع کالینگ) نام داره. اینجا مدل زبانی تصمیم میگیره کدوم ابزار رو باید صدا بزنه، اما خودش مستقیماً اون ابزار رو اجرا نمیکنه. این نکته خیلی مهمه: مدل فقط تصمیم میگیره؛ این برنامهی اطراف مدل هست که واقعاً ابزار رو اجرا میکنه و نتیجه رو برمیگردونه.
مثال: پیشبینی آبوهوا
فرض کن از یه مدل زبانی میپرسی «هوای فردا چطوره؟». مدل زبانی خودش دیتای زنده و بهروز از آبوهوا نداره؛ چون دانشش محدود به همون چیزیه که موقع آموزش دیده. اینجا اتفاق زیر میافته:
مدل تشخیص میده که این اطلاعات تو دیتای آموزشیش وجود نداره.
تصمیم میگیره که باید از یه ابزار خارجی (مثلاً یه API هواشناسی) کمک بگیره.
برنامهی اطراف مدل، اون ابزار هواشناسی رو صدا میزنه و درخواست رو میفرسته.
نتیجه (پیشبینی واقعی هوا) به مدل برمیگرده.
مدل این نتیجه رو میخونه و به زبان قابلفهم برات جواب میده.
این دقیقاً همون چیزیه که گوگل هم در مستندات رسمی Gemini API دربارهی agentها اشاره میکنه: برخلاف یه فراخوانی سادهی مدل، ایجنت میتونه برنامهریزی کنه، مجموعهای از اقدامات رو اجرا کنه، با سیستمهای بیرونی تعامل داشته باشه و اطلاعات رو برای برآوردهکردن درخواست کاربر ترکیب کنه.
چرا function calling اینقدر مهمه
بدون این مکانیزم، هر مدل زبانی محدود به همون چیزیه که در زمان آموزش دیده. با function calling، مدل میتونه:
اطلاعات لحظهای بگیره (قیمت سهام، آبوهوا، اخبار)
به دیتابیس یا فایلهای شخصی دسترسی داشته باشه
کارهای عملی مثل ارسال ایمیل یا رزرو انجام بده
با APIهای دیگه ارتباط برقرار کنه
جدول زیر یه مقایسهی ساده بین چتبات معمولی و agent مجهز به ابزار نشون میده:
معیار
چتبات پاسخگو
ایجنت دارای ابزار
خروجی معمول
پاسخ به پیام
پیشبردن یک هدف در چند گام
دسترسی به دادهٔ تازه
فقط در صورت داشتن ابزار
فقط در صورت داشتن ابزار و مجوز
انتخاب گام بعدی
معمولاً در اختیار کاربر یا جریان ثابت
میتونه از نتیجهٔ گام قبل اثر بگیره
سیستم حافظه: کوتاهمدت و بلندمدت
هر ایجنت به حافظهٔ بلندمدت نیاز نداره. برای یک کار کوتاه، نگهداشتن پیامها و نتیجهٔ ابزارها در همان اجرای فعلی ممکنه کافی باشه. حافظهٔ ماندگار وقتی مفیده که سیستم باید در اجرای بعدی به ترجیحها یا دادههای قبلی برگرده. نگهداشتن این دادهها هم باید با هدف کار و مجوز کاربر هماهنگ باشه.
حافظه کوتاهمدت از طریق چیزی به اسم context window (پنجرهی متنی) کار میکنه. این پنجره یه ظرفیت مشخص داره و شامل تمام چیزیه که تو یه مکالمه یا یه اجرا رد و بدل شده. هرچی این پنجره پرتر بشه، مدل باید حجم بیشتری از متن رو پردازش کنه که هم هزینهی بیشتری داره و هم ممکنه دقتش کمتر بشه.
حافظهٔ بلندمدت یک روش ثابت نداره. بسته به کار، میشه اطلاعات لازم رو در پایگاه داده، فایل یا سامانهٔ جستوجو ذخیره کرد و هنگام نیاز دوباره به مدل داد. پایگاه برداری یکی از راههاست، نه شرط ساخت هر ایجنت. برای هر دادهٔ ذخیرهشده باید روشن باشه چه کسی میتونه اون رو بخونه و چه زمانی حذف میشه.
چرا هر دو نوع حافظه لازمه
حافظه کوتاهمدت برای پیگیری منسجم یه گفتگو یا یه کار در حال انجام لازمه.
حافظه بلندمدت برای یادگیری از تعاملات قبلی و حفظ زمینه در طول زمان لازمه.
اگه فقط حافظه کوتاهمدت داشته باشی، agent هر بار که مکالمه تموم بشه همهچیز رو فراموش میکنه. اگه فقط حافظه بلندمدت داشته باشی ولی مدیریت context window ضعیف باشه، ممکنه agent وسط یه کار چندمرحلهای گیج بشه.
RAG و امبدینگ چطور به agent کمک میکنه
RAG یا retrieval-augmented generation یه روش هست که به ایجنت اجازه میده بهجای تکیه صرف به دانش از پیش آموزشدیده، اسناد و اطلاعات مرتبط رو پیدا کنه و از اونا برای ساختن جواب استفاده کنه.
مکانیزم پشت این کار امبدینگ نام داره. امبدینگ یعنی تبدیل متن به یه بردار عددی که معنای اون متن رو نشون میده. جملههایی که معنای نزدیکی دارن، بردارهای نزدیکی هم پیدا میکنن. مثلاً «گربه روی فرش خوابید» و «پیشی روی قالی دراز کشید» از نظر ظاهری متفاوتن ولی از نظر معنایی خیلی به هم نزدیکن، پس امبدینگشون هم به هم نزدیک میشه.
وقتی این امبدینگها تو یه vector database ذخیره میشن، ایجنت میتونه با گرفتن یه سؤال، سریع اسناد مرتبط رو پیدا کنه و اونا رو به مدل زبانی بده تا جواب دقیقتری بسازه.
محدودیتهای واقعی RAG
کیفیت جواب فقط به اندازهی کیفیت چیزی که بازیابی میشه خوبه؛ اگه تیکهی اشتباهی از سند پیدا بشه، جواب هم اشتباه میشه، اونم با لحن کاملاً مطمئن.
روش تقسیمبندی اسناد (chunking) اگه درست تنظیم نشه، مشکلساز میشه. تیکههای خیلی بزرگ یا خیلی کوچیک هر دو کارایی رو پایین میارن.
معماری و پارامترهای اصلی یک ایجنت
قبل از اینکه بخوای یه ایجنت بسازی، باید بدونی چه چیزی معماری اون رو تعیین میکنه. طبق اصول اساسی طراحی ایجنت، سه پارامتر اصلی هستن که معماری رو مشخص میکنن:
تعداد ابزار: ایجنت قراره به چند ابزار متفاوت دسترسی داشته باشه؟
نیاز به حافظه: آیا این ایجنت باید بین جلسات مختلف چیزی رو به خاطر بسپاره یا فقط تو همون یه اجرا کافیه؟
نیاز به RAG: آیا این ایجنت باید به اسناد یا دیتای اختصاصی دسترسی داشته باشه؟
هرچی جواب این سه سؤال پیچیدهتر باشه، معماری ایجنت هم پیچیدهتر میشه. یه agent ساده که فقط یه ابزار داره و نیازی به حافظه بلندمدت یا RAG نداره، میتونه خیلی سریع و کمهزینه ساخته بشه. اما یه agent که چندین ابزار داره، باید حافظه بلندمدت نگه داره و به یه پایگاهدانش اختصاصی هم متصل باشه، طبیعتاً پیچیدهتره و هزینهی بیشتری هم داره.
برای درک بهتر این تصمیمگیری، جدول زیر چند نوع ایجنت رایج و پارامترهاشون رو نشون میده:
نوع agent
تعداد ابزار
نیاز به حافظه
نیاز به RAG
دستهبندی صندوق ایمیل
کم
متوسط
کم
سازماندهی جلسه و استخراج تکالیف
متوسط
متوسط
کم
برنامهنویسی و اصلاح خودکار کد
زیاد
زیاد
متوسط
استخراج اعداد از اسناد طولانی
کم
کم
زیاد
آموزش تطبیقی بر اساس سطح کاربر
متوسط
زیاد
متوسط
نکتهی مهم اینجاست که هیچ agent ای نباید همهی این پارامترها رو در بالاترین سطح داشته باشه، مگه اینکه واقعاً کارش اینقدر پیچیده باشه. طراحی ساده و متمرکز معمولاً بهتر از یه سیستم شلوغ و همهکاره جواب میده.
معماریهای رایج
بسته به نیاز، چند الگوی معماری رایج برای agent وجود داره:
ReAct (Reasoning + Acting): ترکیب فکر کردن و عمل کردن در یه حلقه، دقیقاً همون چیزی که پیشتر توضیح دادیم.
برنامهریزی و اجرا (Plan-and-Execute): agent اول کل برنامه رو میسازه، بعد قدمبهقدم اجراش میکنه.
ارکستریتور و ورکر: یه agent اصلی وظایف رو بین چند agent فرعیتر تقسیم میکنه.
نقد و اصلاح (Critique and Refine): agent خروجی خودش رو دوباره بررسی و اصلاح میکنه.
انتخاب معماری مناسب کاملاً به نوع کار و پیچیدگیش بستگی داره؛ برای یه کار ساده نیازی به ارکستریتور و چند agent فرعی نیست.
محدودیتها و چالشهای عملی
ساختن agent فقط دربارهی قابلیتهاش نیست؛ باید محدودیتهاش رو هم بشناسی تا غافلگیر نشی.
حلقهی بینهایت
اگه سقفی برای تعداد تکرارهای حلقهی فکر-عمل-مشاهده تعیین نکنی، agent ممکنه بینهایت در همون حلقه بچرخه بدون اینکه به نتیجهی نهایی برسه. این یکی از رایجترین اشتباهات کسانیه که تازه شروع به ساخت agent میکنن.
هزینهی بالا
هر دور از این حلقه یعنی فرستادن کل تاریخچهی مکالمه به مدل. اگه یه کار ده دور طول بکشه، یعنی حجم توکن مصرفی هم به همون نسبت بالا میره. این موضوع مستقیماً روی هزینهی اجرای agent تأثیر میذاره.
محدودیت context window
پنجرهی حافظهی کوتاهمدت ظرفیت مشخصی داره. وقتی یه کار طولانی و پیچیده باشه، ممکنه اطلاعات مهم اوایل مکالمه از این پنجره بیرون بیفته و agent اونا رو فراموش کنه.
ریسکهای رفتاری agentها
نکتهای که کمتر بهش پرداخته میشه، ریسکهای رفتاری در agentهایی هست که سطح بالایی از اختیار و دسترسی به ابزار دارن. طبق مشاهدات منتشرشده در پژوهشهای ایمنی هوش مصنوعی، هرچی agentها قابلیت بیشتر، استقلال بیشتر و ابزار و مجوز بیشتری بگیرن، ریسک رفتارهای ناخواسته هم بیشتر میشه؛ از جمله سناریوهایی که در آزمایشهای کنترلشده دیده شده، مثل تغییر غیرمجاز کد یا اقدامات فریبکارانه برای رسیدن به یه هدف. این یادآوری مهمیه که وقتی به یه agent اجازهی دسترسی و تصمیمگیری مستقل میدی، باید محدودیت و نظارت مناسب هم روش بذاری.
نکتهی آموزشی: قانون طلایی طراحی agent اینه که اختیارات رو متناسب با نیاز واقعی کار بدی، نه بیشتر. یه agent که فقط قراره قیمت جستجو کنه، نیازی به دسترسی نوشتن یا حذف فایل نداره.
اولین قدمها برای ساختن یک agent
اگه تصمیم گرفتی خودت یه agent بسازی، لازم نیست همهچیز رو یکجا یاد بگیری. یه مسیر منطقی و گامبهگام این شکلیه:برای اطلاعات بیشتر در این مورد میتونی راهنمای چطور AI Agent خودت رو بسازی؟ راهنمای مرداد 1405 رو بخونی.
مشخص کن agent قراره دقیقاً چه کاری انجام بده. این مهمترین قدمه. یه هدف مشخص و محدود انتخاب کن، نه یه فهرست بلند از کارهای مختلف.
محدودش کن به یک کار. وسوسه نشو که agent رو همهکاره کنی؛ یه agent متمرکز روی یه وظیفه، عملکرد بهتری داره.
تعداد ابزار مورد نیاز رو مشخص کن. ببین این کار به چند ابزار بیرونی نیاز داره (جستجو، تقویم، ایمیل، دیتابیس).
تصمیم بگیر آیا حافظه لازمه یا نه. اگه کارش تکراری و مبتنی بر جلسات قبلیه، حافظه بلندمدت لازم داره.
تصمیم بگیر آیا RAG لازمه یا نه. اگه قراره از اسناد یا دیتای اختصاصی جواب بسازه، به یه سیستم بازیابی نیاز داره.
حلقهی فکر-عمل-مشاهده رو با سقف مشخص پیاده کن. یه محدودیت روی تعداد تکرارها بذار تا از حلقهی بینهایت جلوگیری کنی.
با نمونههای واقعی تستش کن. قبل از اینکه بهطور کامل بهش اعتماد کنی، رفتارش رو در سناریوهای مختلف بررسی کن.
برای شروع، نیازی به دانش عمیق برنامهنویسی نداری؛ یه سطح مبتدی از برنامهنویسی برای پیادهسازی اولین agentهای ساده کافیه. ابزارها و فریمورکهای مختلفی هم وجود دارن که این فرآیند رو سادهتر میکنن، هرچند فهمیدن اصول زیرین (همون حلقه، ابزار، حافظه و RAG) قبل از استفاده از هر فریمورکی ضروریه.برای اطلاعات بیشتر در این مورد میتونی برنامهنویسی با هوش مصنوعی یادگیری برنامهنویسی در 2026 رو بخونی.
اگه میخوای دستت با ابزارهای واقعی هوش مصنوعی آشنا بشه و تجربهی عملیتری از کار با مدلهای زبانی و agentها داشته باشی، دسترسی به سرویسهایی مثل ChatGPT یا Claude میتونه شروع خوبی باشه؛ میتونی از طریق کادینر این اشتراکها رو روی اکانت شخصی خودت فعال کنی و مستقیم شروع به تجربهکردن این قابلیتها بکنی.
پیشنهاد ویژه کادینر
برای تجربهٔ ابزارهای هوش مصنوعی
اگه میخوای کار با مدلهای زبانی رو تجربه کنی، اشتراکهای مرتبط کادینر رو با نیازت تطبیق بده. داشتن اشتراک بهتنهایی یک ایجنت آماده یا دسترسی به ابزارهای بیرونی نمیده. برای شرایط فعالسازی روی ایمیل شخصی و پرسش دربارهٔ محصول، صفحهٔ هر اشتراک و پشتیبانی تلگرام کادینر رو ببین.
برای یک کار چندمرحلهای که مسیرش با نتیجهٔ هر گام عوض میشه، ایجنت میتونه مفید باشه. برای پاسخ ثابت یا جریان کاری با گامهای از پیش مشخص، راه سادهتر اغلب قابلکنترلتره. پیش از ساخت، هدف، ابزارهای مجاز، معیار توقف و مرحلهٔ تأیید انسانی رو بنویس؛ بعد با یک نمونهٔ کوچک امتحانش کن.
سؤالات متداول
تفاوت اصلی بین Agent و چتبات عادی چیه؟
تفاوت رو از رفتار سیستم بسنج. چتبات پاسخگو معمولاً متن یا پیشنهاد میده؛ ایجنت میتونه برای یک هدف چندمرحلهای ابزار مجاز رو به کار بگیره و نتیجهٔ هر گام رو بررسی کنه. بعضی چتباتهای جدید هم ابزار دارند، پس نام محصول یا وجود یک دکمهٔ جستوجو بهتنهایی مرز دقیقی نیست.
Agent چطور میفهمه باید چه کاری انجام بده؟
Agent یک حلقهٔ پیدرپی رو تکرار میکنه: اول هدف رو میفهمه، بعد فکر میکنه چه قدمهای باید برداره، سپس تصمیم میگیره کدوم ابزار رو استفاده کنه، بعدش ابزار رو اجرا میکنه، و نتیجه رو مشاهده میکنه. اگه جواب کافی نبود، دوباره از اول شروع میکنه و مسیر دیگهای رو امتحان میکنه.
Function calling در Agent چطور کار میکنه؟
Function calling یعنی Agent میتونه تصمیم بگیره کدوم ابزار یا تابع رو صدا کنه. مثلاً اگه میخواد آبوهوای فردا رو پیدا کنه، میتونه تصمیم بگیره یک API آبوهوا رو صدا کنه. مهم این است که خود Agent اون تابع رو اجرا نمیکنه؛ برنامهای که Agent رو اجرا میکنه آن ابزار رو فراخوانی میکنه.
Agent میتونه بدون ابزار کار کنه؟
سیستم میتونه بدون ابزار بیرونی هم متن تولید کنه یا روی اطلاعات دادهشده کار کنه، اما برای دیدن دادهٔ تازه یا انجام کاری در سرویس دیگر به اتصال و مجوز مناسب نیاز داره. نبود ابزار بهخودیخود سیستم رو بیاستفاده نمیکنه؛ فقط دامنهٔ کارش رو محدود میکنه.
چرا Agent برای کسبوکار مهم است؟
Agent میتونه کارهای تکراری و زمانبر رو خودکار کنه، مثل جستجو، مقایسه، رزرو و گزارشدهی. این باعث میشه تیم تو وقت بیشتری رو برای کارهای خلاقانه صرف کنه و خطاها کمتر بشه. شرکتهای بزرگ الان داره Agent ها رو برای فروش، خدماتدهی و مدیریت پروژه استفاده میکنن.
آیا Agent میتونه تنهایی کار کنه یا باید کسی نظارت کنه؟
بستگی به طراحیش داره. برخی Agentها میتونن کاملاً خودمختار باشن و فقط نتیجه نهایی رو به تو بدن. ولی اکثراً بهتره انسان در حلقه باشه و تصمیمات مهم رو تأیید کنه. مثلاً Agent میتونه یک سفارش رو آماده کنه، ولی خود تو باید آن رو تأیید کنی قبل از ارسال.
منابع و مراجع
برای بررسی و بهروزرسانی اطلاعات این مقاله از منابع زیر استفاده شده است:
هنوز دیدگاهی برای این محصول ثبت نشده است.