ایجنت‌ها

Coding agents — SWE-agent و Devin

Coding agents — SWE-agent و Devin — راهنمای فارسی از مجموعهٔ «ایجنت‌ها» در وبلاگ آیرا. بازنویسی‌شده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

نوشتهٔ به‌روزرسانی: ۴ دقیقه مطالعه
تصویر مقالهٔ Coding agents — SWE-agent و Devin

در اوایل ۲۰۲۴، Cognition Labs ادعا کرد که Devin — اولین «مهندس نرم‌افزار هوشمند» — توانسته ۱۳.۸٪ از مسائل واقعی GitHub در بنچمارک SWE-bench حل کنه. این عدد در آن زمان شوکه‌کننده بود. بعدش تحقیقات مستقل نشون داد که روش اندازه‌گیری مشکل داشته و نتایج تکرارپذیر نبودن. این داستان در یه جمله خلاصه می‌شه: coding agents واقعی هستن و پیشرفت می‌کنن، ولی هایپ اطراف‌شون اغلب از واقعیت جلوتره.

Coding agent چیست؟

یه coding agent یه سیستم AI‌ه که می‌تونه وظایف مهندسی نرم‌افزار رو به‌صورت خودمختار انجام بده — نه فقط کد پیشنهاد بده، بلکه:

  • مشکل رو خودش بفهمه
  • راه‌حل طراحی کنه
  • کد بنویسه
  • تست اجرا کنه
  • خطا ببینه و اصلاح کنه
  • pull request بزنه

فرق اصلی با ابزارهایی مثل Copilot اینه که Copilot autocomplete هست — تو می‌نویسی، اون تکمیل می‌کنه. Agent خودمختار هست — تو هدف می‌دی، اون مسیر رو طی می‌کنه.

SWE-bench — میزان واقعی اندازه‌گیری

SWE-bench یه بنچمارک دانشگاهی از Princeton/Chicago هست که ۲۲۹۴ مسئلهٔ واقعی از GitHub (از مخازن معروف Python مثل Django، Flask، NumPy) رو شامل می‌شه. هر مسئله یه issue واقعیه که یه پچ واقعی برای حلش وجود داره.

نتایج مهم در SWE-bench Verified (تا اوایل ۲۰۲۶):

مدل/Agentنرخ حل (تقریبی)
Claude 3.7 Sonnet (extended thinking)~۷۰٪
OpenAI o3~۷۱٪
Devin 2.0~۵۳٪
GPT-4o (standalone)~۳۳٪
SWE-agent + GPT-4 (۲۰۲۴)~۱۸٪

اعداد بالا SWE-bench Verified هست که زیرمجموعه‌ای از مسائل با تأیید انسانی‌ه و دقیق‌تره. ارقام دقیق با هر release جدید تغییر می‌کنن.

نکتهٔ مهم: ۷۰٪ در این بنچمارک به معنای «۷۰٪ مسائل واقعی توی شرکت شما حل می‌شه» نیست. مسائل بنچمارک نسبتاً well-defined هستن. مسائل واقعی معمولاً context بیشتری دارن و کمتر مستند هستن.

SWE-agent — پروژهٔ دانشگاهی که همه چیز رو عوض کرد

SWE-agent از دانشگاه Princeton یه framework متن‌باز بود که نشون داد یه LLM می‌تونه با یه رابط terminal (که بهش ACI یا Agent-Computer Interface می‌گفتن) مستقیم با codebase تعامل کنه: فایل بخونه، ویرایش کنه، دستور اجرا کنه.

پیشرفت اصلی این بود که محققان فهمیدن فقط «یه مدل قوی‌تر» کافی نیست — interface بین agent و environment هم مهمه. SWE-agent بهینه شده بود برای اینکه context window رو کارآمد استفاده کنه: نه کل فایل رو می‌خونه، نه فقط چند خط — جست‌وجو می‌کنه تا بفهمه کجا باید نگاه کنه.

Devin — اولین «همکار مهندس»

