Aider 가이드
Git 통합 AI 코딩 도구 Aider를 마스터하세요. 오픈소스, 무료, 다중 LLM 지원.
# 설치 (권장)
python -m pip install pipx
pipx install aider-chat
# Git 저장소에서 실행
cd my-project
git init # Git 필요
# 최고 성능: Claude Opus 4.7 (Aider Polyglot 1위)
export ANTHROPIC_API_KEY=sk-ant-...
aider --model opus
# 비용 균형: Claude Sonnet
aider --model sonnet
# Architect 모드 (복잡한 멀티파일 작업)
aider --architect --model opus --editor-model sonnet
# Ollama와 함께 (무료)
aider --model ollama/qwen3.6:35b-a3b
소개
Aider는 Git 워크플로우에 최적화된 AI 코딩 CLI 도구입니다.
모든 변경사항을 자동으로 커밋하고, diff를 생성하며, 다양한 LLM을 지원합니다.
2023년 Paul Gauthier가 오픈소스로 공개한 이후 빠르게 성장하여,
2026년 기준 GitHub Stars 43,844+, 누적 설치 4.1M+, 주간 토큰 소비량 15B+를 기록하며
터미널 기반 AI 코딩 도구 중 가장 활발한 커뮤니티를 형성하고 있습니다.
Python, JavaScript, TypeScript, Go, Rust 등 100개 이상의 프로그래밍 언어를 지원하며,
VS Code, NeoVim 등 IDE 연동과 음성 입력(--voice) 기능도 제공합니다.
- Git 친화형 CLI: 단순한 코드 생성보다 변경 이력과 커밋 관리까지 함께 보는 도구입니다.
- 다중 LLM 연결기: Claude, OpenAI, Gemini, Ollama 등을 바꿔 가며 같은 워크플로우를 유지할 수 있습니다.
- 텍스트 중심 협업: 화려한 GUI보다는 터미널 안에서 diff와 테스트를 빠르게 반복하는 방식에 강합니다.
그림: Aider를 입문자 관점에서 단순화한 작업 흐름
왜 Aider인가?
| 특징 | 설명 |
|---|---|
| Git 네이티브 | 모든 변경사항 자동 커밋, diff 생성, 브랜치 관리 |
| 다중 LLM | Claude, GPT, Gemini, Ollama 등 다중 LLM 지원 |
| 오픈소스 | MIT 라이선스, 무료, 커뮤니티 활발 |
| 스마트 편집 | 파일 전체가 아닌 변경된 부분만 수정 (다양한 편집 포맷 지원) |
| 리포지토리 맵 | 프로젝트 구조를 자동 분석하여 LLM에 컨텍스트 제공 |
| 무료 사용 | Ollama와 함께 사용 시 완전 무료 |
| 100+ 언어 지원 | Python, JavaScript, TypeScript, Go, Rust 등 100개 이상의 프로그래밍 언어 지원 |
| IDE 통합 | VS Code, NeoVim 등 주요 에디터와 연동 가능 |
| 음성 코딩 | --voice 옵션으로 음성 입력을 통한 코딩 지원 |
Edit-Test-Commit 워크플로우
Aider의 핵심 동작 방식은 편집 → 테스트 → 커밋의 자동화된 사이클입니다. 사용자가 요청을 입력하면, LLM이 코드를 편집하고 린트/테스트를 실행한 뒤 통과하면 자동으로 Git 커밋을 생성합니다. 실패 시 자동으로 재시도합니다.
그림: Aider Edit-Test-Commit 자동화 워크플로우
설치
권장 설치 (pipx)
# pipx 설치
python -m pip install pipx
# aider 설치
pipx install aider-chat
# 설치 확인
aider --version
# pip 대안
python -m pip install -U --upgrade-strategy only-if-needed aider-chat
다른 설치 방법
# aider-install (공식 빠른 시작)
python -m pip install aider-install
aider-install
# Docker로 실행
docker run -it --rm \
-v $(pwd):/app \
-e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
paulgauthier/aider
# Homebrew (macOS)
brew install aider
API 키 설정 (선택사항)
# Claude 사용
export ANTHROPIC_API_KEY="sk-ant-api03-xxx"
aider --model sonnet
# OpenAI 사용
export OPENAI_API_KEY="sk-xxx"
aider --model o3-mini
# DeepSeek 사용
export DEEPSEEK_API_KEY="sk-xxx"
aider --model deepseek
# Ollama 사용 (무료, API 키 불필요)
aider --model ollama/llama3.2
# .env 파일로 관리 (권장)
# .aider.env 파일 생성
ANTHROPIC_API_KEY=sk-ant-api03-xxx
OPENAI_API_KEY=sk-xxx
프로젝트 루트에 .aider.env 파일을 만들면 Aider가 자동으로 읽습니다.
.gitignore에 추가하여 키가 커밋되지 않도록 주의하세요.
기본 사용법
Aider 시작
# 프로젝트 디렉토리에서
cd my-project
# Git 저장소 초기화 (필수)
git init
# Aider 실행
aider
# 특정 파일만 포함
aider src/app.js src/utils.js
# 특정 모델 지정
aider --model sonnet
첫 번째 요청
You> "Python Flask 웹 서버 만들어줘.
/hello 엔드포인트 추가하고, JSON 반환하게."
Aider> "Flask 서버를 생성하겠습니다."
# 파일 생성
Add app.py
Add requirements.txt
# Git 자동 커밋
Commit 3a7f2e1 Create Flask server with /hello endpoint
Aider> "2개 파일을 생성하고 커밋했습니다!"
주요 명령어
| 명령어 | 설명 |
|---|---|
/add FILE |
파일을 채팅에 추가 (편집 가능) |
/read-only FILE |
파일을 읽기 전용으로 추가 (참조용) |
/drop FILE |
파일 제거 |
/undo |
마지막 변경 취소 (git revert) |
/diff |
변경사항 diff 보기 |
/run COMMAND |
쉘 명령어 실행 후 출력을 LLM에 전달 |
/test COMMAND |
테스트 실행, 실패 시 자동 수정 시도 |
/commit |
수동 커밋 |
/architect |
Architect 모드 전환 |
/model MODEL |
세션 중 모델 전환 |
/tokens |
현재 토큰 사용량 확인 |
/clear |
대화 초기화 |
/exit |
종료 |
편집 모드 비교
Aider는 LLM이 코드 변경사항을 전달하는 방식을 여러 편집 포맷(edit format)으로 지원합니다. 모델의 능력과 작업 유형에 따라 최적의 포맷이 다릅니다.
whole (전체 파일)
파일 전체를 출력하는 가장 단순한 방식입니다. 소규모 파일이나 새 파일 생성에 적합하지만, 큰 파일에서는 토큰 낭비가 심합니다.
# whole 모드 사용
aider --edit-format whole
# LLM이 파일 전체를 다시 작성
# 장점: 단순, 오류 적음
# 단점: 토큰 사용량 높음, 큰 파일 비효율
diff (검색/치환)
변경할 부분만 검색/치환 블록으로 전달합니다. 대부분의 상용 모델(Claude, OpenAI GPT/o 시리즈)에 기본으로 사용됩니다.
# diff 모드 (기본값)
aider --edit-format diff
# LLM 출력 형식 예시
# <<<<<<< SEARCH
# 원래 코드
# =======
# 변경된 코드
# >>>>>>> REPLACE
udiff (Unified Diff)
표준 unified diff 형식을 사용합니다.
+/- 줄 표기로 변경사항을 표현하며,
diff에 익숙한 개발자에게 가독성이 좋습니다.
# udiff 모드
aider --edit-format udiff
# LLM 출력 형식 예시
# --- a/src/app.js
# +++ b/src/app.js
# @@ -10,3 +10,5 @@
# const app = express();
# +const auth = require('./auth');
# +app.use(auth.middleware);
architect (아키텍트)
두 단계로 나누어 작동합니다. 먼저 architect 모델이 변경 계획을 수립하고, editor 모델이 실제 코드 편집을 수행합니다. 복잡한 리팩토링이나 다중 파일 변경에 유용합니다.
# architect 모드
aider --edit-format architect
# architect + editor 모델 분리 (비용 최적화)
aider --architect --model opus --editor-model sonnet
편집 포맷 비교표
| 포맷 | 토큰 효율 | 정확도 | 큰 파일 | 권장 모델 |
|---|---|---|---|---|
| whole | 낮음 | 높음 | 부적합 | 소형 로컬 모델 |
| diff | 높음 | 높음 | 적합 | Claude, OpenAI GPT/o 시리즈 |
| udiff | 높음 | 중간 | 적합 | OpenAI GPT/o 시리즈 |
| architect | 중간 | 매우 높음 | 최적 | Claude + 하위 모델 |
Aider는 모델에 따라 자동으로 최적의 편집 포맷을 선택합니다.
일반적으로 직접 지정할 필요는 없지만, --edit-format 옵션으로 강제할 수 있습니다.
Architect 모드는 복잡한 멀티파일 변경 시 성공률이 크게 향상됩니다.
리포지토리 맵 (repo-map)
Aider의 가장 차별화된 기능 중 하나는 리포지토리 맵입니다. 프로젝트의 전체 파일 구조와 심볼(함수, 클래스, 변수)을 tree-sitter로 파싱하여 LLM에 압축된 코드맵을 제공합니다.
작동 원리
- 파싱: tree-sitter로 모든 소스 파일의 심볼(함수, 클래스, 메서드) 추출
- 그래프 구축: 파일 간 참조 관계를 그래프로 구성
- 순위 산정: PageRank 유사 알고리즘으로 현재 작업과 관련된 파일에 가중치 부여
- 토큰 예산 내 맵 생성:
--map-tokens한도 내에서 가장 관련성 높은 심볼만 포함
맵 토큰 설정
# 기본값: 컨텍스트 윈도우의 25%
aider --map-tokens 2048
# 큰 프로젝트에서 더 넓은 맵
aider --map-tokens 4096
# 맵 비활성화 (토큰 절약)
aider --map-tokens 0
# 전체 맵 새로고침
aider --map-refresh always
리포지토리 맵 덕분에 Aider는 /add하지 않은 파일의 함수 시그니처와 클래스 구조도 참고할 수 있습니다.
단, 파일 내용 전체가 아닌 요약본이므로, 실제 수정할 파일은 반드시 /add로 추가하세요.
Git 통합
자동 커밋
Aider는 모든 변경사항을 자동으로 커밋합니다. 각 커밋 메시지는 AI가 생성합니다.
You> "사용자 인증 기능 추가해줘."
# AI가 코드 생성
Add src/auth.js
Modify src/app.js
# 자동 커밋
Commit 8b3c9a2 Add user authentication with JWT
자동 커밋 비활성화
자동 커밋을 끄고 수동으로 변경사항을 검토한 뒤 커밋할 수 있습니다. 코드 리뷰를 꼼꼼히 하고 싶을 때 유용합니다.
# 자동 커밋 비활성화
aider --no-auto-commits
# 변경 후 직접 확인
You> "/diff"
# 변경사항 확인 후 수동 커밋
You> "/commit"
# 또는 Aider 밖에서 직접 git commit
git add -A && git commit -m "내 커밋 메시지"
커밋 메시지 커스터마이징
# 커밋 메시지 앞에 접두사 추가
aider --commit-prompt "conventional commits 형식 사용"
# .aider.conf.yml에서 설정
commit-prompt: "conventional commits 형식 사용. 한국어로 작성."
Diff 검토
# 변경사항 확인
You> "/diff"
# Git diff 표시
diff --git a/src/app.js b/src/app.js
@@ -10,6 +10,8 @@
const app = express();
+const auth = require('./auth');
+app.use(auth.middleware);
변경 취소
You> "/undo"
Aider> "마지막 커밋을 되돌렸습니다."
Reverted commit 8b3c9a2
더티 커밋 (Dirty Commits)
Aider 시작 시 스테이지되지 않은 변경사항이 있으면, Aider가 자동으로 이를 별도 커밋합니다. 이 동작을 제어할 수 있습니다.
# 더티 커밋 비활성화
aider --no-dirty-commits
# 기존 변경사항을 Aider가 건드리지 않음
다중 LLM 지원
지원 모델
# Claude
aider --model sonnet
aider --model haiku
# OpenAI
aider --model o3-mini
aider --model gpt-5.4
# Gemini
aider --model gemini/gemini-3.1-pro
# Ollama (로컬)
aider --model ollama/llama3.2
aider --model ollama/codellama
# DeepSeek
aider --model deepseek
aider --model deepseek/deepseek-chat
# OpenRouter (다중 프로바이더)
aider --model openrouter/deepseek/deepseek-chat
모델 선택 가이드 (2026-04 기준)
| 모델 | Aider Polyglot | 강점 | 권장 용도 | 비용 |
|---|---|---|---|---|
| Claude Opus 4.7 ★ | 82.1% (1위) | 코드 품질 최고, 멀티파일 리팩토링, Adaptive Thinking | 복잡한 기능 구현, 대규모 리팩토링 | 높음 ($5/$25) |
| GPT-5.5 ★ | ~78% | SWE-bench 88.7%, 1M context, Terminal-Bench 82.7% | 대규모 코드베이스, 에이전트 코딩 | 높음 ($5/$30) |
| Claude Sonnet | ~70% | 코드 품질, diff 정확도, 비용 균형 | 핵심 기능 구현, 리팩토링 | 중간 |
| Claude Haiku | ~55% | 빠른 응답, 저비용 | 간단한 수정, 문서 작성, Editor 역할 | 낮음 |
| OpenAI o3-mini | ~65% | 추론 성능, 범용 코딩 | 일반 코딩 작업, 디버깅, 분석 | 중간 |
| Ollama Qwen3.6:35b | ~55% | 무료, 오프라인, 한국어 우수 | 간단한 작업, 학습용, 비용 제로 | 무료 |
| DeepSeek V4 | 79.5% | 코딩 특화, 저비용 (API) | 영문 코드 작업, 비용 최적화 | 매우 낮음 |
세션 중 모델 전환
# 세션 중에 모델 변경
You> "/model sonnet"
# Architect 모드에서 모델 분리
# 계획: 고급 모델 / 실행: 경량 모델
aider --architect --model opus --editor-model sonnet
# GPT-5.5 사용
export OPENAI_API_KEY=sk-...
aider --model gpt-5.5
# 로컬 Qwen3.6으로 비용 절감
aider --model ollama/qwen3.6:35b-a3b
- 최고 품질: Claude Opus 4.7 (Aider Polyglot 1위, 82.1%)
- 탐색/프로토타이핑: Ollama Qwen3.6 또는 Haiku (비용 최소화)
- 핵심 로직 구현: Claude Sonnet 또는 GPT-5.5 (높은 품질)
- 대규모 리팩토링: Architect 모드 + Opus 4.7(계획) + Sonnet(실행)
Aider Polyglot 벤치마크
Aider는 독자적인 Aider Polyglot 벤치마크를 운영합니다. Python, JavaScript, TypeScript, Go, Rust 등 다양한 언어의 실제 코딩 문제를 AI가 얼마나 정확하게 수정하는지 측정하며, 업계에서 가장 현실적인 코드 편집 능력 지표로 인정받습니다.
리더보드 (2026-04 기준)
| 순위 | 모델 | Aider Polyglot | SWE-bench Verified | 비고 |
|---|---|---|---|---|
| 1 | Claude Opus 4.7 ★ | 82.1% | 87.6% | SWE-Bench Pro 64.3% (업계 1위) |
| 2 | DeepSeek V4 | 79.5% | ~68% | 저비용 고성능 |
| 3 | GPT-5.4 | 78.3% | ~82% | GPT-5.5로 업그레이드 권장 |
| 4 | Gemini 3.1 Pro | 74.8% | ~75% | 구글 최신 모델 |
| 5 | Claude Opus 4.6 | 72.5% | ~72% | 이전 세대 |
Aider Polyglot은 Aider의 architect/diff 편집 포맷과 repo-map 컨텍스트를 사용한 점수입니다. SWE-bench는 GitHub 이슈 해결 능력 기준입니다. 실제 성능은 프로젝트 언어와 복잡도에 따라 차이가 있으므로, 두 지표를 함께 참고하세요.
# Aider Polyglot 1위 모델로 시작하기
export ANTHROPIC_API_KEY=sk-ant-...
aider --model claude-opus-4-7-20251016
# 또는 단축 별칭
aider --model opus
# Aider Polyglot 성능 극대화: architect 모드
aider --architect \
--model opus \
--editor-model sonnet \
--cache-prompts
대규모 코드베이스 전략
수백~수천 개의 파일로 구성된 대규모 프로젝트에서는 LLM의 컨텍스트 윈도우를 효율적으로 관리하는 것이 핵심입니다.
컨텍스트 관리
# 필요한 파일만 정확히 추가
You> "/add src/auth/login.js"
You> "/add src/auth/middleware.js"
# 참조만 필요한 파일은 read-only로
You> "/read-only src/types/user.ts"
# 작업 완료 후 불필요한 파일 제거
You> "/drop src/auth/login.js"
# 현재 추가된 파일 목록 확인
You> "/ls"
# 토큰 사용량 확인
You> "/tokens"
컨텍스트 관리 전략
| 전략 | 방법 | 효과 |
|---|---|---|
| 최소 파일 원칙 | 수정할 파일만 /add, 나머지는 repo-map에 위임 |
토큰 절약, 정확도 향상 |
| read-only 활용 | 타입 정의, 인터페이스 등은 /read-only |
참조 제공 + 편집 방지 |
| 작업 단위 분리 | 한 번에 하나의 기능/모듈만 작업 | 컨텍스트 집중 |
| 대화 초기화 | 작업 전환 시 /clear로 히스토리 정리 |
불필요한 토큰 제거 |
| .aiderignore | 빌드 산출물, 대용량 파일 제외 | repo-map 효율 향상 |
.aiderignore 파일
# .aiderignore - repo-map에서 제외할 파일
node_modules/
dist/
build/
*.min.js
*.bundle.js
package-lock.json
*.log
__pycache__/
.pytest_cache/
vendor/
/add로 너무 많은 파일을 추가하면
컨텍스트 윈도우를 초과하여 응답 품질이 급격히 저하됩니다.
/tokens로 현재 사용량을 수시로 확인하세요.
설정 상세 (.aider.conf.yml)
프로젝트 루트에 .aider.conf.yml 파일을 생성하면 Aider 실행 시
자동으로 설정이 적용됩니다. 글로벌 설정은 ~/.aider.conf.yml에 배치합니다.
전체 설정 예시
# .aider.conf.yml - 프로젝트별 설정
# 모델 설정
model: sonnet
editor-model: haiku
edit-format: diff
# Git 설정
auto-commits: true
dirty-commits: true
commit-prompt: "conventional commits 형식 사용"
# 컨텍스트 설정
map-tokens: 2048
map-refresh: auto
cache-prompts: true
# 테스트/린트 통합
auto-test: true
test-cmd: "npm test"
auto-lint: true
lint-cmd: "npm run lint"
# UI 설정
dark-mode: true
stream: true
pretty: true
# 파일 필터
subtree-only: false
린트/테스트 자동화
--auto-lint와 --auto-test를 활성화하면
Aider가 코드 편집 후 자동으로 린트와 테스트를 실행합니다.
실패 시 오류 메시지를 LLM에 전달하여 자동으로 수정을 시도합니다.
# 린트 + 테스트 자동화
aider --auto-lint --lint-cmd "eslint src/" \
--auto-test --test-cmd "pytest tests/"
# 편집 -> 린트 실행 -> 실패 시 자동 수정 -> 테스트 실행 -> 실패 시 자동 수정 -> 커밋
설정 파일 Git 관리
# .aider.conf.yml은 팀과 공유 (커밋)
# .aider.env는 개인 키 포함 (gitignore)
# .gitignore에 추가
.aider.env
.aider.tags.cache
.aider.chat.history.md
.aider.input.history
실전 워크플로우
기능 브랜치 개발
# 새 브랜치 생성
git checkout -b feature/user-auth
# Aider 시작
aider
You> "사용자 인증 시스템 구현해줘.
JWT 토큰 사용, 회원가입/로그인 API."
# AI가 코드 생성 및 커밋
Commit a3f89d Implement JWT authentication system
# 브랜치 푸시
git push origin feature/user-auth
버그 수정
# 버그가 있는 파일 열기
aider src/buggy-file.js
You> "이 파일에서 TypeError 발생해.
users.map()에서 users가 undefined일 때 에러나.
수정해줘."
Modify src/buggy-file.js
Commit f2e8b3a Fix TypeError: Add null check before map()
테스트 주도 워크플로우
# 테스트 자동 실행 설정
aider --auto-test --test-cmd "pytest tests/ -x"
You> "UserService 클래스에 이메일 유효성 검사 추가해줘.
테스트도 같이 작성해줘."
# Aider가 코드 + 테스트 작성
Modify src/user_service.py
Add tests/test_user_service.py
# 자동으로 pytest 실행
Running: pytest tests/ -x
Tests passed!
# 테스트 통과 후 자동 커밋
Commit 4e7a1b2 Add email validation with tests
리팩토링
You> "src/utils.js를 읽어봐.
이 파일을 더 작은 모듈로 분리하고,
TypeScript로 변환해줘.
테스트 코드도 작성해줘."
Add src/utils/string.ts
Add src/utils/array.ts
Add src/utils/__tests__/string.test.ts
Add src/utils/__tests__/array.test.ts
Delete src/utils.js
Commit 9d4c2f1 Refactor utils to TypeScript modules with tests
고급 기능
쉘 명령어 실행
# Aider 내부에서 명령어 실행
You> "/run npm test"
# 테스트 실패 시 자동 수정
You> "테스트가 실패했어. 수정해줘."
# /run vs /test 차이
# /run: 명령어 실행 후 출력을 대화에 추가
# /test: 명령어 실행 후 실패 시 자동으로 수정 시도
Architect 모드
복잡한 변경사항을 계획하고 단계별로 실행. Architect 모델(고성능)이 변경 계획을 세우고, Editor 모델(경량·빠름)이 실제 코드를 편집하는 2단계 파이프라인입니다.
aider --architect
You> "전체 인증 시스템을 재설계해줘.
OAuth 2.0 지원, refresh token, 역할 기반 권한."
Aider> "계획을 수립하겠습니다..."
# 1단계: Architect 모델이 변경 계획 수립
# - 수정할 파일 목록
# - 각 파일의 변경 내용 설명
# - 의존성 순서
# 2단계: Editor 모델이 실제 코드 편집
# - 계획에 따라 순차적으로 파일 수정
# - diff 생성 및 적용
# 권장: Opus 4.7 (계획) + Sonnet (편집)
aider --architect --model opus --editor-model sonnet
# 자동 승인 모드: Architect 제안을 자동으로 수락
aider --architect --auto-accept-architect --model opus --editor-model sonnet
--auto-accept-architect를 사용하면 Architect가 제안한 변경 계획을 매번 승인하지 않고 자동으로 실행합니다.
자동화 파이프라인이나 CI 환경에서 유용하지만, 중요한 코드베이스에서는 검토 후 수동 승인을 권장합니다.
음성 모드
# 음성으로 코딩 요청
aider --voice
# 마이크로 말하면 자동으로 텍스트 변환 후 실행
브라우저 모드
# 웹 브라우저 UI로 Aider 사용
aider --browser
# 브라우저에서 파일 트리, 대화, diff를 시각적으로 확인
Watch 모드
--watch (또는 --watch-files) 플래그를 사용하면 Aider가 파일 시스템 변경을 감지하고,
소스 코드에 특별한 AI 주석이 있으면 자동으로 처리합니다.
에디터에서 코드를 작성하면서 CLI 전환 없이 AI에게 지시를 내릴 수 있습니다.
# Watch 모드로 시작
aider --watch
# 소스 코드에 AI 주석을 작성하고 저장하면 자동 실행
## Python 예시
def process_payment(amount, card):
# AI: 결제 유효성 검사와 예외 처리 추가해줘
pass
## JavaScript 예시
function fetchUser(id) {
// AI: async/await로 변환하고 에러 처리 추가해줘
}
# TypeScript 예시
interface User {
id: number;
// AI: email, createdAt, role 필드도 추가해줘
}
- VS Code, NeoVim 등 에디터에서 코드 작성 중 자연스럽게 AI에게 지시 가능
- 주석 저장 즉시 Aider가 감지하고 처리 — 터미널로 전환할 필요 없음
--watch는 대화형 세션 없이 파일 주석만으로 작동하는 "에디터 통합 모드"- 복잡한 지시는 대화형 모드, 간단한 수정은 Watch 모드로 역할을 나누면 효율적
비용 관리
Aider는 LLM API 호출 비용이 발생합니다. 효율적인 비용 관리를 위한 전략을 소개합니다.
비용 추적
# 세션 종료 시 비용 요약 표시
# Tokens: 12.5k sent, 3.2k received. Cost: $0.04
# 세션 중 토큰 사용량 확인
You> "/tokens"
비용 최적화 전략
| 전략 | 방법 | 예상 절감 |
|---|---|---|
| 로컬 LLM 활용 | Ollama로 간단한 작업 처리 | 100% (무료) |
| 프롬프트 캐싱 | --cache-prompts 활성화 |
50~90% |
| repo-map 최적화 | --map-tokens 적절히 설정 |
10~30% |
| 컨텍스트 최소화 | 불필요한 파일 /drop, /clear 활용 |
20~50% |
| 모델 계층화 | 작업 복잡도에 따라 모델 전환 | 30~60% |
| Architect 모드 | 고급 모델(계획) + 경량 모델(실행) 분리 | 20~40% |
# 비용 효율 극대화 설정 예시
aider \
--model sonnet \
--cache-prompts \
--map-tokens 1024
# Architect 모드 비용 최적화
aider --architect \
--model opus \
--editor-model haiku \
--cache-prompts
--cache-prompts는 Anthropic과 OpenAI의 프롬프트 캐싱을 활용합니다.
반복적인 작업에서 동일한 시스템 프롬프트와 파일 내용이 캐시되어 비용이 크게 절감됩니다.
Claude 사용 시 최대 90%까지 입력 토큰 비용을 절약할 수 있습니다.
도구 비교
Aider vs Cursor vs Claude Code
터미널 기반의 Aider, IDE 통합의 Cursor, CLI 에이전트 Claude Code는 각각 다른 강점을 가지고 있습니다. 워크플로우에 맞는 도구를 선택하세요.
| 특징 | Aider | Cursor | Claude Code |
|---|---|---|---|
| 유형 | CLI 도구 | IDE (VS Code 포크) | CLI 에이전트 |
| LLM 지원 | 다중 (Claude, GPT, Ollama 등) | 다중 (내장) | Claude 전용 |
| Git 통합 | 핵심 기능 (자동 커밋) | 기본 Git 지원 | Git 지원 |
| 편집 방식 | whole/diff/udiff/architect | 인라인 편집, Composer | 파일 직접 편집 |
| 코드 맵 | repo-map (tree-sitter) | 인덱싱 기반 | 프로젝트 분석 |
| 자율성 | 중간 (대화 기반) | 낮음 (수동 승인) | 높음 (에이전트) |
| 오프라인 | 가능 (Ollama) | 불가 | 불가 |
| 비용 | API 사용량 또는 Ollama | Hobby 무료, Pro $20부터 | Anthropic 로그인 플랜 또는 API 사용량 |
| 오픈소스 | MIT 라이선스 | 비공개 | 비공개 |
| 추천 대상 | 터미널 선호, 다중 LLM 필요 | GUI 선호, 빠른 인라인 편집 | Claude 에코시스템, 자율 작업 |
vs Codex
Aider는 Git 중심의 로컬 CLI 에이전트이고, Codex는 앱/웹/CLI에서 작업 단위로 실행되는 코딩 에이전트입니다. 팀의 워크플로우에 맞춰 선택하세요. 자세한 흐름은 Codex 가이드를 참고하세요.
| 특징 | Aider | Codex |
|---|---|---|
| 환경 | 로컬 CLI | 앱/웹/CLI |
| 워크플로우 | Git 커밋 자동화 | 작업 단위 실행/승인 |
| 자율성 | 중간 (대화 기반) | 높음 (에이전트) |
| 계정/키 | API 키 기반 | 계정 로그인 또는 API 키 |
| 추천 사용 | 로컬 Git 중심 작업 | 분리된 에이전트 작업 |
- Aider: 터미널 중심, 다양한 LLM을 자유롭게 전환하며 Git 워크플로우를 자동화하고 싶을 때
- Cursor: GUI에서 빠른 인라인 편집과 시각적 코드 탐색이 중요할 때
- Claude Code: Claude 생태계에서 높은 자율성의 에이전트 작업이 필요할 때
모범 사례
활용 팁
- 작은 커밋: 한 번에 하나의 기능만 요청
- 명확한 요청: 구체적이고 명확하게 지시
- /add 활용: 관련 파일 모두 추가, 불필요한 파일은
/drop - /diff 확인: 커밋 전 변경사항 검토
- Ollama 활용: 간단한 작업은 로컬 LLM으로 비용 절감
- read-only 활용: 참조만 필요한 파일은
/read-only로 추가 - 대화 초기화: 새로운 작업 시작 전
/clear - 테스트 자동화:
--auto-test로 품질 보증
피해야 할 패턴
- 너무 많은 파일 /add: 컨텍스트 초과로 품질 저하
- 모호한 요청: "코드 좋게 만들어줘" 대신 구체적 지시 필요
- 긴 대화 유지: 토큰 누적으로 비용 증가, 적절히
/clear - /undo 없이 반복 수정: 불필요한 커밋 누적, 실패 시
/undo후 재시도 - 린트/테스트 미설정:
--auto-lint,--auto-test미사용 시 오류 코드 커밋 가능
문제 해결
일반적인 문제
Not a git repository
해결: git init으로 Git 초기화
API 키 오류
해결: 환경 변수 확인 또는 .aider.env 파일 확인. Ollama 사용 시 API 키 불필요
파일이 수정되지 않음
해결: /add FILE로 파일 명시적 추가. /read-only로 추가된 파일은 편집 불가
diff 적용 실패
해결: --edit-format whole로 전환하거나, 파일이 외부에서 수정되지 않았는지 확인
컨텍스트 윈도우 초과
해결: /drop으로 불필요한 파일 제거, --map-tokens 값 축소, /clear로 대화 초기화
Ollama 연결 실패
# Ollama 서버 실행 확인
ollama serve
# 모델 다운로드 확인
ollama list
ollama pull llama3.2
# 디버깅 모드
aider --verbose
# 메시지 로그 파일 확인
# .aider.chat.history.md 에서 전체 대화 기록 확인 가능
핵심 정리
- Aider는 Git 네이티브 AI 코딩 도구로, GitHub Stars 43,844+ · 설치 4.1M+ 규모의 커뮤니티를 보유합니다.
- 편집-테스트-커밋 사이클을 자동화하며, 다양한 편집 포맷(whole, diff, udiff, architect)을 지원합니다.
- 최고 성능은 Claude Opus 4.7 (Aider Polyglot 82.1%, SWE-bench 87.6%)로, Architect 모드에서 위력이 극대화됩니다.
- 리포지토리 맵(repo-map)이 프로젝트 구조를 자동 분석하여 LLM에 컨텍스트를 제공합니다.
--watch모드로 에디터에서 AI 주석을 작성하면 자동으로 처리됩니다.--auto-accept-architect로 Architect 모드 자동화 파이프라인 구성이 가능합니다..aider.conf.yml로 프로젝트별 설정을 체계적으로 관리합니다.- 대규모 코드베이스에서는
/add,/drop,/read-only,.aiderignore로 컨텍스트를 효율적으로 관리하세요. --cache-prompts와 모델 계층화(Opus 계획 + Sonnet 실행)로 비용을 최적화하세요.