AI & AUTOMATION

Aider – AI pair programmer trong terminal cho dev

Tóm tắt nhanh:

  • Aider là công cụ AI pair programming trong terminal, repo-aware, hiểu toàn dự án và thực hiện chỉnh sửa đa file với commit Git tự động, phù hợp cho feature-size change và refactor phức tạp.
  • Cài đặt Aider rất đơn giản (pip, pipx, uv hoặc installer riêng), kết nối được với Claude, GPT-4, DeepSeek và cả mô hình local qua Ollama, giúp bạn tự tối ưu chi phí, hiệu năng và tính riêng tư.
  • Aider hỗ trợ các workflow như Architect Mode, Code Mode, /add file/dir vào context và /undo để revert commit, giúp xây dựng quy trình AI coding rõ ràng, dễ kiểm soát, thân thiện với SEO/GEO cho cả codebase lẫn nội dung kỹ thuật.

Aider là một công cụ CLI open-source cho phép bạn “pair program” với LLM ngay trong terminal, thay vì phụ thuộc vào plugin IDE riêng lẻ. Khác với các trợ lý code chỉ gợi ý từng dòng, Aider tập trung vào scale dự án: nó đọc repo, xây “repo-map”, hiểu cấu trúc và thực hiện chỉnh sửa đa file dựa trên yêu cầu ở mức feature hoặc refactor.

Điểm nổi bật:

  • Git-native: mọi thay đổi do Aider thực hiện đều được commit tự động với message có ý nghĩa, giúp dễ diff, revert và audit lịch sử chỉnh sửa của AI.
  • Repo-aware: Aider không chỉ nhìn vài file đang mở, mà có thể hiểu toàn bộ codebase khi bạn thêm vào context, phù hợp cho chỉnh sửa kiến trúc.
  • Multi-model: hỗ trợ Claude, OpenAI GPT-4, DeepSeek, Gemini, OpenRouter và cả mô hình local qua Ollama.

Bạn có thể xem repo chính tại:

Kiến trúc và triết lý thiết kế của Aider

Aider được xây dựng như một “orchestration layer” cho LLM: bản thân nó không chứa model, mà kết nối tới các provider khác nhau (Anthropic, OpenAI, DeepSeek, Ollama…). Triết lý là: bạn chọn mô hình phù hợp cho từng use case (tối ưu reasoning, tốc độ hoặc chi phí), Aider chịu trách nhiệm map repo, tạo diff, commit và đảm bảo mọi thay đổi đều có thể theo dõi.

Một số đặc điểm kỹ thuật quan trọng:

  • Atomic commits: mỗi nhóm thay đổi thành công được commit như một đơn vị độc lập, tách biệt với commit của người.
  • /undo revert: bạn chỉ cần gõ /undo trong session Aider để revert commit cuối cùng, không phải manual tìm từng file.
  • Config YAML: file ~/.aider.conf.yml hoặc .aider.conf.yml trong project cho phép cấu hình model mặc định, auto-commits, chế độ dark, map-tokens, ignore pattern…

Chuẩn bị môi trường trước khi cài Aider

Trước khi cài, bạn cần lưu ý một số yêu cầu cơ bản:

  • Python: Aider hỗ trợ Python khoảng 3.8-3.13; nhiều hướng dẫn khuyến nghị Python 3.12 khi dùng installer dựa trên uv.
  • Git: workflow của Aider xoay quanh Git; nếu repo chưa được git init, Aider sẽ đề nghị khởi tạo, bạn nên chấp nhận.
  • API key LLM: tuỳ provider (Anthropic, OpenAI, DeepSeek, Gemini, OpenRouter…), bạn cần lấy API key và cấu hình qua biến môi trường hoặc file YAML.

Nếu bạn dùng mô hình local qua Ollama, không cần API key, nhưng phải cài Ollama và pull model tương ứng.

Cài đặt Aider bằng installer chính thức (khuyến nghị hiện đại)

Đội Aider cung cấp một installer riêng giúp setup nhanh bằng uv và Python 3.12, rất phù hợp cho môi trường dev hiện đại.

Quy trình:

# Cài đặt installer
python -m pip install aider-install

# Chạy installer
aider-install

Lệnh aider-install sẽ:

  • Cài uv nếu chưa có.
  • Dùng uv tool install --python python3.12 aider-chat để đưa Aider vào PATH như một tool.
  • Chạy uv tool update-shell để cập nhật shell config, giúp lệnh aider khả dụng ngay.

Sau khi xong, kiểm tra:

aider --version

Nếu thấy version hiển thị, bạn đã cài thành công bản CLI mới nhất của Aider.

Cài đặt Aider bằng pip/pipx hoặc brew/docker

Nếu bạn thích cách cài “truyền thống”, có nhiều lựa chọn khác nhau.

pip (standard)

# Cài đặt bằng pip
pip install aider-chat

# Kiểm tra phiên bản
aider --version

pipx (isolated environment)

