TREX؛ ریویو کدی که کد رو واقعاً اجرا میکنه
خلاصهٔ کاملتر
گرپتایل (Greptile) یه ابزار بازبینی کد ساخته به اسم TREX (مخفف Test, Run, Execute) که به گفتهٔ نویسنده — شلوک، مهندس نرمافزار گرپتایل — علاوهبر خوندن pull requestها، خودِ کد رو هم اجرا میکنه و نشون میده چی اشتباه پیش رفته. استدلالش اینه که بیشتر ابزارهای AI هنوز فقط «کد رو میخونن»، ولی یه دستهٔ کامل از باگها اصلاً توی کد دیده نمیشن و فقط موقع اجرای برنامه وجود دارن.
به گفتهٔ نویسنده، بازبینی ایستا یه سقف داره: میتونه استدلال کنه که کد چی میگه، ولی نمیتونه بگه چیکار میکنه. خطای منطقیای که به یه ترتیب خاص از state نیاز داره، رگرسیون UI که بعد از لود صفحه پیدا میشه، یا race conditionی که یه درخواست واقعی میخواد — همهشون رو میشه توی دیف کامل خوند و بازم کامل از دست داد. TREX جواب گرپتایل به این سقفه: یه لایهٔ اجرا که مستقیم توی code review تعبیه شده.
نویسنده تعریف میکنه که TREX اولش یه محصول جدا بود که تست تولید و اجرا میکرد، ولی جواب نداد چون تولید تست همون پیداکردن باگ نبود و کلی نویز میساخت؛ دو ایجنت جدا هم بخشهای تکراری کدبیس رو دوبارهکاری میکردن. راهحل نهایی این شد که TREX همون context ایجنت اصلیِ بازبین رو به اشتراک بذاره: ایجنت بازبین نقش ارکستریتور رو میگیره، دیف رو میخونه، مسائل ارزشبررسی رو مشخص میکنه و برای هر مسئله یه سابایجنت TREX جدا و موازی بالا میاره. هر سابایجنت یافتههای بازبین اصلی رو به ارث میبره، context window خودش رو داره و فقط روی همون مسئله فوکوسه — مثلاً برای یه فیچر UI پشت auth، خودش محیط و feature flag رو ست میکنه و با یه اسکرینشات از فیچر رندرشده برمیگرده.
بخش مهم دیگه artifactهای چندرسانهای ست. نویسنده میگه نسخهٔ اول فقط بولتپوینت میداد («فلان فلو تست شد، خطا خورد») که معلوم نمیکرد کجا خراب شده و حتی گاهی ایجنت در مورد میزان تستش توهم میزد. برای همین حالا هر یافته با اسکرینشات، لاگ، trace از APIها، اسکریپت اجرا و حتی ویدیو پشتیبانی میشه تا هم آدم و هم ایجنتهای بعدی بتونن خودشون اجرا رو تأیید کنن؛ چون به قول نویسنده مدرکِ بد از نبودِ مدرک بدتره.
زیرساختش هم روی یه harness مدلندانسته (model-agnostic) بناست که اجازه میده مدلهای frontier رو بدون بازنویسی جابهجا کنی و حتی ایجنت اصلی و سابایجنتها از providerهای مختلف استفاده کنن؛ ارزیابی بر اساس recall (چند باگ واقعی گرفته میشه) و precision (ثبات نتیجه در اجراهای مکرر) انجام میشه و latency عمداً کماهمیتتره. نویسنده میگه این harness متنباز همسطح harnessهای بومیِ خود provideها کار میکنه و بابت مدلندانستهبودن، افت کیفیت محسوسی نداره.
هر بازبینی هم یه سندباکس یکبارمصرف میسازه که در چند میلیثانیه بالا میاد، پروژهٔ واقعی رو با وابستگیهای واقعی اجرا میکنه و آخر کار دور انداخته میشه؛ برای سرعت از base imageهای قابلاستفادهٔ مجدد و snapshot هر ریپو کمک میگیره، ولی همیشه commitهای دقیق PR رو میگیره و credentialها رو میچرخونه. نویسنده میگه تمایز TREX نه توی مدلش، بلکه توی همین زیرساخت دورشه و چشمانداز گرپتایل اینه که به جای یه ابزار بازبینی، به یه «validation suite» تبدیل بشه که روی هر PR خودکار اجرا میشه.
نکات کلیدی:
- TREX (مخفف Test, Run, Execute) یه لایهٔ اجرای کد داخل code reviewِ گرپتایله
- برخلاف بازبینی ایستا، کد رو واقعاً اجرا میکنه تا باگهای زمان اجرا (race condition، رگرسیون UI) پیدا بشن
- ایجنت بازبین بهعنوان ارکستریتور برای هر مسئله یه سابایجنت موازی و همcontext بالا میاره
- هر یافته با اسکرینشات، لاگ، API trace، اسکریپت و ویدیو بهعنوان مدرک قابلتأیید همراهه
- harness مدلندانسته اجازهٔ جابهجایی مدلها و استفادهٔ همزمان از چند provider رو میده
- هر بازبینی توی یه سندباکس یکبارمصرف و ایزوله اجرا میشه تا artifactها قابلاعتماد باشن




