پرش به محتوای اصلی
پرش به محتوای مقاله

چارچوب ballast: جایگزینی حدس و خطا با چرخهٔ تأیید در Claude Code

·۲۵ مرداد ۱۴۰۵۳ دقیقه مطالعه۲ بازدید
چارچوبی که هدف را می‌گیرد و کار را تمام می‌کند: تجربه ساخت ابزار خودکارسازی با Claude Code
چارچوبی که هدف را می‌گیرد و کار را تمام می‌کند: تجربه ساخت ابزار خودکارسازی با Claude Code
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

معرفی یک متدولوژی «قرارداد-محور» (Convention-over-prompting) که توسط کاربر غیرفنی ساخته شده و اجازه می‌دهد مدل‌های زبانی بدون نیاز به بازنویسی پرامپت‌های طولانی، وضعیت و قوانین را در جلسات مختلف حفظ کنند.

تصور کنید ابزاری دارید که اجازه نمی‌دهد هوش مصنوعی تا زمانی که نتایجش را با منابع دست اول تطبیق نداده، هیچ کدی را اجرا کند. این دقیقاً همان منطق ballast است؛ چارچوبی برای تکمیل اهداف در Claude Code که در ۱۵ اوت ۲۰۲۶ توسط شخصی که اصلاً برنامه‌نویس نیست، منتشر شد. فرمان اصلی این ابزار این است: «هوش مصنوعی را مجبور کنید پیش از اجرا، کار خود را تأیید کند.»

این ابزار با جایگزینی چرخهٔ سنتی «حدس بزن و وصله کن» با یک سیستم سخت‌گیرانه از بسیج، تجزیه و تأیید پایین به بالا، مدل را از یک چت‌بات ساده به یک کارمند منضبط تبدیل می‌کند. طبق گزارش وب‌سایت dev.to، هدف اصلی ballast این است که خروجی‌های مدل پیش از اجرا، در برابر تلاش برای رد کردن (Refutation) دوام بیاورند.

بسیاری از کاربران با عامل‌های هوش مصنوعی مثل جلسات چت زودگذر برخورد می‌کنند، اما ballast نگاهی متفاوت دارد. همان‌طور که در تحلیل قبلی ما درباره‌ی تست‌های رگرسیون برای Claude Code 2.1.232 اشاره کردیم، بزرگ‌ترین چالش کاربران غیرفنی، نبود «تور ایمنی» برای بررسی کدهایی است که نمی‌توانند بخوانند. ballast این خلاء را با سیستمی پر می‌کند که در آن ادعاهای مدل تا زمان تأیید، صرفاً «پیش‌نویس» محسوب می‌شوند و اعتماد کورکورانه را با سیستمی جایگزین می‌کند که در آن ادعاها باید در برابر منابع دست اول دوام بیاورند.

زمینه و محدودیت‌ها

سازندهٔ این ابزار یک توسعه‌دهنده یا برنامه‌نویس نیست. برای چندین ماه، تمام جریان کاری او — شامل تحقیقات، مستندات، کارهای داده‌ای و خط لوله‌های پردازشی (Pipelines) — از طریق Claude Code اجرا می‌شد. این رویکرد یادآور متدولوژی جدید مدیریت پروژه‌های مستقل است که در آن توسعه‌دهندگان تنها با تکیه بر Claude Code حجم گسترده‌ای از تسک‌ها را مدیریت می‌کنند. چون او توانایی خواندن کد خروجی را نداشت، بازبینی دستی کدها به عنوان یک تور ایمنی برای او کاربردی نبود. او به سیستمی نیاز داشت که در آن کیفیت پیش از اجرا در ساختار گنجانده شود، نه اینکه بعد از بروز خطا، با وصله کردن کدها اصلاح گردد.

