Aider: IA para refactorizar desde la terminal
Índice de contenidos
- Puntos clave
- Qué hace Aider
- Instalación y primeros pasos
- Comandos útiles
- Casos donde brilla
- El split arquitecto/editor
- Integración Git: el diferencial real
- Aider frente a Cursor
- Costes
- Repos grandes y monorepos
- Cuándo elegir Aider
- Cuándo otros
- Conclusión
- Preguntas frecuentes
- ¿Puedo usar Aider sin enviar mi código a ningún servicio en la nube?
- ¿Cuánto cuesta usar Aider con GPT-4o?
- ¿Cómo deshago un cambio que Aider ha hecho mal?
- Fuentes
Aider es una CLI open-source que conecta tu repositorio Git a un LLM para refactorizar código, añadir features y corregir bugs sin salir de la terminal. Funciona con GPT-4o, Claude y modelos locales con Ollama. Cada cambio genera un commit automático con mensaje descriptivo, integrándose de forma nativa en el flujo Git.
Aider[1] es una CLI que hace lo que Cursor hace pero sin salir de la terminal. Apuntas a tu repo Git, le describes qué quieres cambiar, hace los cambios en múltiples archivos y hace commit con mensaje descriptivo auto-generado. Para developers que viven en terminal (Vim, Emacs, tmux, SSH remoto) es la alternativa más pragmática a los IDEs gráficos con IA.
Puntos clave
-
Aider integra IA en el flujo Git de forma nativa: cada cambio es un commit con mensaje descriptivo, compatible con
git log,git blameygit reset. -
El split arquitecto/editor reduce coste: Claude Sonnet o GPT-4o para las decisiones, DeepSeek o Haiku para las ediciones mecánicas.
-
Para privacidad, combinarlo con Ollama local (Llama 3.1 70B o mejor) elimina dependencias externas.
-
No es un sustituto de Copilot para completion inline; es un agente conversacional para refactors, features y bug fixes.
-
La combinación Aider + Copilot (agente para cambios estructurales, completion para escritura de código línea a línea) es el stack más productivo para developers de terminal.
Qué hace Aider
Features principales:
-
Terminal-based: funciona con cualquier editor actual (Vim, Emacs, VS Code, nano).
-
Git-native: cada cambio es un commit con descripción auto-generada.
-
Multi-archivo: edita más de un archivo en una sola petición.
-
Múltiples modelos: OpenAI, Anthropic, Google, Groq, Ollama local y más.
-
Repo map: entiende la estructura del repositorio para dar contexto relevante al modelo.
-
Voice support: dictación con Whisper (beta).
Instalación y primeros pasos
pip install aider-chat
# Con GPT-4o
aider --model gpt-4o --api-key $OPENAI_API_KEY
# Con Claude 3.5 Sonnet
aider --model claude-3-5-sonnet-20240620 --api-key $ANTHROPIC_API_KEY
# Con Ollama local (privado, sin coste por token)
aider --model ollama/llama3.1:70b --openai-api-base http://localhost:11434/v1
Flujo básico:
cd mi-proyecto
aider
> Añade autenticación JWT a los endpoints de la API
# Aider lee los archivos relevantes
# Hace cambios en src/auth.py, src/api.py, tests/test_auth.py
# Muestra el diff
> /commit
# Committed: "feat: add JWT authentication to API endpoints"
Comandos útiles
-
/add FILE: incluye un archivo en el contexto. -
/drop FILE: quita un archivo del contexto. -
/ls: lista los archivos incluidos actualmente. -
/diff: muestra los cambios actuales sin commitear. -
/commit: hace commit de los cambios. -
/undo: deshace el último commit de Aider. -
/clear: resetea la conversación. -
/tokens: muestra el uso de tokens en la sesión. -
/model MODEL: cambia de modelo en medio de la sesión. -
/voice: activa dictación.
Casos donde brilla
-
Refactors específicos: "renombra esta función y actualiza todos los callers".
-
Features pequeñas multi-archivo: "añade rate limiting a estos tres endpoints".
-
Bug fixes: describe el bug, Aider investiga los archivos relevantes y propone un fix.
-
Migrations: "convierte este código de callbacks a async/await".
-
Tests: "añade unit tests para todos los métodos públicos de este archivo".
Para developers que prefieren terminal a IDEs, Aider es productivo donde Copilot no llega: cambios que cruzan múltiples archivos y que requieren entender la estructura del proyecto.
El split arquitecto/editor
Aider permite usar dos modelos distintos en paralelo:
-
Arquitecto: modelo potente (Claude Sonnet, GPT-4o) para decisiones de diseño.
-
Editor: modelo rápido y barato (DeepSeek Coder, Haiku) para aplicar las ediciones mecánicas.
Así el grueso de las ediciones se factura al precio del modelo barato, sin perder calidad en las decisiones importantes. La configuración:
aider --architect claude-3-5-sonnet-20240620 --editor deepseek/deepseek-coder
Integración Git: el diferencial real
Cada cambio de Aider genera un commit. Esto produce efectos en todo el workflow:
-
git log: historial de cambios de IA perfectamente legible. -
git reset HEAD~1: deshacer cualquier cambio de Aider en un comando. -
git diff main: ver todos los cambios de la sesión antes de hacer push. -
git blame: identificar qué líneas fueron generadas por IA.
Para equipos, trabajar en una branch específica para la sesión de Aider y revisar el PR resultante es la práctica recomendable. El flujo de trabajo con GitLab Duo cubre la capa de revisión de código posterior.
Aider frente a Cursor
| Aspecto | Aider | Cursor |
|---|---|---|
| Interface | CLI | GUI (fork de VS Code) |
| Editor | Cualquiera | VS Code |
| Git integration | Commits automáticos | Manual |
| Multi-archivo | Sí | Sí (Composer) |
| Learning curve | Baja para CLI users | Baja para VS Code users |
| Modelos | Muchos, incluyendo locales | OpenAI, Anthropic, Ollama |
| Privacidad | Configurable (local posible) | Solo cloud |
Aider para Vim/Emacs/tmux users. Cursor para VS Code users. Ambos son válidos; no son mutuamente excluyentes.
Costes
Con GPT-4o:
-
Request típica: ~5k tokens de entrada + 500 de salida.
-
Coste por conversación: $0,02-0,10.
-
Mes de uso activo: ~$20-50.
Con Ollama local (Llama 3.1 70B):
-
Coste por token: $0 (después del hardware inicial).
-
Velocidad: 15-50 tokens/s según el Mac.
-
Privacidad: total, ningún dato sale del dispositivo.
Repos grandes y monorepos
Para repos grandes, técnicas para mantener el contexto manejable:
-
Añadir solo archivos relevantes:
aider src/payments/ tests/test_payments.pyen lugar de abrir todo el repo. -
Desactivar el repo map:
--no-map-tokens 0en repos gigantes. -
Trabajar por subdirectorio: ejecutar
cd subdir && aidercarga solo ese directorio como contexto.
Cuándo elegir Aider
-
Developer que vive en terminal (Vim, Emacs, tmux, SSH remoto).
-
Necesitas cambios que cruzan múltiples archivos con coherencia.
-
Valoras el historial Git limpio de la IA.
-
Quieres experimentar con distintos modelos sin lock-in.
-
Trabajas en un entorno sin acceso a GUI.
Cuándo otros
-
Completion inline continua: Copilot es mejor para escribir código línea a línea.
-
Prefieres GUI: Cursor es mejor.
-
Enterprise con billing gestionado: Copilot Business/Enterprise tiene gestión centralizada.
Conclusión
Aider ocupa un nicho específico pero valioso: agente de coding desde terminal con integración Git nativa. Para developers que viven en CLI, es la alternativa productiva a los IDEs gráficos con IA. La combinación con Ollama local ofrece privacidad total sin sacrificar funcionalidad para casos que un 70B resuelve bien. Para el stack más completo: Aider para refactors y features, Copilot para inline completion, y GitLab Duo para la revisión de MR y análisis de CI.
Preguntas frecuentes
¿Puedo usar Aider sin enviar mi código a ningún servicio en la nube?
Sí, apuntándolo a un modelo local con Ollama: aider --model ollama/llama3.1:70b --openai-api-base http://localhost:11434/v1. El coste por token es cero una vez amortizado el hardware, ningún dato sale del dispositivo y la velocidad ronda los 15-50 tokens/s según el Mac. Con Llama 3.1 70B o mejor, cubre bien refactors y features sin depender de proveedores externos.
¿Cuánto cuesta usar Aider con GPT-4o?
Una petición típica consume unos 5k tokens de entrada y 500 de salida. Eso supone entre 0,02 y 0,10 dólares por conversación y unos 20-50 dólares en un mes de uso activo. Para bajar el coste puedes usar el split arquitecto/editor. Un modelo potente como Claude Sonnet o GPT-4o toma las decisiones de diseño y uno barato como DeepSeek Coder o Haiku aplica las ediciones mecánicas: aider --architect claude-3-5-sonnet-20240620 --editor deepseek/deepseek-coder.
¿Cómo deshago un cambio que Aider ha hecho mal?
Cada cambio de Aider es un commit de Git, así que deshaces con /undo dentro de la sesión o git reset HEAD~1 desde la terminal. Antes de hacer commit puedes revisar con /diff, y git diff main muestra todos los cambios de la sesión antes del push. Para equipos, la práctica recomendable es trabajar en una branch específica para la sesión de Aider y revisar el PR resultante.