تصور کنید به جای نوشتن دستورات بیپایان برای یک مدل، صرفاً تعریف کنید که «پایان موفقیتآمیز» یک پروژه چه شکلی است و بقیه مسیر را به ماشین بسپارید. اگر هنوز در چرخه تکراری «پرامپت-بازبینی-اصلاح» گیر کردهاید، باید بدانید سقف بهرهوری کدنویسی با هوش مصنوعی دیگر با یک پرامپت تکخطی تعیین نمیشود. این تغییر دیدگاه، هسته اصلی رویکرد جدیدی است که بهرهوری را از سطح دستورات ساده به سطح طراحی سیستم ارتقا میدهد. این گذار به سمت خودکارسازی کامل، در واقع همان مفهوم جایگزینی پرامپتهای دستی با Loop Engineering است که اجازه میدهد عاملها بدون دخالت دائمی انسان پیش بروند.
Faisal Ishfaq در ۲۹ ژوئن ۲۰۲۶ ابزار LoopFlow را منتشر کرد تا نقش برنامهنویس را از نویسنده دستورالعمل به طراح حلقههای اجرایی تغییر دهد. در این مدل، مسئولیت تراشیدن هر خط کد از دوش انسان برداشته شده و به جای آن، مهندس وظیفه طراحی حلقههایی را بر عهده میگیرد که آن دستورات را اجرا میکنند. این رویکرد بر این باور است که مدلهای زبانی نباید صرفاً دستور بگیرند، بلکه باید در حلقههایی قرار گیرند که تا رسیدن به نتیجه مطلوب، تکرار شوند.
بسیاری از توسعهدهندگان در حال حاضر در یک چرخه دستی عمل میکنند: پرامپت میزنند، خروجی را بازبینی میکنند و دوباره تکرار میکنند. این وضعیت یک گلوگاه ایجاد میکند که در آن انسان باید در هر گام مداخله کند. الهامبخش LoopFlow، بوریس چرنی (Boris Cherny)، خالق Claude Code بود که اشاره کرد: «من دیگر به کلاد پرامپت نمیزنم؛ بلکه حلقههایی دارم که در حال اجرا هستند و خودشان به کلاد پرامپت میزنند.» این دیدگاه در واقع مبنای استراتژی جدید بوریس چرنی برای خودکارسازی معماری کد است که بر قدرت حلقههای عاملمحور تأکید دارد.
همانطور که در تحلیل قبلی ما دربارهی زنجیرههای تفویض اختیار و خطرات هزینههای نظارتنشده AI اشاره کردیم، اتوماسیون این فرآیندهای تکرار شونده یک ضرورت است. LoopFlow تلاش میکند تا این فرآیند تکرار شونده را خودکار سازد. به جای اینکه مهندس به طور مداوم به یک عامل (Agent) بگوید مرحله بعد چیست، او تعریف میکند که وضعیت «اتمام کار» چگونه است و اجازه میدهد عامل برای رسیدن به آن نتیجه تکرار کند. این کار جریان کاری را به توالی «تلاش $\rightarrow$ تأیید $\rightarrow$ تلاش مجدد» تبدیل میکند تا زمانی که موفقیت حاصل شود یا محدودیتها به پایان برسند.
این ابزار به گونهای عمل میکند که عامل بتواند بدون نظارت مستقیم کار کند، اما برای این منظور سه مشکل اساسی که در اجرای خودکار عاملها رخ میدهد را هدف قرار داده و حل کرده است:
دروازه تأیید (Verification Gate)
مشکل اول این است که عاملها اغلب «تکالیف خود را تصحیح میکنند»؛ به این معنا که همان مدلی که اصلاحیه را مینویسد، آن را تأیید میکند. برای حل این موضوع، LoopFlow از یک عامل دروازهبان با شخصیت «شکاک» استفاده میکند.
- نقش: این عامل به جای همکاری و همراهی، مانند یک بازبین سختگیر و منتقد عمل میکند.
- شرط پذیرش: بازبین باید صراحتاً و به طور دقیق با عبارت «VERDICT: PASS» نتیجهگیری کند.
- منطق شکست: هر پاسخی بهجز این عبارت (یا حتی نبودن هیچ حکمی)، به معنای شکست تلقی میشود. در این سیستم، یک موفقیت تأییدنشده، موفقیت نیست.
محدودیتهای بودجهای
مشکل دوم این است که حلقههای بدون نظارت میتوانند به طور خودکار اشتباه کنند و مبالغ زیادی را به سرعت بسوزانند. برای جلوگیری از «حلقههای فراری» (Runaway Loops) که به دنبال راهحلهای غلط میروند و اعتبار API را تخلیه میکنند، هر اجرا دارای یک بودجه سخت (Hard Budget) است.
- اجرای دوگانه: بودجه توسط خودِ Runner در LoopFlow به شدت کنترل و اعمال میشود.
- یکپارچگی ابزاری: این سامانه همچنین از تنظیم
--max-budget-usdدر Claude Code برای هر گام مجزا استفاده میکند تا لایهی دومی از کنترل هزینه ایجاد شود.
حافظه پایدار
مشکل سوم، ماهیت بدون وضعیت (Stateless) عاملها است؛ یعنی آنچه در یک اجرا میآموزند، در اجرای بعدی پاک میشود. LoopFlow این مسئله را با نگهداری یک فایل حافظه ساده در قالب Markdown حل کرده است.
- مکانیزم: پس از هر تکرار و هر گام، مشاهدات به انتهای فایل حافظه اضافه (Append) میشوند.
- تزریق: این مشاهدات در پرامپتهای آینده تزریق میشوند تا اطمینان حاصل شود که مخزن کد (Repository) آنچه را که عامل فراموش میکند، به یاد داشته باشد.

