کدنویسی با AI

Aider — pair programming روی ترمینال

Aider — pair programming روی ترمینال — راهنمای فارسی از مجموعهٔ «کدنویسی با AI» در وبلاگ آیرا. بازنویسی‌شده با تمرکز روی کاربر ایرانی و روایت شناخت پیوسته.

نوشتهٔ به‌روزرسانی: ۳ دقیقه مطالعه
تصویر مقالهٔ Aider — pair programming روی ترمینال

Aider یه ابزار متن‌باز هست که توی ترمینال باهاش کد می‌نویسی — نه یه افزونهٔ ویرایشگر، نه یه IDE جدید. مستقیم توی مخزن Git می‌نشینه، فایل‌ها رو می‌خونه، تغییر می‌ده، و commit می‌کنه.

Aider چیه و چطور کار می‌کنه

Aider رو Paul Gauthier نوشته و از ۲۰۲۳ توسعه پیدا کرده. ایدهٔ اصلیش اینه: به جای اینکه کد رو کپی کنی توی ChatGPT و جواب بگیری و برگردی بذاری توی فایل — Aider مستقیم به فایل‌های پروژه‌ات دسترسی داره، تغییرات رو می‌نویسه، و حتی commit می‌کنه.

pip install aider-chat
cd my-project
aider --model claude-opus-4-5

بعد از اجرا، یه chat interface توی ترمینال باز می‌شه. می‌تونی بنویسی:

> این تابع validate_email خطا می‌ده وقتی آدرس خالی‌ه. درستش کن.

Aider فایل مربوطه رو پیدا می‌کنه، تغییر می‌ده، diff رو نشونت می‌ده، و می‌پرسه commit کنه یا نه.

ویژگی‌هایی که Aider رو متمایز می‌کنن

۱. Git-native بودن Aider با Git مستقیم کار می‌کنه. هر تغییر رو می‌شه راحت با git diff دید، و اگه نتیجه خوب نبود، git reset کافیه. این یه مزیت بزرگه نسبت به ابزارهایی که تغییراتشون ناشفافه.

۲. Map درخت فایل Aider قبل از جواب دادن، ساختار پروژه رو اسکن می‌کنه و یه «repo map» می‌سازه — لیست فایل‌ها، کلاس‌ها، و توابع اصلی. این کمک می‌کنه بدون اینکه همهٔ کد رو توی context بذاره، بفهمه کدام فایل‌ها مرتبط‌ترن.

۳. انتخاب مدل می‌شه Aider رو با Claude، GPT-4، Gemini، یا مدل‌های محلی مثل Ollama استفاده کرد. این مهمه چون می‌تونی هزینه رو کنترل کنی یا از مدل داخلی استفاده کنی.

۴. /ask و /code mode دو حالت داری: /ask فقط توضیح می‌ده (فایل رو تغییر نمی‌ده) و حالت /code که پیش‌فرضه و مستقیم کد می‌نویسه. خوبه وقتی می‌خوای اول بفهمی AI چی فکر می‌کنه.

SWE-Bench — عملکرد واقعی

Aider روی SWE-Bench Verified — یه benchmark استاندارد که باگ‌های واقعی GitHub Issues رو حل می‌کنه — نتایج قابل توجهی داره. با مدل Claude Opus به ۴۰-۴۸ درصد حل موفق می‌رسه. این عدد برای یه ابزار متن‌باز که کاملاً رایگان (به‌جز هزینهٔ API) هست، چشمگیره.

کِی Aider خوبه، کِی نه

خوب برای:

  • پروژه‌های با Git که می‌خوای تاریخچه تغییرات داشته باشی
  • باگ‌فیکس‌های مشخص («این تابع این خطا می‌ده»)
  • refactoring محدود («این متد رو به دو تابع کوچیک تقسیم کن»)
  • کسی که ترمینال رو ترجیح می‌ده به GUI

کمتر مناسب برای:

  • پروژه‌های خیلی بزرگ با ده‌ها هزار خط کد — context window محدودیت داره
  • طراحی معماری از ابتدا — Aider ایجنت طراح نیست، بیشتر executor
  • کسانی که با CLI راحت نیستن

نصب و شروع سریع

# نصب
pip install aider-chat

# اجرا با Claude
export ANTHROPIC_API_KEY=your_key
aider --model claude-opus-4-5 main.py utils.py

# یا GPT-4
export OPENAI_API_KEY=your_key
aider --model gpt-4o main.py

# یا Ollama (کاملاً محلی و رایگان)
aider --model ollama/llama3.1:70b

برای اینکه context بهتری بده، فایل‌هایی که مرتبطن رو از اول اضافه کن:

aider auth.py models/user.py tests/test_auth.py

هزینه — ایران واقعی

Aider خودش رایگانه. هزینه‌اش API است — هر درخواستی که می‌فرستی به Claude یا GPT-4 از حساب API کسر می‌شه. یه session معمولی (یه باگ‌فیکس متوسط) حدود ۰.۰۵ تا ۰.۵ دلار API خرج می‌بره بسته به مدل و پیچیدگی کار.

برای کاربر ایرانی، دسترسی به Anthropic API یا OpenAI API نیاز به VPN و کارت خارجی داره. گزینهٔ جایگزین: Ollama با مدل‌های محلی مثل Llama یا DeepSeek رو روی سرور خودت اجرا کنی — کاملاً رایگان، هرچند ضعیف‌تر از Claude/GPT-4.

مقایسه با Cursor و Copilot

Cursor یه IDE کامله — باید از VSCode به Cursor مهاجرت کنی. Copilot یه افزونه‌ست که پیشنهاد می‌ده ولی فایل‌ها رو مستقیم تغییر نمی‌ده. Aider هیچ‌کدوم نیست — یه ابزار CLI هست که با هر ویرایشگر و هر پروژه‌ای کار می‌کنه.

اگه می‌خوای Neovim یا Emacs یا حتی Notepad داشته باشی و هنوز AI داشته باشی که کد بنویسه — Aider بهترین گزینهٔ متن‌باز موجودهٔ.

برای توسعه‌دهنده‌های ایرانی که دنبال ابزار CLI با حافظهٔ پروژه هستن، AiraCode رویکرد مشابه رو با شناخت پیوسته داره — یعنی context پروژه بین جلسه‌ها حفظ می‌شه.


همچنین بخوان

#کدنویسی با AI

ادامهٔ مسیر

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

بیشتر در «کدنویسی با AI»