این نیاز منجر به خلق سیستمی شد که در آن مفهوم «اتمام کار» (Done) دیگر بر اساس ادعای مدل نیست، بلکه زمانی اتفاق می‌افتد که یک گیتِ تأیید با موفقیت پشت سر گذاشته شود. این چارچوب برای پایان دادن به شکست‌های رایج هوش مصنوعی طراحی شده است؛ مواردی مانند زمانی که مدل اصلاحات قبلی را دوباره به حالت خطا برمی‌گرداند یا تصمیماتی را که قبلاً نهایی شده بودند، دوباره باز می‌کند.

مکانیزم Ballast

مکانیزم ballast از یک قلاب (Hook) کدنویسی‌شده و ۱۱ مهارت مبتنی بر مارک‌داون تشکیل شده است. بر اساس مستندات این پروژه، فرآیند طبق یک توالی مشخص پیش می‌رود:

  • بسیج (Mobilize): عامل باید ابتدا بررسی کند که پروژه در حال حاضر چه دارایی‌هایی دارد؛ این شامل قوانین، یادداشت‌های تأییدشده و رویه‌های حل‌شده است. استفاده از دارایی‌های موجود در این مرحله اجباری است.
  • تجزیه (Decompose): اهداف به صورت سلسله‌مراتبی و از بالا به پایین به یک هرم از قطعات اتمی تقسیم می‌شوند. این تقسیم‌بندی باید به گونه‌ای باشد که هیچ هم‌پوشانی یا شکافی بین قطعات وجود نداشته باشد.
  • تأیید (Verify): هر قطعه پیش از آنکه مورد استناد قرار گیرد، باید از یک گیت عبور کند. ادعاها تا زمانی که در برابر تلاش برای رد شدن توسط منابع دست اول دوام نیاورند، برچسب «پیش‌نویس» می‌خورند. حتی می‌توان یک مدل دوم را به صورت اختیاری پیکربندی کرد تا به عنوان مخالف، ادعاهای مدل اول را به چالش بکشد.
  • تمرین (Rehearse): پیش از نهایی شدن و ارسال هر خروجی، یک خواننده بدون پیش‌زمینه (Zero-context reader) برنامه را اجرا می‌کند. هرگونه توقف یا ابهامی در این مرحله برطرف می‌شود. جالب است که نسخه فعلی خودِ ballast نیز سه دور کامل از این فرآیند تمرین را پشت سر گذاشته است.

برای جلوگیری از فراموشی دستورات توسط هوش مصنوعی، سیستم از یک کاتالوگ قوانین مبتنی بر JSON استفاده می‌کند. یک قلاب در هر پرامپت اجرا می‌شود و پیام کاربر را با کاتالوگ تطبیق داده و متن کامل قوانین مرتبط را تحویل می‌دهد. برای مثال، هرگاه کلماتی مثل «تولید» (generate)، «اعتبار» (credits) یا «دسته‌ای» (batch) ظاهر شوند، قانون «گیت هزینه» فعال می‌شود. در متن این قانون صراحتاً ذکر شده است: «هر چیزی که هزینه یا اعتبار مصرف می‌کند: ابتدا یک تخمین ارائه کن و پیش از اجرا تأیید صریح بگیر. برای مبالغ کوچک هیچ استثنائی وجود ندارد؛ هدف، ایجاد عادت است.»

پایداری و وضعیت (State)

تفاوت کلیدی ballast با جلسات استاندارد در مدیریت وضعیت است. این ابزار از یک دفتر کل (Ledger) «فقط-افزودنی» (Append-only) برای ثبت تصمیمات و یک پایگاه دانش دائمی استفاده می‌کند که پیش از هر تحقیق جدید خوانده می‌شود. این ساختار تضمین می‌کند اصلاحاتی که در یک جلسه انجام شده، به قوانین دائمی برای جلسات بعدی تبدیل شود. همچنین یک فایل چک‌پوینت (Checkpoint) نقطه بازگشت را ذخیره می‌کند تا بازگشت به کار پس از یک وقفه، تنها با یک خوانش سی ثانیه‌ای میسر شود.