pip install pipx
pipx ensurepath

# Cài Aider
pipx install aider-chat

# Nâng cấp
pipx upgrade aider-chat

Homebrew (macOS)

brew install aider

Docker (chạy Aider trong container)

docker run -it --rm \
  -v $(pwd):/app \
  -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
  paulgauthier/aider

Cách dùng Docker rất phù hợp khi bạn muốn thử nhanh hoặc giữ môi trường host “sạch”, chỉ mount code và API key vào container.

Cấu hình API key và model mặc định

Sau khi cài, bạn cần kết nối Aider với LLM. Có hai cách chính: biến môi trường hoặc file config YAML.

Cấu hình qua biến môi trường

Ví dụ với Claude, OpenAI và DeepSeek:

# Claude (Anthropic)
export ANTHROPIC_API_KEY="sk-ant-..."

# OpenAI GPT-4
export OPENAI_API_KEY="sk-..."

# DeepSeek
export DEEPSEEK_API_KEY="sk-ds-..."

Bạn có thể thêm vào ~/.bashrc hoặc ~/.zshrc để tự động tải khi mở shell.

Ví dụ cấu hình mặc định cho Aider:

# Aider configuration
export AIDER_MODEL="claude-3-5-sonnet-20241022"
export AIDER_AUTO_COMMITS=true
export AIDER_DARK_MODE=true
export AIDER_PRETTY=true

Cấu hình qua ~/.aider.conf.yml

Một file YAML điển hình:

model: claude-3-5-sonnet-20241022
auto-commits: true
dirty-commits: true
edit-format: diff
dark-mode: true
pretty: true
map-tokens: 1024
max-chat-history-tokens: 4000
aiderignore:
  - "*.log"
  - "node_modules/"
  - "dist/"
auto-add: true

Cách này cho phép bạn quản lý setting Aider ở cả mức global lẫn per-project, khá giống .editorconfig hoặc config cho formatter.

Khởi động Aider trong một project Git

Khi mọi thứ đã sẵn sàng, quy trình cơ bản để dùng Aider là:

# Tạo hoặc vào repo
git init
git checkout -b feature/new-auth   # ví dụ branch feature

# Chạy Aider trong repo đó
aider

Lần đầu chạy, Aider thường sẽ:

  • Hỏi bạn có muốn thêm các file như .aider.env, .aider.chat.history.md vào .gitignore không – nên chấp nhận.
  • Đề nghị git init nếu thư mục chưa là repo – nên đồng ý vì toàn workflow dựa trên Git.

Sau bước thiết lập ban đầu, bạn sẽ thấy prompt chat của Aider trong terminal, kèm thông tin model, trạng thái repo và map context.

Thêm file vào context và làm việc với Architect/Code mode

Trước khi yêu cầu Aider chỉnh sửa, bạn phải cho nó biết file hoặc thư mục nào liên quan.

Thêm file/thư mục vào context

/add app.py
/add src/

Sau mỗi lệnh /add, Aider sẽ xác nhận file/dir đã được đưa vào context map, nghĩa là nó có thể đọc và hiểu toàn bộ nội dung đó.

Lên kế hoạch với Architect Mode

Đối với refactor lớn, không nên “nhảy vào code ngay”, mà nên yêu cầu plan ở mức kiến trúc.

Bạn có thể bắt đầu prompt với /architect, ví dụ:

/architect Hãy phân tích kiến trúc hiện tại của src/ và đề xuất kế hoạch refactor để tách authentication và authorization thành module riêng.

Aider sẽ trả về plan chi tiết: các bước, file cần tạo/sửa, rủi ro và test cần thiết.

Thực thi với Code Mode

Khi hài lòng với plan, bạn chuyển sang Code Mode:

/code Bây giờ hãy triển khai kế hoạch vừa đề xuất.

Aider sẽ lần lượt tạo/sửa file, hiển thị diff, hỏi bạn confirm trước khi áp dụng thay đổi và commit. Cách này giúp bạn vẫn giữ quyền kiểm soát cuối cùng, tránh tình trạng AI “làm bừa” mà bạn không biết.

Quản lý thay đổi bằng commit tự động và /undo

Mỗi nhóm thay đổi thành công sẽ được Aider commit với message mô tả rõ ràng.
Nếu một commit gây lỗi hoặc bạn không thích hướng refactor, chỉ cần gõ:

/undo

Aider sẽ revert commit cuối cùng, đưa repo về trạng thái trước đó mà không cần bạn tự tìm từng file để sửa.

Kết hợp với branch strategy (ví dụ mỗi feature dùng một branch riêng), bạn có thể để Aider xử lý cả những thay đổi khá lớn mà vẫn giữ được lịch sử Git sạch và dễ audit.

Duy Nghiện
Hãy làm khán giả, đừng làm nhân vật chính :)

You may also like

Nhận thông báo qua email
Nhận thông báo cho
guest

0 Bình luận
Mới nhất
Cũ nhất Nhiều like nhất