У ваших менеджеров уходит по 2-3 часа в день на ручное форматирование отчётов из Excel или проверку HTML-вёрстки в письмах? А может, вы сами пишете скрипты для расчёта смет, но каждый раз тратите полдня на отладку? Есть способ: AI-агент Aider, который сам пишет и исправляет код. Он работает в вашем терминале, понимает контекст проекта и не требует программиста в штате. Разберём, как внедрить его за вечер, используя локальные модели - без ежемесячных платежей за API.
Разберём на примере небольшой стройфирмы (это пример, а не реальный кейс). У вас есть прайс-лист в Excel и типовой договор подряда. Вы хотите автоматически генерировать смету под каждого клиента. Aider может написать скрипт, который читает Excel и формирует PDF. Всё, что нужно - запустить Aider и дать команду на русском.
1. Architect + Editor split: дорогой планирует, дешёвый делает - экономим деньги
Architect-режим - это когда одну задачу делят две модели. Мощная (Architect) продумывает план, а дешёвая (Editor) тупо правит файлы по плану.
Как запустить:
aider --architect --model claude-opus-4 \
--editor-model deepseek/deepseek-coder
Или с двумя разными Claude-моделями:
aider --architect --model claude-opus-4 \
--editor-model claude-haiku-3-5
Экономика: Claude Opus стоит $15 за 1M токенов, Claude Haiku - $0.25. Architect читает задачу и создаёт план (мало токенов на дорогой модели). Editor многократно правит файлы (много токенов на дешёвой). Итоговая стоимость сложной задачи в 3-5 раз ниже.
Когда это нужно бизнесу:
- Задача требует понимания всей структуры проекта (например, автоматизация расчёта сметы, где нужно задействовать несколько скриптов)
- Нужен рефакторинг старых скриптов, которые писал уволившийся программист
- Работаете с незнакомым языком (например, Python вместо привычного 1С)
Для простых задач (переименовать колонку в Excel, добавить логирование) Architect избыточен - используйте напрямую дешёвую модель.
2. Автотестирование: Aider сам проверяет и исправляет свои ошибки
Самая полезная фишка для предпринимателя: Aider может после каждого изменения запускать тест и, если тест упал, сам его исправлять. Это как если бы стажёр-программист не только писал код, но и сам находил и чинил свои косяки.
Базовая настройка:
aider --sonnet --test-cmd "pytest tests/ -x --tb=short"
Что происходит:
- Aider вносит изменение
- Автоматически запускает
pytest tests/ -x --tb=short - Если тесты прошли - ждёт следующую задачу
- Если упали - передаёт вывод pytest обратно агенту
- Агент анализирует ошибку и исправляет
- Снова тест
Флаг --auto-test говорит Aider запускать тесты автоматически:
aider --sonnet \
--test-cmd "pytest tests/ -x" \
--auto-test
Без --auto-test Aider спрашивает «запустить тесты?» после каждого изменения. С флагом - запускает сам.
Продвинутые конфигурации для разных проектов:
Django-проект (например, сайт турагентства):
aider --sonnet --test-cmd "python manage.py test --failfast 2>&1"
Nodejs с Vitest (например, лендинг шоурума):
aider --sonnet --test-cmd "npm run test -- --reporter=verbose --bail"
Ограничение количества повторов: по умолчанию Aider делает 3 попытки исправить упавший тест. Изменить:
aider --sonnet --test-cmd "pytest -x" --max-reflections 5
Если после N попыток тест всё ещё падает, Aider сообщит об этом и вернёт управление - не будет «застревать» бесконечно.
3. Работа с большим проектом: .aiderignore, тюнинг repo-map, оптимизация контекста
Если у вас проект с кучей файлов (например, интернет-магазин на 1С-Битрикс с тысячами скриптов), Aider без настройки будет тратить кучу токенов на обзор всей базы. Нужно ограничить.
Файл .aiderignore - аналог .gitignore для Aider:
# .aiderignore
node_modules/
.venv/
__pycache__/
build/
dist/
*.min.js
*.map
packages/legacy-app/ # старый пакет, не трогать
docs/ # документация, не код
Aider автоматически исключит эти пути из обзора и из автодобавления файлов.
Лимит repo-map:
aider --sonnet --map-tokens 2048 # по умолчанию 4096
Уменьшение map-tokens ускоряет старт и снижает стоимость за счёт менее полного обзора кодовой базы. Для задачи в одном пакете это нормально.
Работа из подкаталога монорепо:
cd packages/api
aider --sonnet
# repo-map строится только для packages/api
Запуск из подкаталога - самый простой способ ограничить контекст. Aider поднимется к корню Git-репозитория для коммитов, но обзор будет только для текущей директории.
Множественные .aiderignore:
Можно создать .aiderignore в каждом подкаталоге. Aider применяет правила рекурсивно.
Принудительное добавление только нужных файлов:
aider --sonnet --no-auto-commits \
src/api/handlers.py tests/test_handlers.py
Укажите файлы прямо в команде запуска - они добавятся в контекст без автопоиска.
4. Подключение локальных моделей через Ollama: какие модели реально работают с Aider
Хотите работать без интернета и без ежемесячной платы за API? Используйте локальные модели через Ollama. Это как установить AI-помощника к себе на сервер.
Ollama сервер должен быть запущен:
ollama serve # в отдельном терминале
Запуск Aider с Ollama:
export OLLAMA_API_BASE=http://localhost:11434
aider --model ollama/qwen2.5-coder:32b
Протестированные модели (результаты сообщества Aider):
| Модель | VRAM | Качество кода | Скорость |
|---|---|---|---|
| qwen2.5-coder:32b | 24GB | хорошее | медленно |
| qwen2.5-coder:14b | 12GB | приемлемое | норм |
| qwen2.5-coder:7b | 8GB | базовое | быстро |
| deepseek-coder-v2:16b | 12GB | хорошее | норм |
| codestral:22b | 16GB | хорошее | норм |
Для Apple Silicon (M1/M2/M3): RAM используется как VRAM. Macbook Pro 36GB справится с 32B моделью, хотя и медленно (~10 токенов/сек).
Типичные проблемы с локальными моделями в Aider:
- Модель не следует формату diff - используйте
--edit-format wholeдля локальных моделей:
aider --model ollama/qwen2.5-coder:14b --edit-format whole
- Медленный ответ - уменьшите контекст:
aider --model ollama/qwen2.5-coder:14b --map-tokens 1024
- Галлюцинации методов - добавляйте меньше файлов в контекст, давайте более конкретные задачи.
5. Использование DeepSeek R1 и Qwen Coder как бюджетная альтернатива Claude
DeepSeek API - самый дешёвый облачный вариант для кодинга без потери качества на типичных задачах. Для стройфирмы, которая хочет автоматизировать сметы, это идеальный вариант: дёшево и сердито.
Настройка DeepSeek в Aider:
export DEEPSEEK_API_KEY=sk-...
aider --model deepseek/deepseek-coder
Цены DeepSeek Coder V3 (2026):
- $0.014 за 1M токенов (вход) и $0.028 (выход)
- В 100+ раз дешевле Claude Opus
- В 10-15 раз дешевле Claude Sonnet
DeepSeek R1 - модель с «размышлением» (chain-of-thought), сильнее на сложных задачах:
aider --model deepseek/deepseek-r1
R1 медленнее, но лучше справляется с архитектурными задачами и дебагом нестандартных ошибок. Стоит в 3-5 раз дороже обычного DeepSeek Coder, но всё равно дешевле Claude.
Qwen Coder через OpenRouter:
export OPENROUTER_API_KEY=sk-or-...
aider --model openrouter/qwen/qwen-2.5-coder-32b-instruct
Практическая стратегия: используйте DeepSeek Coder для рутинных задач (рефакторинг, тесты, документация). Claude Sonnet для задач, требующих понимания контекста, Claude Opus - только для архитектурных решений в Architect-режиме.
6. Скрипты и автоматизация: Aider в CI/CD для автоматического исправления линтер-ошибок
Aider можно запускать в неинтерактивном режиме из скриптов и CI/CD. Например, чтобы каждую ночь автоматически проверять и исправлять ошибки в отчётах.
Неинтерактивный режим:
aider --sonnet --yes \
--message "исправь все flake8 ошибки в src/" \
--lint-cmd "flake8 src/" \
--auto-lint
Флаг --yes автоматически отвечает «да» на все подтверждения. --message задаёт начальное сообщение без интерактивного ввода.
GitHub Actions для автоматического исправления линтер-ошибок:
name: Auto-fix lint
on:
pull_request:
types: [opened, synchronize]
jobs:
lint-fix:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
token: ${{ secrets.GITHUB_TOKEN }}
- name: Install aider
run: pip install aider-chat
- name: Fix lint errors
run: |
aider --sonnet --yes \
--message "исправь все ruff-ошибки" \
--lint-cmd "ruff check src/ --fix-only" \
--auto-lint \
--auto-commits
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
- name: Push fixes
run: |
git push origin ${{ github.head_ref }}
Bash-скрипт для локальной автоматизации:
#!/bin/bash
# fix-and-test.sh: исправить ошибки линтера и запустить тесты
aider --sonnet --yes \
--message "$1" \
--test-cmd "pytest tests/ -x" \
--lint-cmd "ruff check ." \
--auto-test --auto-lint \
--no-git # если не нужны коммиты
7. Работа через SSH на удалённом сервере без GUI: типичные конфигурации
Aider отлично работает на удалённых серверах через SSH - это один из его главных плюсов по сравнению с IDE-агентами.
Базовая конфигурация для удалённого сервера:
# На сервере:
pip install aider-chat
export ANTHROPIC_API_KEY=sk-ant-...
cd /home/user/project
aider --sonnet
Tmux-сессия для длинных задач:
tmux new-session -d -s aider
tmux send-keys -t aider 'aider --sonnet --message "большой рефакторинг" --yes' Enter
# можно отключиться, задача продолжится
tmux attach -t aider # вернуться и посмотреть прогресс
Проброс X11 не нужен - Aider полностью текстовый. Работает в любом терминале без графики.
Ограничения скорости сети: Если сервер в другом регионе, запросы к API идут от сервера (быстро), не через ваш ноутбук. Это ускоряет работу, если ваш интернет медленный.
Безопасность: Не храните API-ключи в .bashrc на общих серверах. Используйте .env с ограниченными правами:
chmod 600 .env
cat .env
# ANTHROPIC_API_KEY=sk-ant-...
8. Профиль .aider.conf.yml: фиксируем модель, редактор, автокоммиты для командного использования
Файл .aider.conf.yml в корне проекта фиксирует настройки для всей команды. Хранится в Git-репозитории.
# .aider.conf.yml
model: claude-sonnet-4
editor-model: deepseek/deepseek-coder
architect: true
auto-commits: true
auto-lint: true
lint-cmd: "ruff check . --fix-only"
test-cmd: "pytest tests/ -x --tb=short"
edit-format: diff
map-tokens: 2048
git: true
no-pretty: false # цветной вывод
После добавления этого файла в репозиторий каждый разработчик в команде запускает просто aider - все настройки применятся автоматически.
Перезаписать конкретную настройку из файла:
aider --no-auto-commits # отключить автокоммиты на этот запуск
aider --model claude-opus-4 # использовать другую модель
Флаги из командной строки всегда имеют приоритет над .aider.conf.yml.
Конфигурация в home-директории - глобальные настройки для всех проектов:
~/.aider.conf.yml
Полезно для личных предпочтений (любимая модель, цветовая схема), не для командных настроек.
Частые вопросы
Architect-режим дороже - когда он оправдывает стоимость?
Architect оправдан, когда задача требует понимания всей архитектуры проекта и нетривиальных решений: рефакторинг с изменением паттернов, добавление новой системной возможности, дебаг сложного бага с неочевидными зависимостями. Для механических задач - переименование, добавление тестов по шаблону, форматирование - Architect избыточен. Используйте DeepSeek Coder напрямую: дешевле и быстрее.
Как защитить секреты (.env, ключи) от попадания в контекст Aider?
Добавьте в .aiderignore:
.env
.env.*
*.pem
*.key
secrets/
Aider никогда не добавит эти файлы в контекст автоматически. Для надёжности: не добавляйте их через /add вручную. Проверьте командой /tokens - вы увидите, какие файлы сейчас в контексте.
Можно ли запускать Aider автоматически в GitHub Actions?
Да, с флагами --yes --no-suggest-shell-commands --no-check-update. Пример workflow есть выше в гайде. Для безопасности создайте отдельный Fine-grained GitHub Token с правами только на нужный репозиторий, не используйте глобальный токен.
Какая локальная модель через Ollama даёт наилучшее качество для кодинга?
Qwen2.5 Coder 32B - лучшее качество среди локальных, сопоставимо с Claude Haiku на типичных задачах. Требует 24GB VRAM или 36GB+ RAM (Apple Silicon). Если железа меньше: DeepSeek Coder V2 16B на 12GB VRAM даёт хорошие результаты. Qwen2.5 Coder 7B работает на 8GB и подходит для простых задач.
Aider удаляет мои оригинальные комментарии в коде - как это контролировать?
Добавьте явное правило в .aider.conf.yml через опцию --system-prompt-file:
# aider-system.md
Не удалять существующие комментарии в коде.
Не переписывать логику, которую не просили менять.
Минимальные изменения для выполнения задачи.
И в конфиге: system-prompt-file: aider-system.md. Также помогает режим diff вместо whole - агент меняет только конкретные строки, а не переписывает файл целиком.
Что дальше
Следующий шаг: попробуйте Aider на простой задаче - например, попросите его написать скрипт для конвертации вашего прайс-листа из Excel в PDF. Установите Aider (pip install aider-chat), выберите модель (начните с DeepSeek Coder - дёшево), дайте команду на русском. На всю настройку уйдёт не больше часа.
AI Компас (t.me/kosmoslab_ai) - канал для предпринимателей в РФ и СНГ, которые применяют AI в своём бизнесе без программиста. Разбираем инструменты и схемы - без курсов и теории.