
بر اساس گزارش XDA Developers، نویسنده این گزارش سه ایجنت کدنویسی (Coding Agent) محبوب را در آزمایشی غیرمعمول قرار داده است: هر ابزار باید نسخهای جایگزین برای خود میساخت. در این آزمایش، Claude Code نسخهای به نام XDACode، Antigravity نسخهای به نام XDAGravity و Codex نسخهای به نام XDACodex را تولید کردند. نکته جالب آن است که تیم Claude Code پیشتر اعلام کرده بود Claude حدود ۹۰ درصد کد خود این ابزار را نوشته است.
یک درخواست یکسان برای سه ایجنت
نویسنده به هر سه ایجنت یک درخواست (Prompt) یکسان داده است تا شرایط آزمون تا حد امکان منصفانه باشد. هدف، ساخت نسخهای دقیقاً مشابه نبود؛ بلکه یک ایجنت کدنویسی کاربردی مورد انتظار بود که بتواند پروژه را بررسی کند، فایلها را بخواند و تغییر دهد، فرمانها را اجرا کند، تست بگیرد و خطاها را خودکار برطرف کند. همچنین تأکید شده بود که ابزارها نباید صرفاً پوششی (Wrapper) حول ایجنتهای موجود بسازند یا کار اصلی را به یک کیت توسعه نرمافزار ایجنت (Coding-Agent SDK) بسپارند. انتخاب زبان برنامهنویسی، ساختار برنامه و کتابخانهها به خود ایجنتها واگذار شد.
مسیر فنی متفاوت؛ از پایتون تا Node.js
Claude Code و Codex تصمیم نخست مشابهی گرفتند و هر دو پایتون (Python) را انتخاب کردند. Claude Code از کیت توسعه نرمافزار رسمی Anthropic برای ارتباط با مدلهای Claude و همچنین Rich و prompt_toolkit برای رابط ترمینال (Terminal Interface) استفاده کرد. Codex نسخه اولیه خود را با کتابخانه استاندارد پایتون و بدون وابستگیهای زمان اجرا (Runtime Dependencies) ساخت و مستقیماً به API شرکت OpenAI متصل شد. هر دو نیز حلقههای ایجنت (Agentic Loops) اختصاصی برای هماهنگی عملیات فایل، اجرای فرمانها، بررسی نتایج و ادامه کار تا پایان وظیفه ساختند.
Antigravity مسیر متفاوتی را در پیش گرفت و Node.js را انتخاب کرد. نسخه اولیه آن نیز بدون وابستگیهای خارجی ساخته شد. اما نکته قابل توجهتر آن بود که این ابزار دو روش استفاده ارائه کرد: یک رابط تعاملی ترمینال و یک میزکار مبتنی بر مرورگر (Browser-Based Workbench). رابط مرورگری شامل کاوشگر فایل پروژه، جریان زنده گفتگو و اجرای ابزارها، درخواستهای تأیید و پنلی برای بازبینی تغییرات بود. همچنین امکان بازگردانی فایلهای جداگانه یا لغو کل تغییرات یک نشست وجود داشت. نسخه ترمینال نیز فرمانهای اسلش (Slash Commands) برای تغییر مدلها و ارائهدهندگان، بازبینی دیفها (Diffs) و بازگردانی فایلها در اختیار کاربر میگذاشت.
افزودن ورود با ChatGPT و آزمون عملی
در مرحله بعد، نویسنده از هر دو نسخه جایگزین خواست تا یکپارچگی ورود با ChatGPT (Sign in with ChatGPT) را به ابزار اضافه کنند تا بتواند از اشتراک ChatGPT Pro موجود خود استفاده کند و برای اعتبار API هزینه جداگانه پرداخت نکند. هر دو ابزار این یکپارچگی را اضافه کردند. Codex زمان بیشتری را صرف آزمون جریان احراز هویت (Authentication Flow) و مدیریت خطاهای احتمالی کرد. Antigravity پس از ورود به یک عیبیابی جزئی نیاز داشت، زیرا در ابتدا مدلی پشتیبانینشده را انتخاب کرده بود؛ اما پس از رفع این مشکل، آزمون ایجنتها آغاز شد.
معیار مقایسه: تجربه کاربری، نه فقط خروجی کد
نویسنده تأکید کرده است که چون تمرکز اصلی آزمایش، کیفیت کد تولیدشده یا ظاهر اپلیکیشن نبوده، مقایسه را بر تجربه کاربری متمرکز کرده است: اینکه کدام نسخه راحتتر استفاده میشود، وضعیت کار را شفافتر بیان میکند و دنبال کردن فرایند را سادهتر میسازد. بر این اساس، XDACode بهترین نتیجه را گرفت، XDAGravity در جایگاه دوم قرار گرفت و XDACodex ضعیفترین تجربه را ارائه داد.
- XDACode: بهترین تعادل میان اطلاعرسانی و تمیز نگه داشتن ترمینال را داشت. نشانگرهای ظریفی مانند planning یا preparing write_file هنگام آمادهسازی فایل نمایش داده میشد و سپس نام فایل و تعداد خطوط در خلاصهای کادربندیشده نشان داده میشد و از کاربر برای اعمال تغییر تأیید میگرفت.
- XDAGravity: استفاده از رنگ، تفکیک پاسخها، بهروزرسانیهای پیشرفت و پیامهای تکمیل را آسان میکرد. فرمانهایی برای تغییر مدل، بازبینی تغییرات و بازگردانی فایلها نیز در همان نشست در دسترس بود. البته پیامهای تکراری TASK SUCCEEDED حتی برای یک سلام ساده ضروری به نظر نمیرسید.
- XDACodex: دیفهای طولانی کد را مستقیماً در گفتگو چاپ میکرد و ترمینال را شلوغ میساخت. همچنین پس از پاسخ به یک سلام ساده، هشدار [UNVERIFIED] نمایش میداد، زیرا مدل ابزار تکمیل (Completion Tool) خود را فراخوانی نکرده بود. تکرار جزئیات احراز هویت در شروع اجرا و نبود جداسازی بصری میان انواع خروجی نیز آن را ناهموارتر نشان میداد.
نتیجه نهایی
در پایان، Claude Code سریعترین ابزار در ساخت نسخه جایگزین خود بود و XDACode را تولید کرد. پس از آن Antigravity قرار گرفت که XDAGravity را ساخت و Codex بیشترین زمان را برای ساخت XDACodex صرف کرد. با این حال، ابزاری که بیشترین زمان را برای ساخت جایگزین خود گذاشت، در نهایت کمترین رضایت نویسنده را از نظر تجربه کاربری به همراه داشت.