نویسنده اشاره می‌کند که تمام این سیستم — از قلاب و مهارت‌ها گرفته تا مستندات — توسط خودِ Claude Code و تحت هدایت، محدودیت‌ها و اصلاحات مسیر توسط انسان نوشته شده است. قابلیت «مهارت پین» (Pin skill) به کاربر اجازه می‌دهد یک بار Claude را اصلاح کند و آن اصلاح را برای همیشه در کاتالوگ ثبت نماید.

برای کسانی که از Codex استفاده می‌کنند، مهارت‌ها به صورت مارک‌داون ساده در بلوک AGENTS.md ارائه شده و راهنمای سیم‌کشی در docs/CODEX.md قرار دارد. با این حال، قلاب اجباری کدنویسی‌شده مختص نسخه پلاگین Claude Code است؛ در Codex، همه چیز بر اساس قراردادهای متنی (Convention) است. برای توسعه‌دهندگانی که قصد انتشار ابزارهای مشابه را دارند، رعایت متدولوژی مانیفست برای عبور از بازبینی‌های سخت‌گیرانه پلاگین‌های Claude ضروری است.

این تغییر، نشان‌دهنده حرکتی به سمت «قرارداد بر پرامپت» (Convention-over-prompting) است. با تبدیل رفتار هوش مصنوعی به مجموعه‌ای از مهارت‌های قابل اجرا به جای پرامپت‌های امیدوارانه، افراد غیربرنامه‌نویس می‌توانند خط لوله‌های پیچیده را بدون نیاز به بازرسی کدهای زیرین مدیریت کنند. در واقع، مدل زبانی بزرگ (LLM) به یک ماشین وضعیت تبدیل می‌شود که پیشرفت خود را از طریق یک فایل اسکلتی ردیابی می‌کند تا در جلسه بعد، به جای شروع از صفر، همان درخت تصمیمات را بردارد.

کاربران می‌توانند این ابزار را از طریق مارکت‌پلیس با دستور /plugin marketplace add svy04/ballast یا /plugin install ballast@ballast نصب کنند. این پروژه تحت لایسنس MIT منتشر شده، هیچ وابستگی خارجی (Zero dependencies) و نیاز به شبکه ندارد و به Node 18+ نیاز دارد.

گام بعدی شما

  • اگر از Claude Code استفاده می‌کنید، افزونه ballast را نصب کنید تا از تکرار خطاهای قبلی در جلسات جدید جلوگیری کنید.
  • برای پروژه‌های حساس، یک مدل دوم (مانند GPT-4o) را به عنوان «منتقد» در مرحله Verify تعریف کنید.
  • کاتالوگ قوانین JSON خود را برای مدیریت هزینه‌های API شخصی‌سازی کنید.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این رویکرد با تکیه بر تجربهٔ عملی در مدیریت عامل‌های هوش مصنوعی، ثابت می‌کند که برای دستیابی به دقت صنعتی، باید مدل را در یک چارچوب محدودکننده قرار داد. این تغییر پارادایم، اعتماد به خروجی‌های AI را از حالت «احتمالی» به حالت «قابل‌اثبات» تغییر می‌دهد.

تأثیر برای ایران

برای توسعه‌دهندگان ایرانی که با محدودیت‌های API و هزینه‌های بالای توکن روبر هستند، پیاده‌سازی «گیت‌های هزینه» و «پایگاه دانش دائمی» در ballast می‌تواند از اتلاف اعتبار در جلسات تکراری جلوگیری کند.

·نگاه ما
تحریریه دات‌هوش

ballast نشان می‌دهد که آیندهٔ بهره‌وری از AI در دست «مهندسی فرآیند» است، نه «مهندسی پرامپت». وقتی یک کاربر غیرفنی بتواند با تعریف پروتکل‌های سخت‌گیرانه، مدل را مجبور به استدلال ساختاریافته کند، مرز بین برنامه‌نویس و کاربر نهایی از بین می‌رود. این ابزار در واقع لایهٔ نظارتی (Supervisory Layer) را از ذهن انسان به ساختار کد منتقل کرده است.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.