پیادهسازی فنی و نحوه استفاده
بر اساس مستندات گیتهاب این پروژه، یک حلقه معمولی کوچک است و از دو گام متمایز تشکیل شده است:
۱. اصلاح (Fix): نقشی که مانند یک نگهدارنده (Maintainer) دقیق عمل کرده و ریشه خطاها را بدون تضعیف تستهای موجود برطرف میکند.
۲. بازبینی (Review): نقشی که مانند یک مهندس ارشد شکاک، تغییرات (Diff) را بازرسی کرده و مجموعه تستها را مجدداً اجرا میکند تا صحت اصلاحیه را تأیید کند.
به عنوان مثال، یک حلقه test-and-fix را میتوان با بودجه max_usd: 2.00 و حداکثر max_iterations: 3 تکرار تنظیم کرد. این ابزار به صورت یک بسته npm (npm install -g @loopflow/cli) عرضه شده است و تنها به یک ترمینال فعال و یکپارچگی با Claude نیاز دارد تا به درستی عمل کند. نکته مهم این است که این ابزار هیچ سرویس ابری، دیمون (Daemon) یا لایه API مجزایی را معرفی نمیکند و کاملاً محلی است.
برنامهنویسان میتوانند با دستور loopflow run test-and-fix --dry-run حلقههای خود را کاوش کنند تا دقیقاً ببینند چه دستوراتی به عاملها گفته خواهد شد، یا پس از اجرای loopflow init در دایرکتوری پروژه خود، حلقه را با دستور loopflow run test-and-fix اجرا کنند.
این تغییر رویکرد، مهندس را در جایگاه اثرگذارتری قرار میدهد. به جای اصلاح سینتکس و گرامر کد، برنامهنویس اکنون منطق فرآیند تأیید را مدیریت میکند. با این حال، ریسک اصلی در این مسیر، ایجاد شکاف رو به رشد بین کد موجود و درک واقعی برنامهنویس از آن است، assuming که او بازبینی خروجیها را متوقف کند.
با صریح کردن فرآیند تأیید و حفظ درختهای کاری (Worktrees)، این ابزار قصد دارد انسان را به عنوان معمار اصلی حفظ کند. هدف این است که مهندسان همچنان کسانی باشند که کشتی را هدایت میکنند، نه اینکه صرفاً روی دکمه «اجرا» کلیک کنند. LoopFlow یک پروژه متنباز با مجوز MIT است که با TypeScript تایپشده و تستشده نوشته شده و تاکنون بیش از ۳۵ ستاره در گیتهاب از سوی توسعهدهندگان دریافت کرده است. کسانی که علاقهمند به مشارکت هستند، میتوانند مخزن کد و کتابچه دستورات (Cookbook) را در گیتهاب بیابند.
گام بعدی شما
- نصب ابزار از طریق npm و تست آن روی یک ماژول کوچک برای مشاهده نحوه عملکرد حافظه Markdown.
- طراحی یک «عامل دروازهبان» با دستورات سختگیرانه برای کاهش نرخ توهم در خروجیهای کد.
- بررسی فایلهای حافظه تولید شده توسط LoopFlow برای تحلیل الگوهای خطای مدل در پروژههای پیچیده.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو