En bref
- Installez Aider avec
pip install aider-chatet configurez une clé API LLM (OpenAI/Anthropic/Ollama). - Ajoutez des fichiers au contexte avec
/add <fichier>ou/add --allpour une prise en charge complète du dépôt. - Utilisez
/diffpour des modifications précises,/wholepour des réécritures complètes de fichiers, et/architectpour des refactorisations multi-fichiers. - L'intégration Git effectue des commits automatiques avec des messages descriptifs.
- Configurez
.aider.conf.ymlpour enregistrer les paramètres du modèle et les comportements par défaut.
1. Installation et Configuration du Modèle
Installer Aider
# macOS/Linux (Python 3.9+ requis)
python -m pip install --upgrade aider-chat
# Windows (PowerShell)
python -m pip install --upgrade aider-chat
# Vérifier l'installation
aider --version
# Sortie attendue : aider 0.36.0
Attention : Si vous obtenez une erreur command not found, assurez-vous que ~/.local/bin est dans votre PATH :
export PATH=$PATH:~/.local/bin # Ajoutez à ~/.bashrc ou ~/.zshrc
Configurer un LLM
Aider prend en charge OpenAI, Anthropic, Mistral et les modèles locaux via Ollama. Choisissez une option :
Option 1 : OpenAI (GPT-4o)
- Obtenez une clé API OpenAI.
- Définissez la clé en tant que variable d'environnement :
export OPENAI_API_KEY="votre-clé-ici" - Démarrez Aider :
aider
Option 2 : Anthropic (Claude 3.5 Sonnet)
- Obtenez une clé API Anthropic.
- Définissez la clé et le modèle :
export ANTHROPIC_API_KEY="votre-clé-ici" aider --model claude-3-5-sonnet-20240620
Option 3 : Modèles Locaux (Ollama)
- Installez Ollama et téléchargez un modèle :
ollama pull llama3 - Démarrez Aider avec le modèle local :
aider --model ollama/llama3
Sortie attendue :
Aider v0.36.0
Model: claude-3-5-sonnet-20240620 avec le format d'édition diff
Dépôt Git : .git avec 12 fichiers
Carte du dépôt : utilisation de 1,2 Mo sur 2,0 Mo
Utilisez /help pour voir les commandes en chat.
2. Ajouter des Fichiers au Contexte
Aider doit "voir" votre code pour le modifier. Utilisez ces commandes dans le chat :
| Commande | Description |
|---|---|
/add <fichier> | Ajoute un seul fichier au contexte (ex. : /add src/main.py). |
/add --all | Ajoute tous les fichiers du dépôt (à utiliser avec parcimonie—peut atteindre les limites de contexte du LLM). |
/drop <fichier> | Retire un fichier du contexte. |
/ls | Liste les fichiers actuellement dans le contexte. |
Exemple de Workflow :
# Démarrez Aider dans le répertoire de votre projet
cd ~/projects/my-app
aider
# Ajoutez les fichiers clés au contexte
/add src/utils.py
/add tests/test_utils.py
Attention : Les grands dépôts (10K+ fichiers) peuvent ralentir Aider. Utilisez /add de manière sélective pour les fichiers pertinents à votre tâche.
3. Modes d'Édition
Aider propose trois modes d'édition. Choisissez en fonction de vos besoins de précision :
1. /diff (Par défaut)
- Affiche un diff des modifications proposées avant application.
- Idéal pour des modifications petites et précises.
Exemple :
Utilisateur : /diff
Aider : Décrivez la modification que vous souhaitez...
Utilisateur : Refactorisez la fonction `validate_input` pour utiliser des retours anticipés.
Sortie attendue :
- def validate_input(data):
- if not data:
- return False
- if len(data) > 100:
- return False
- return True
+ def validate_input(data):
+ if not data:
+ return False
+ if len(data) > 100:
+ return False
+ return True
Tapez y pour appliquer les modifications.
2. /whole
- Réécrit le fichier entier.
- Utilisez pour des refactorisations majeures ou lorsque
/diffest trop restrictif.
Exemple :
Utilisateur : /whole src/utils.py
Aider : Quelles modifications souhaitez-vous apporter à ce fichier ?
Utilisateur : Réécrivez le fichier pour utiliser des indications de type et ajouter des docstrings.
3. /architect
- Refactorisations multi-fichiers avec des conseils de haut niveau.
- Idéal pour des modifications transversales (ex. : "Déplacez la logique d'authentification vers un nouveau module").
Exemple :
Utilisateur : /architect
Aider : Quelle modification architecturale souhaitez-vous apporter ?
Utilisateur : Divisez le fichier monolithique `handlers.py` en fichiers séparés par route.
4. Intégration Git et Commits Automatiques
Aider effectue des commits automatiques avec des messages descriptifs. Configurez cela dans .aider.conf.yml :
# .aider.conf.yml
git:
auto_commits: true
commit_message: "aider: {message}" # Personnalisez le format du message de commit
Commandes :
| Commande | Description |
|---|---|
/git | Affiche le statut Git. |
/commit | Effectue un commit manuel des modifications mises en scène. |
/undo | Annule la dernière modification (utilise git reset). |
Attention : Les commits automatiques peuvent encombrer votre historique. Utilisez /commit pour un contrôle manuel ou fusionnez-les plus tard :
git rebase -i HEAD~5 # Fusionner les commits aider
5. Utilisation de Modèles Locaux via Ollama
Pour des raisons de confidentialité ou d'économie, utilisez des modèles locaux :
- Installez Ollama et téléchargez un modèle :
ollama pull codellama:7b - Démarrez Aider avec le modèle local :
aider --model ollama/codellama:7b - (Optionnel) Configurez les paramètres par défaut dans
.aider.conf.yml:model: ollama/codellama:7b
Conseil de Performance : Utilisez des modèles plus petits (ex. : codellama:7b) pour des réponses plus rapides, mais attendez-vous à une précision moindre qu'avec GPT-4o.
6. Workflows d'Édition Multi-Fichiers
Aider excelle pour les modifications transversales. Exemple :
Tâche : Ajouter la Journalisation à un Module
- Ajoutez les fichiers pertinents au contexte :
/add src/app.py /add src/utils/logger.py - Décrivez la modification :
Ajoutez une journalisation de débogage à toutes les fonctions dans `app.py`. Utilisez le logger de `utils/logger.py`. - Aider va :
- Importer le logger dans
app.py. - Ajouter des appels
logger.debug()à chaque fonction. - Mettre à jour
logger.pysi nécessaire (ex. : ajouter une méthode de débogage).
- Importer le logger dans
Attention : Les modifications multi-fichiers peuvent échouer si le LLM perd le contexte. Divisez les grandes tâches en étapes plus petites.
7. Configuration et .aider.conf.yml
Enregistrez les paramètres dans .aider.conf.yml pour éviter de répéter les options :
# .aider.conf.yml
model: claude-3-5-sonnet-20240620
dark_mode: true
git:
auto_commits: true
commit_message: "aider: {message}"
cache:
enabled: true # Met en cache les réponses du LLM pour des prompts similaires
Paramètres Clés :
| Paramètre | Description | Valeur par Défaut |
|---|---|---|
model | LLM par défaut (ex. : gpt-4o, ollama/llama3). | gpt-4o |
dark_mode | Active le thème sombre du terminal. | false |
cache.enabled | Met en cache les réponses du LLM pour réduire les coûts. | false |
lint_cmd | Commande à exécuter après les modifications (ex. : ruff check). | null |
Conseil Pro : Utilisez aider --dump-config pour générer un fichier de configuration de départ.
Alternatives en Un Coup d'Œil
| Outil | Meilleur Pour | Différence Clé |
|---|---|---|
| Cursor | Workflows guidés par interface graphique | Débogueur intégré, collaboration en temps réel |
| GitHub Copilot | Suggestions de code rapides | Intégration IDE, focus sur un seul fichier |
| Aider | Modifications multi-fichiers, intégration Git | CLI-first, agnostique aux modèles, open-source |
Prochaines Étapes
- Essayez une petite refactorisation : Utilisez
/diffpour modifier une seule fonction dans votre base de code. - Configurez les commits automatiques : Personnalisez
.aider.conf.ymlpour des commits automatiques avec votre format de message préféré. - Explorez les modèles locaux : Installez Ollama et testez
codellama:7bpour une assistance au codage sans frais.
Pour les équipes adoptant Aider, Hyperion Consulting propose des services de conseil en outils d'IA pour l'intégrer dans vos pipelines CI/CD et vos workflows de sécurité—en alignement avec le Cadre de Sécurité de l'IA pour les phases PROTECT (contrôles d'accès) et COMPLY (journalisation d'audit).
