Specsmaxxing: چرا اسپکهای YAML مینویسم
خلاصهٔ کاملتر
احتمالاً این سناریو برات آشناست: از Claude یا GPT میخوای یه فیچر کامل پیاده کنه. نتیجه در نگاه اول شگفتانگیزه — تا وقتی که یادت بیاد یه edge case مهم رو فراموش کردی. AI فوری میگه «حق با توئه، درستش میکنم» — بعد میبینی از offset pagination استفاده کرده در حالی که cursor pagination منطقیتر بود. دوباره درست میکنه. بعد متوجه میشی یه N+1 query داره. همین چرخه بارها تکرار میشه.
نویسندهی مقاله این وضعیت رو «Peak Slop» مینامه — اوج کدهای بیکیفیتی که از تعاملات بیبرنامه با AI به وجود میان. به اعتقادش، این دوران داره تموم میشه و ما وارد «پستاسلاپ» میشیم؛ جایی که نرمافزار قویتر، بهتر تستشده و قابلمشاهدهتره — به شرطی که روش کار با AI رو عوض کنیم.
مشکل اصلی اینه که وقتی سراغ AI میریم، معمولاً توضیح مبهمی میدیم و انتظار داریم همهچیز رو بفهمه. AI هم چون میخواد مفید باشه، هر چیزی میسازه — حتی اگه اشتباه باشه. و هر بار که میگی «این رو هم درست کن»، ممکنه چیز دیگهای خراب بشه. این همون «AI Psychosis»ه؛ یه حلقهی بیپایان از اصلاحهای متناقض.
راهحل پیشنهادی نویسنده «Specsmaxxing» نام داره: قبل از اینکه بذاری AI یه خط کد بنویسه، یه اسپک دقیق و کامل آماده کن. این اسپکها رو به فرمت YAML مینویسه چون ساختارمند، خوانا و قابل ورژنکنترله. ایده اینه که وقتی AI دقیقاً میدونه چی میخوای — از جمله edge caseها، محدودیتها و معیارهای پذیرش — کد خروجی به مراتب بهتره.
برای عملیکردن این ایده، ابزار اوپنسورسی به اسم Acai.sh ساخته شده. این ابزار یه فرایند چهار مرحلهای داره: اول اسپک مینویسی (Specify)، بعد کد رو میسازی (Ship)، سپس بررسی میکنی که آیا خروجی با اسپک مطابقت داره (Review)، و در آخر ایتریت میکنی (Iterate). نکتهی کلیدی اینه که «Acceptance Criteria» رو از ابتدا تعریف میکنی، نه بعد از اینکه AI کد نوشت.
نویسنده به ابزارهای مشابه هم نگاهی میندازه؛ از جمله GitHub Spec، Kit، OpenSpec، Kiro و Traycer.ai. با این حال Acai.sh رو به عنوان یه رویکرد اوپنسورس و عملی معرفی میکنه که میشه باهاش شروع کرد. بهعلاوه، یه چشمانداز بلندمدت هم مطرح میکنه: از Specsmaxxing به Testmaxxing، و از Testmaxxing به «کارخانههای نرمافزاری واکنشپذیر» که به صورت خودکار از اسپک تا تست تا کد پیش میرن.
در آخر نویسنده صادقانه میگه این رویکرد برای همه مناسب نیست. کسایی که دوست دارن سریع و بدون برنامهریزی کد بزنن، احتمالاً با این روش کنار نمیان. ولی برای کسایی که میخوان کیفیت خروجی AI رو به طور جدی بالا ببرن، Specsmaxxing میتونه یه تحول واقعی باشه.
نکات کلیدی:
- «Peak Slop» یعنی اوج کدهای بیکیفیت ناشی از تعامل بیبرنامه با AI — نویسنده معتقده این دوران تموم شده
- «AI Psychosis» یعنی گیر کردن در حلقهی بیپایان «درست کن، اشتباه جدید، دوباره درست کن»
- راهحل: قبل از کدنویسی، اسپک دقیق به فرمت YAML بنویس (Specsmaxxing)
- Acai.sh یه ابزار اوپنسورسه که فرایند Specify → Ship → Review → Iterate رو پشتیبانی میکنه
- تعریف Acceptance Criteria از ابتدا، کلید اصلی بهبود کیفیت خروجی AIه
- چشمانداز آینده: رسیدن به کارخانههای نرمافزاری خودکار از اسپک تا کد نهایی




