Комментарии 5
Вот сложно автору было первый абзац посвятить тому что такое aider? Как ollama запускать, вроде писано на Хабре немало (причем, часто новичками, которые где-то пару команд осилили найти, но все же).
Ну вот хотя бы так:
Aider — это инструмент с искусственным интеллектом, предназначенный для помощи в написании и редактировании кода. Работая через командную строку, он интегрируется с моделями GPT, чтобы анализировать код в реальном времени, предлагать правки, генерировать новые функции или исправлять ошибки. Пользователь может взаимодействовать с ним через текстовый чат, описывая задачу, а Aider автоматически вносит изменения в файлы проекта, сохраняя контекст кодовой базы. Это упрощает разработку, сокращая время на рутинные операции и минимизируя переключение между редактором и внешними сервисами.
Примеры использования:
Отладка кода — например, разработчик сталкивается с ошибкой в Python-скрипте. Aider анализирует сообщение об ошибке, находит проблему в синтаксисе или логике и предлагает исправление.
Добавление функционала — при создании веб-приложения на Flask пользователь может запросить реализацию API-эндпоинта. Aider сгенерирует код для маршрута, обработки запросов и интеграции с базой данных, адаптируя его под существующую структуру проекта.
Aider как инструмент выглядит очень перспективно -- опенсурсный, не прибит гвоздями к IDE, умеет работать с git, поддерживает OpenAI API.
Но есть и минусы.
1) Длинные промпты в терминале писать неудобно (нет форматирования, как минимум).
2) Каждый сеанс -- это лотерея. Может целиком очистить файл переписав содержимое, может в рандомное место воткнуть результат генерации. Возможно это проблема слабых моделей (хотя Qwen2.5-Coder-32B-Instruct не такая уж и слабая модель).
3) Быстро ест токены. Если пользуешься платной подпиской с ограничением на кол-во токенов, то это может быть критично. Это не минус непосредственно aider'a -- очевидно что агент будет вокруг исходного пользовательского запроса накручивать еще собственную нагрузку в виде дополнительных запросов и от этого никуда не денешься.
4) Работа с контекстом это просто геморрой. Добавлять в контекст руками все нужные файлы каждый раз сильно утомляет. Фактически, съедает весь профит от использования инструмента. Особенно раздражает когда читаешь ответ модели и понимаешь, что получилась полная чушь из-за того что ты один из классов забыл добавить в контекст. И теперь надо чистить диалог, заново добавлять файлы, писать промпт и ждать нового результата.
Короче, я в итоге почти отказался от использования aider. В 99% процентов случаев проще кинуть запрос к модели напрямую и ответ просто скопипастить куда надо.
Было бы интересно узнать опыт других пользователей, может я просто неправильно пользуюсь инструментом или все проблемы решаются доступом к какой-нибудь более мощной модели.
Запускаем Aider в Docker и вайб-кодим