Devin از Cognition Labs (2024) یه رویکرد متفاوت داشت: محیط ایزوله‌شده برای agent شامل یه مرورگر، terminal، ویرایشگر، و توانایی نصب ابزار. Devin می‌تونه:

  • از Jira یا Linear task بگیره
  • ریپو رو clone کنه
  • تحقیق کنه (مثلاً documentation بخونه)
  • کد بنویسه و تست کنه
  • PR بزنه با توضیح

واقعیت استفاده: Devin برای task‌های مشخص و bounded خوب کار می‌کنه — مثلاً «این میگریشن دیتابیس رو بنویس» یا «این باگ شناخته‌شده رو fix کن». برای task‌های open-ended یا نیازمند فهم عمیق سیستم، هنوز نیاز به هدایت انسانی داره.

قیمت Devin در اوایل ۲۰۲۶ حدود ۵۰۰ دلار در ماهه که برای اکثر افراد گزینهٔ تیمی محسوب می‌شه نه شخصی.

Claude Code — agent داخل ترمینال

Anthropic در ۲۰۲۵ Claude Code رو معرفی کرد — یه CLI که Claude رو مستقیم به ترمینال و IDE میاره. فرق مهم: Claude Code از همون model قوی Claude Sonnet/Opus استفاده می‌کنه ولی با یه workflow بهینه‌شده برای کدنویسی.

قابلیت‌های Claude Code:

  • خواندن و نوشتن فایل‌ها
  • اجرای دستورات shell
  • commit و git operations
  • context کامل پروژه

چرا این agents هنوز جایگاه مهندس انسانی رو نمی‌گیرن

فهم semantic: یه agent می‌تونه بفهمه «این function چیکار می‌کنه»، ولی فهمیدن «این function چرا اینطوری نوشته شده و چه تصمیمات معماری پشتشه» خیلی سخت‌تره.

Context کل شرکت: تیم چه اولویت‌هایی داره، کدام بخش‌های سیستم شکننده‌ست، با چه stakeholder هایی باید هماهنگ شد — این‌ها رو agent نمی‌دونه.

حافظهٔ پروژه: بیشتر coding agents هر session رو از صفر شروع می‌کنن. تصمیماتی که ماه پیش گرفتی، درس‌هایی که از یه باگ بزرگ یاد گرفتی — این‌ها باید دوباره توضیح داده بشن. این مشکل بنیادی که شناخت پیوسته سعی می‌کنه حلش کنه.

وضعیت سال ۱۴۰۵ برای توسعه‌دهندهٔ ایرانی

دسترسی مستقیم به Devin از ایران ممکن نیست. Claude Code نیاز به API key آنتروپیک داره که با تحریم‌ها محدودیت دارد. ابزارهای متن‌باز مثل SWE-agent و OpenHands (قبلاً OpenDevin) با local models یا API واسط قابل استفاده‌ان.

برای توسعه‌دهندهٔ ایرانی که می‌خواد از یه coding agent با حافظهٔ پروژه استفاده کنه، AiraCode یه گزینهٔ local هست که هم با شرایط ایران سازگار طراحی شده و هم مفهوم شناخت پیوسته — یادگیری از پروژه در طول زمان — رو پیاده‌سازی کرده.

جمع‌بندی

Coding agents واقعی هستن، کار می‌کنن، و بهتر می‌شن. ولی «۷۰٪ در SWE-bench» به معنای جایگزینی مهندس نیست — به معنای یه همکار خوب برای task‌های مشخصه. هوشمندانه‌ترین رویکرد: agent رو برای کارهایی که خوب انجام می‌ده (boilerplate، test نوشتن، باگ‌های مستند) به‌کار ببر و وقت آزادشده رو صرف چیزهایی کن که هنوز نمی‌تونه (طراحی، تصمیمات معماری، هماهنگی تیمی).


همچنین بخوان

#ایجنت‌ها

ادامهٔ مسیر

همهٔ مقاله‌ها ←

بیشتر در «ایجنت‌ها»