PR-AF؛ ریویوکنندهٔ کد متنبازی که صدر بنچمارک رو گرفت
خلاصهٔ کاملتر
PR-AF یه ریویوکنندهٔ کد متنبازه که روی چارچوب AgentField ساخته شده و صریحاً برای ریویو عمیق طراحی شده، نه خلاصهکردن سطحی diff. ایدهٔ محوریاش اینه که هر پولریکوئست رو به یه نقشهٔ ریویوی مخصوص همون PR تبدیل کنه، ایجنتهای ریویوکنندهٔ متمرکز اجرا کنه، یافتهها رو به شواهد کد گره بزنه و بعد خودش به چالششون بکشه.
طبق آماری که تو مخزن اومده، PR-AF با مدل GLM-5.2 روی ۳۸ پولریکوئست قابلاجرای بنچمارک Martian Code-Review-Bench با golden recall برابر ۰٫۷۰۶ رتبهٔ اول بین ابزارهای متنباز رو گرفته — در مقایسه با ۴۲ ابزار، و به ادعای سازندهها جلوتر از cubic-v2 و همهٔ نسخههای qodo و coderabbit و greptile و copilot و devin تو این اسنپشات. ادعای دیگهشون ۵۹۵ یافتهٔ مستقلاً معتبره، یعنی حدود سه برابر ابزارهای تجاری پیشرو، با هزینهای حدود ده برابر کمتر بهازای هر ریویو.
نکتهٔ معماریاش اینه که یه اسکریپت ثابت اجرا نمیکنه؛ گراف اجرای خودش رو بر اساس توپولوژی PR ورودی بازسازی میکنه. وقتی یه PR میرسه، سیستم ابعاد ریویو رو بهصورت پویا کامپایل میکنه — diff رو از سه عدسی معنایی، مکانیکی و سیستمی نگاه میکنه — و بعد ایجنتهای ریویوکنندهٔ تخصصی و موقتی میسازه که دقیقاً برای همون زمینه تنظیم شدن.
سه مکانیزمی که تو مستندات بهعنوان قلب کیفیت معرفی شدن اینان: Evidence Grounding یعنی وقتی سیستم نبود یه بررسی اعتبارسنجی رو علامت میزنه، بلافاصله قبولش نمیکنه بلکه اسنیپت دقیق فراخوانها و زمینهٔ importها رو از مخزن میکشه بیرون تا ببینه یافته واقعاً تو کد پایه داره یا نه. Compound Vulnerability Synthesis ریسکهای مرتبط رو در چند فایل خوشهبندی میکنه تا ببینه یافتههای جداجدا با هم یه مشکل سیستمی بزرگتر میسازن یا نه. و Falsifiability Gate قبل از اینکه یافته به کامنت گیتهاب تبدیل بشه، تلاش میکنه ابطالش کنه — رفتار امن، رفتار عمدی، mitigation موجود یا شواهد ضعیف.
خروجی نهایی بهشکل کامنتهای inline روی گیتهاب پست میشه و هر یافته فیلدهای فایل، خط، توضیح، پیشنهاد، شواهد و ریسک ترکیبی داره:
{
"severity": "critical",
"title": "SQL injection in user input handling",
"file": "src/api/users.py",
"line": 42,
"evidence": "AST extraction confirms f-string SQL at users.py:42, no sanitization in call chain",
"compound_risk": "Combined with missing auth middleware (finding #2), this is exploitable by unauthenticated users"
}جایگاه خودش رو هم صادقانه تعریف میکنه: قرار نیست جای ابزارهای سریع و تعاملی رو بگیره، بلکه برای گیت CI/CD ساخته شده که دقت و عمق معماری مهمتر از سرعته. هر ریویو حدود ۳۵ تا ۵۰ دقیقه طول میکشه، در حالی که ابزارهای SaaS تجاری دو تا پنج دقیقهان و ابزارهای تعاملی چند ثانیه. توصیهٔ خود سازندهها هم اینه که Claude Code رو برای توسعهٔ محلی نگه دارید و PR-AF رو دروازهبان نهایی GitHub Actions کنید.
راهاندازی چند مسیر داره: نصب از طریق CLI ابزار af روی یه control plane موجود، دیپلوی یککلیکی روی Railway، یا اجرای محلی با Docker Compose. دو تا سکرت لازمه — OPENROUTER_API_KEY و GH_TOKEN با اسکوپ repo. برای GitHub Actions هم یه ورکفلو آماده هست که با اضافهشدن لیبل pr-af روی PR فعال میشه و با GITHUB_TOKEN داخلی کار میکنه. سقف هزینهٔ هر اجرا هم با متغیر PR_AF_MAX_COST_USD قابل تنظیمه (پیشفرض ۲ دلار).
PR-AF فقط یه نمونه از اکوسیستم بزرگتر AgentFieldه؛ کنارش SWE-AF برای تولید خودکار PR آمادهٔ پروداکشن و SEC-AF برای بازبینی امنیتی کد معرفی شدن. مخزن یه پورت Go هم داره که جدا با نام pr-af-go ثبت میشه و میتونه همزمان با نسخهٔ پایتون روی یه control plane اجرا بشه، هرچند پیادهسازی پایتون همچنان پیشفرضه.
نکات کلیدی:
- PR-AF یه ریویوکنندهٔ کد ایجنتیک متنباز روی AgentFieldه، با تمرکز روی گیت CI/CD نه ریویو سریع
- ادعای بنچمارک: رتبهٔ یک متنباز با golden recall ۰٫۷۰۶ روی Martian Code-Review-Bench با مدل GLM-5.2
- گراف اجرا برای هر PR بازسازی میشه و ایجنتهای ریویوکنندهٔ موقت و تخصصی ساخته میشن
- سه مکانیزم کلیدی: گرهزدن یافته به شواهد کد، ترکیب ریسکهای پراکنده، و دروازهٔ ابطالپذیری
- هر ریویو حدود ۳۵ تا ۵۰ دقیقه طول میکشه — عمداً کندتر و عمیقتر از رقبا
- اجرا با Docker، Railway یا GitHub Actions با لیبل pr-af؛ فقط دو سکرت لازم داره
- سقف هزینهٔ هر اجرا با PR_AF_MAX_COST_USD کنترل میشه و یه پورت Go هم اختیاری در دسترسه




