پشت پرده AI Agentها | قسمت 11: Stopping Condition در AI Agentها چیست؟ ایجنت چه زمانی باید متوقف شود؟
در قسمت قبل مجموعه «پشت پرده AI Agentها» درباره Agentic Loop صحبت کردیم؛ چرخهای که در آن Agent میتواند چند بار بین تصمیمگیری، اقدام، مشاهده نتیجه و اصلاح حرکت کند تا به هدف موردنظر برسد.
اما یک سؤال مهم وجود دارد:
AI Agent از کجا میفهمد چه زمانی باید این چرخه را متوقف کند؟
اگر Agent هیچ نقطه پایانی نداشته باشد، ممکن است یک کار را بارها تکرار کند، منابع زیادی مصرف کند یا حتی وارد یک Loop بیپایان شود.
اینجاست که مفهوم Stopping Condition در AI Agentها مطرح میشود.
Stopping Condition یا شرط توقف، معیاری است که مشخص میکند Agent در چه شرایطی باید اجرای کار را متوقف کند و نتیجه را نهایی بداند.
به زبان ساده:
Stopping Condition = مشخص کردن نقطه پایان برای ایجنت
Stopping Condition دقیقاً چیست؟
فرض کنید از یک AI Agent بخواهید:
«یک گزارش کامل از فروش این ماه آماده کن.»
Agent ممکن است ابتدا دادهها را بررسی کند، گزارش اولیه بسازد، خروجی را ارزیابی کند و بعد متوجه شود که بخشی از گزارش ناقص است.
در نتیجه دوباره به دادهها برمیگردد، بخش ناقص را تکمیل میکند و گزارش را دوباره بررسی میکند.
اما این چرخه نمیتواند بدون پایان ادامه پیدا کند.
در یک نقطه، Agent باید تشخیص دهد:
«خروجی به اندازه کافی کامل و قابلقبول است و دیگر نیازی به ادامه کار نیست.»
این تصمیم براساس Stopping Condition انجام میشود.
چرا AI Agent به شرط توقف نیاز دارد؟
یکی از ویژگیهای مهم Agentها این است که میتوانند چندمرحلهای کار کنند و در صورت نیاز، بخشی از فرآیند را دوباره انجام دهند.
این قابلیت مفید است، اما اگر کنترل نشود میتواند مشکلساز شود.
برای مثال Agent ممکن است:
- یک مرحله را چندین بار تکرار کند
- مدام خروجی را اصلاح کند بدون اینکه تغییر معناداری ایجاد شود
- هزینه API زیادی مصرف کند
- زمان زیادی برای انجام یک وظیفه صرف کند
- از هدف اصلی فاصله بگیرد
- وارد Loop بیپایان شود
Stopping Condition کمک میکند Agent بداند چه زمانی باید اجرای کار را پایان دهد.
چه چیزهایی میتوانند Stopping Condition باشند؟
شرط توقف بسته به نوع Agent و وظیفهای که انجام میدهد متفاوت است.
چند نمونه رایج عبارتاند از:
رسیدن به هدف
سادهترین حالت این است که Agent زمانی متوقف شود که هدف اصلی انجام شده باشد.
برای مثال اگر هدف این باشد:
«سه محصول پرفروش این ماه را مشخص کن.»
وقتی Agent سه محصول را براساس داده معتبر شناسایی کرده باشد، میتواند کار را پایان دهد.
رسیدن خروجی به کیفیت قابلقبول
گاهی هدف فقط انجام یک اقدام نیست، بلکه خروجی باید معیارهای مشخصی را نیز داشته باشد.
مثلاً گزارش فروش باید شامل:
فروش کل، مقایسه ماهانه، محصولات پرفروش، نقاط افت و یک جمعبندی مدیریتی باشد.
وقتی همه این بخشها تکمیل شوند، شرط پایان برقرار میشود.
محدود کردن تعداد مراحل
یکی از روشهای مهم کنترل Agent این است که تعداد اقدامها محدود شود.
برای مثال میتوان مشخص کرد:
Agent حداکثر ۱۰ مرحله برای انجام این وظیفه دارد.
اگر بعد از ۱۰ مرحله هنوز به نتیجه نرسیده باشد، سیستم اجرای خودکار را متوقف میکند.
این نوع شرط بهخصوص برای جلوگیری از Loopهای بیپایان مفید است.
محدودیت زمانی
برخی Agentها ممکن است شرط توقف زمانی داشته باشند.
برای مثال:
این وظیفه باید حداکثر در ۵ دقیقه اجرا شود.
اگر زمان مشخصشده تمام شود، Agent دیگر اجازه ادامه اجرای خودکار را ندارد.
این محدودیت در سیستمهایی که وظایف طولانی یا پرهزینه انجام میدهند اهمیت زیادی دارد.
محدودیت هزینه
استفاده از مدلهای زبانی، APIها و ابزارهای خارجی میتواند هزینه داشته باشد.
به همین دلیل میتوان برای Agent یک Cost Limit تعریف کرد.
مثلاً سیستم میتواند مشخص کند Agent تنها تا یک مقدار مشخص اجازه مصرف منابع دارد.
اگر هزینه اجرای کار از آن مقدار بیشتر شود، Agent متوقف میشود.
این موضوع مخصوصاً برای Agentهایی که چندین ابزار و مدل مختلف را بارها فراخوانی میکنند مهم است.
توقف برای دریافت تأیید کاربر
همیشه قرار نیست Agent پس از توقف، کار را کاملاً پایان دهد.
گاهی شرط توقف میتواند این باشد:
«برای ادامه به تأیید انسان نیاز است.»
برای مثال یک Agent میتواند اطلاعات موردنیاز برای ارسال ایمیل را آماده کند، اما قبل از ارسال واقعی ایمیل متوقف شود و از کاربر تأیید بخواهد.
یا Agent میتواند سفارش خریدی را آماده کند، اما اجرای تراکنش نهایی نیازمند تأیید انسان باشد.
این رویکرد با مفهوم Human-in-the-Loop ارتباط دارد.
یک مثال ساده از Stopping Condition
فرض کنید از Agent بخواهید:
«گزارش فروش سه ماه گذشته را تحلیل و آماده کن.»
Agent ممکن است این چرخه را طی کند:
خواندن دادهها ← تحلیل ← ساخت گزارش ← بررسی نتیجه ← اصلاح گزارش ← بررسی مجدد
حالا باید شرطی برای پایان وجود داشته باشد.
مثلاً:
اگر همه بخشهای گزارش تکمیل شده باشند و خطای مهمی وجود نداشته باشد، کار متوقف شود.
اگر چنین شرطی وجود نداشته باشد، Agent ممکن است بارها گزارش را بررسی و بازنویسی کند.
Stopping Condition و Agentic Loop چه ارتباطی دارند؟
این دو مفهوم مستقیماً با یکدیگر مرتبط هستند.
Agentic Loop باعث میشود Agent بتواند چند بار چرخه تصمیمگیری و اقدام را تکرار کند.
Stopping Condition مشخص میکند چه زمانی این چرخه باید تمام شود.
میتوان فرآیند را ساده اینطور نشان داد:
مشاهده ← تصمیمگیری ← اقدام ← بررسی نتیجه ← آیا شرط توقف برقرار است؟
اگر پاسخ «نه» باشد، چرخه ادامه پیدا میکند.
اگر پاسخ «بله» باشد، Agent کار را تمام میکند.
بنابراین بدون Stopping Condition، چرخه تصمیمگیری و اقدام ایجنت نقطه پایان مشخصی ندارد.
Stopping Condition و Reflection
Reflection نیز در تشخیص زمان توقف نقش مهمی دارد.
در مرحله Reflection، Agent نتیجه را ارزیابی میکند.
مثلاً بررسی میکند:
آیا خروجی کامل است؟
آیا هدف اصلی انجام شده؟
آیا خطای مهمی باقی مانده؟
اگر نتیجه ارزیابی نشان دهد خروجی به معیارهای موردنظر رسیده است، Stopping Condition میتواند فعال شود.
در غیر این صورت، Agent دوباره وارد چرخه اصلاح میشود.
شرط توقف همیشه یک معیار نیست
در بسیاری از Agentهای واقعی، چند شرط توقف بهصورت همزمان تعریف میشوند.
برای مثال یک Agent تحقیقاتی ممکن است تا زمانی ادامه دهد که یکی از شرایط زیر برقرار شود:
- اطلاعات کافی برای پاسخ پیدا شده باشد
- حداکثر ۱۵ جستوجو انجام شده باشد
- زمان اجرای وظیفه تمام شده باشد
- بودجه تعیینشده مصرف شده باشد
- ادامه کار نیازمند تصمیم کاربر باشد
این نوع طراحی باعث میشود Agent هم انعطافپذیر باشد و هم تحت کنترل باقی بماند.
Stopping Condition در Agent برنامهنویسی
فرض کنید از یک Agent برنامهنویسی بخواهیم:
«این باگ را برطرف کن.»
Agent ممکن است کد را بررسی کند، تغییر ایجاد کند و تستها را اجرا کند.
شرط پایان میتواند این باشد:
تمام تستهای مرتبط با موفقیت اجرا شوند.
چرخه میتواند چنین باشد:
بررسی کد ← اصلاح ← اجرای تست ← مشاهده نتیجه ← اصلاح یا پایان
اگر تستها موفق باشند، Agent متوقف میشود.
اگر تست شکست بخورد، چرخه ادامه پیدا میکند؛ البته تا زمانی که محدودیت تعداد مراحل یا زمان نیز نقض نشده باشد.
چرا شرط توقف باید دقیق تعریف شود؟
اگر Stopping Condition خیلی ساده یا مبهم باشد، ممکن است Agent زودتر از موعد متوقف شود.
مثلاً فقط گفتن «وقتی گزارش خوب بود، متوقف شو» معیار دقیقی نیست.
اما اگر مشخص شود:
گزارش باید شامل فروش کل، مقایسه با ماه قبل، سه محصول پرفروش، سه افت اصلی و جمعبندی مدیریتی باشد
Agent معیار روشنتری برای بررسی کامل شدن وظیفه خواهد داشت.
پس هرچه تعریف موفقیت دقیقتر باشد، تشخیص زمان پایان نیز بهتر انجام میشود.
آیا Agent خودش همیشه میتواند زمان توقف را تشخیص دهد؟
نه لزوماً.
در بعضی Agentها مدل زبانی تصمیم میگیرد که هدف انجام شده است.
اما در سیستمهای قابلاعتمادتر، بهتر است بخشی از شروط توقف توسط خود سیستم و بهصورت قطعی کنترل شوند.
مثلاً:
تعداد مراحل، زمان اجرا و هزینه مصرفشده میتوانند توسط برنامه بررسی شوند و وابسته به قضاوت مدل نباشند.
در نتیجه معمولاً ترکیبی از دو نوع شرط داریم:
شرطهای معنایی: مانند اینکه آیا خروجی کامل است یا نه.
شرطهای قطعی: مانند تعداد مراحل، زمان یا هزینه.
ترکیب این دو روش کنترل بهتری روی رفتار Agent ایجاد میکند.
ارتباط Stopping Condition با اجزای دیگر AI Agent
تا اینجا در مجموعه «پشت پرده AI Agentها» با چند جزء مهم آشنا شدهایم.
Memory اطلاعات مهم را نگهداری میکند.
Context اطلاعات فعلی Agent را فراهم میکند.
Planning مراحل انجام کار را مشخص میکند.
Reasoning برای تصمیمگیری بین گزینهها استفاده میشود.
Tool Calling امکان استفاده از ابزارها را فراهم میکند.
Reflection نتیجه اقدامات را بررسی میکند.
Agentic Loop این فرآیند را در یک چرخه تکرارشونده قرار میدهد.
و Stopping Condition مشخص میکند این چرخه چه زمانی باید پایان پیدا کند.
در واقع Stopping Condition یکی از بخشهایی است که کمک میکند استقلال Agent تحت کنترل باقی بماند.
جمعبندی
Stopping Condition در AI Agentها مجموعه شرایطی است که مشخص میکند Agent چه زمانی باید اجرای یک وظیفه یا Agentic Loop را متوقف کند.
این شرط ممکن است رسیدن به هدف، کامل شدن خروجی، رسیدن به سقف تعداد مراحل، تمام شدن زمان یا هزینه یا نیاز به تأیید انسان باشد.
به زبان ساده:
Stopping Condition = مشخص کردن نقطه پایان برای ایجنت
بدون شرط توقف مناسب، یک Agent ممکن است بیدلیل مراحل را تکرار کند، هزینه و زمان بیشتری مصرف کند یا حتی وارد Loop بیپایان شود.
به همین دلیل در طراحی Agentهای واقعی، همانقدر که مهم است بدانیم Agent چه کاری باید انجام دهد، مهم است مشخص کنیم چه زمانی باید دست از انجام آن کار بکشد.
درباره فیلاگر
فیلاگر، جامعه هوش مصنوعی ایران، مرجعی برای آموزش و بررسی مفاهیم و فناوریهای روز AI است. در مجموعه «پشت پرده AI Agentها» تلاش میکنیم ایجنتهای هوش مصنوعی، نحوه کار آنها و کاربردهای واقعیشان را با زبانی ساده، دقیق و کاربردی توضیح دهیم.
پشت پرده AI Agentها | قسمت ۱
پشت پرده AI Agentها | قسمت ۲
پشت پرده AI Agentها | قسمت ۳
پشت پرده AI Agentها | قسمت ۴
پشت پرده AI Agentها | قسمت ۵
پشت پرده AI Agentها | قسمت ۶
پشت پرده AI Agentها | قسمت ۷
پشت پرده AI Agentها | قسمت ۸
پشت پرده AI Agentها | قسمت ۹
پشت پرده AI Agentها | قسمت ۱۰
دیدگاهتان را بنویسید