LoopGain: حلقهٔ ایجنت رو کِی ببندیم
خلاصهٔ کاملتر
حلقههای ایجنت تو محیط تولید تقریباً همیشه با یه سقف ثابت تکرار تموم میشن، و سازندهٔ LoopGain اسم این کارو گذاشته «پیشفرض شرمآور هوش مصنوعی ایجنتی»: یا محاسبات هدر میره چون حلقه دیر وایمیسته، یا خروجی بد تحویل میشه چون زود وایمیسته. LoopGain جاش یه سیاست توقف و بازگشت میذاره که ریشهش تو تحلیل نوسانسازهای فیدبکدار مهندسی برقه.
تنها چیزی که خودت باید فراهم کنی یه سیگنال خطاست: یه عدد نامنفی که هر تکرار میگه خروجی فعلی چقدر غلطه، و کوچیکتر یعنی بهتر. مثلاً تعداد تستهای شکستخورده تو کدنویسی ایجنتی، تعداد نقض اسکیما تو استخراج داده، یا تعداد خطاهای لینتر. کتابخونه نمیدونه حلقهت چیکار میکنه؛ فقط مسیر همون عدد رو تماشا میکنه.
خود استفادهش سه خطه:
from loopgain import LoopGain
lg = LoopGain(target_error=0.1)
while lg.should_continue():
errors = verifier.verify(output)
lg.observe(errors, output=output)
output = reviser.revise(output, errors)زیر کاپوت، موتور تصمیمگیری کل مسیر خطا رو با چهار ویژگی طبقهبندی میکنه: کاهش تجمعی نسبت به خطای اول، شیب رگرسیون روی لگاریتم خطا، معناداری آماری اون شیب و میزان نوسان. بر همین اساس مسیر تو یکی از پنج حالت میشینه — از همگرایی سریع تا درجا زدن، نوسان و واگرایی — و هر حالت یه تصمیم داره: ادامه، توقف با بهترین خروجی، یا لغو و بازگشت. طراحی عمداً محافظهکاره تا روی سریهای نوفهدار خطا، توقف کاذب ندیم.
نکتهٔ خوب اینه که موقع توقف، خروجیِ کمخطاترین تکرار برمیگرده، نه آخرین تکرار. یعنی تشخیص واگرایی از «لغو با آشغال» تبدیل میشه به «لغو با بهترین چیزی که دیدی» — یه کف کیفیت مجانی. کتابخونه پایتون خالصه، بدون وابستگی زمان اجرا، و برای LangGraph، CrewAI، AutoGen، LangChain و SDKهای ایجنت OpenAI و Claude آداپتور آماده داره.
اعدادی که خودشون منتشر کردن از یه بنچمارک ۲٬۰۰۰ آزمایشی جفتی روی ۱۰ سلول بارکاری میآد: حدود ۹۲.۸ درصد کاهش هزینهٔ API نسبت به سقف ۲۰ تکرار (از ۲۷ دلار به ۱.۹ دلار)، حدوداً ۱۵ برابر سریعتر از نظر زمان دیواری، و کیفیتی که به گفتهٔ خودشون قربانی سرعت نشده.
بخش قابل احترام مستندات، محدودیتهای صریحشه. صرفهجویی به بارکاری بستگی داره و برای حلقههای پرشکست خیلی کمتره. مهمتر اینکه ابزار همگرایی رو تشخیص میده نه درستی رو: ممکنه حلقه روی دو تست شکستخورده به فلات برسه و متوقف بشه. و چون فقط به سیگنال خطای تو تکیه میکنه، یه verifier ضعیف میتونه صفر گزارش بده در حالی که جواب هنوز غلطه — رو همون بارکاری کدنویسی، ۴.۵ درصد اجراهای همگراشده از تستهای کنارگذاشتهشده رد نشدن.
نکات کلیدی:
- جایگزین سقف ثابت تکرار با یه سیاست توقف مبتنی بر روند خطا
- فقط یه عدد خطای نامنفی در هر تکرار لازم داره؛ بقیهش کار خود کتابخونهست
- موقع توقف، کمخطاترین خروجی برمیگرده نه آخرین خروجی
- بنچمارک عمومیشون از حدود ۹۳ درصد کاهش هزینه و ۱۵ برابر سرعت میگه
- ابزار همگرایی رو میفهمه نه درستی رو؛ کیفیت توقف به قدرت verifier تو بستگی داره
- تلهمتری اختیاری و پیشفرض خاموشه و محتوای پرامپت و خروجی هیچوقت فرستاده نمیشه




