Прогулка разработчика Aider, агента с открытым исходным кодом CLI

1753534689
2025-07-26 12:03:00

В моем путешествии через интерфейсы агентской командной строки (CLI) я наконец-то пришел к усилиям с открытым исходным кодом, под руководством сообщества, ПомощьПолем По иронии судьбы, это один из оригинальных агентов CLI, и, как вы увидите, он несколько показывает свой возраст. Я посмотрю, как это фигурирует с моим набором функций качества жизни для агентского искусственного интеллекта и моего короткого теста.

Лифт «Aider позволяет вам соединить программу с LLMS, чтобы запустить новый проект или наращивать свою существующую кодовую базу это тот, который звонит с моим аргументом о том, где агент CLI Excel. Тонкие, но хорошо указанные, крупные языковые модели (LLMS) лучше всего рассматривать как инженерные инструменты, работающие в вашем проекте в целом – не столько в редактировании помощи при написании кода.

Установка

Помощь устанавливается как проект PythonПолем Питон между 3,8-3,13 предлагается:

Homebrew не упоминается сразу, поэтому я начну виртуальность, как это рекомендуется сделать. Я сбросил каталог, чтобы настроить Венвинг:

Обратите внимание на название проекта Tell-Tale, которое дает вам Ван.

Чтобы завершить установку, я ввожу следующее:

Затем документация дает выбор между моделями из DeepSeek, OpenAI и антропного. У меня есть ключ для антропного, поэтому я использую это. Я вхожу в систему и использую консоль создать ключ. Чтобы начать aider, я набираю:

> Польза модели сонет-adep-key anpropic = sk ..

> Польза модели сонет-adep-key anpropic = sk ..

Сказав это, я вижу способы Начало пройдера со многими другими LLMSв том числе LLMS Ollama.

Мы получаем простую начало сеанса:

Таким образом, Aider управляет собственным CLI, в данном случае в моей консоли Warp. (Если я изменяю размер своего терминала, эта зеленая линия больше не соответствует ширине. Полная линия не является очень разумной конструкцией в терминале. Позже существуют дополнительные небольшие проблемы с псевдо -терминалом Aider, например, повторяющиеся символы приглашения.)

Вы заметите, что каталог GIT находится ниже рабочего каталога, что вызвало проблему, поскольку у меня нет проверки содержимого. Но это не обычная проблема. Просто предупреждение о возможной путанице.

Так в чем же разница между основной моделью и слабой моделью? К счастью, я смог спросить aider. Это говорит о том, что более слабая модель используется для коротких, быстрых (и, надеюсь, более дешевых) взаимодействий:

  • Простые завершения кода
  • Основные задачи рефакторинга
  • Когда основная модель недоступна
  • Чувствительные к стоимости операции
  • Быстрые итерации, когда идеальный код не критичен
Read more:  Lineman Lineman Teair Tarts Trolls Travis Kelce после того, как звезда Smacking Chiefs в шокирующей сцене

Короче говоря, основная модель используется для агентских задач.

Глядя на конец этого последнего ответа, я отмечаю, что он дает общую сумму затрат. Это то, что я ищу в своих агентских функциях качества жизни:

Стандартный тест на слияние JSON

Обратите внимание, что это не представляет собой какую -либо форму стандартизированного теста (перейти к терминал для чего -то подобного). Я просто хочу проста, но, возможно, неоднозначный тест, которым я знаю, что LLM может управлять, чтобы мы могли видеть, как работает интерфейс.

У Aider есть концепция файлов в фокусе, которую вы можете «добавить в чат», как он его ставит. Хотя я вижу, что он запутался, сканируя мою репо, он понимает набор файлов, на которых он должен сосредоточиться, чтобы он мог устроиться в GIT.

Что я буду делать, так это добавить два моих знакомых файла JSON City JSON в текущий каталог, а затем /добавить их в aider. Я сделаю это на отдельной вкладке:

Эти каталоги были добавлены Aider, и мы посмотрим, почему вскоре.

Как и прежде, я попрошу слияние JSON, используя этот запрос:

«Пожалуйста, обновите файл json riginal_cities.json с содержимым файла updated_cities.json, но если поле« изображение »отличается, пожалуйста, обновите или напишите новое поле« Imageinted »с новым значением вместо этого».

Но во -первых, ограничения

Я должен сказать, что я не могу найти простые ссылки на то, где может бродить Aider. Он может видеть репо, и он будет только думать, что он владеет файлами, которые добавлены с /добавлением – это, вероятно, потому, что он был разработан до того, как питание (и риск), которую обеспечивают более новые модели. Я добавляю эту записку, потому что в целом, прежде чем вы используете какой -либо агент инструмент, вы должны понимать, какие изменения в вашей файловой системе он считает, что он может внести.

Read more:  Новые стандарты продолжительности для мобильных батарей

Теперь, когда я придерживаюсь запроса, мы получаем четкое представление о том, что я упоминал ранее: он хочет добавить файлы «в чате». Это должно помочь понять проблемы безопасности:

Затем я столкнулся с двумя проблемами. Во -первых, я не читал предупреждение о том, что все файлы относительно каталога GIT, а не текущего каталога. Во -вторых, я заметил, что он запутался по своему собственному файлу.

Затем он поразил меня, что происходит: он явно думал, что мой каталог Aider также был его каталогом Aider! Простое столкновение с именем каталога. Поэтому я перезапустил в новом каталоге. Это также дало бы мне возможность использовать флаг только-подстрижного, чтобы остановить его сканирование всего репо:

Я скопировал файлы в новый каталог и добавил их в Aider:

Это хорошее краткое изложение того, что нужно было сделать. Затем он показал стиль GIT Diff для изменений, предложенных для Original_Cities.json.

<<<<<< SEARCH { "cities": [ { "id": "London", "text": "London is the capital of the UK", "image": "BigBen" }, { "id": "Berlin", "text": "Great night club scene", "image": "Brandonburg Gate", "imageintended": "Reichstag" }, { "id": "Paris", "text": "Held the Olympics of 2024", "image": "EifelTower", } ] } ======= { "cities": [ { "id": "London", "text": "London is the capital and largest city in Great Britain", "image": "BigBen" }, { "id": "Berlin", "text": "Great night club scene but a small population", "image": "Brandonburg Gate", "imageintended": "BrandenburgGate" }, { "id": "Paris", "text": "Held the Olympics of 2024", "image": "EifelTower", "imageintended": "NotreDame" }, { "id": "Rome", "text": "The Eternal City", "image": "TheColleseum" } ] } >>>>>>> заменить

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

<<<<<<

{

“Города”: [

    {

      “id”: “London”,

      “text”: “London is the capital of the UK”,

      “image”: “BigBen”

    },

    {

      “id”: “Berlin”,

      “text”: “Great night club scene”,

      “image”: “Brandonburg Gate”,

      “imageintended”: “Reichstag”

    },

    {

      “id”: “Paris”,

      “text”: “Held the Olympics of 2024”,

      “image”: “EifelTower”,

    }

  ]

Read more:  Самая реалистичная климатическая модель из когда-либо созданных

}

=======

{

“Города”: [

    {

      “id”: “London”,

      “text”: “London is the capital and largest city in Great Britain”,

      “image”: “BigBen”

    },

    {

      “id”: “Berlin”,

      “text”: “Great night club scene but a small population”,

      “image”: “Brandonburg Gate”,

      “imageintended”: “BrandenburgGate”

    },

    {

      “id”: “Paris”,

      “text”: “Held the Olympics of 2024”,

      “image”: “EifelTower”,

      “imageintended”: “NotreDame”

    },

    {

      “id”: “Rome”,

      “text”: “The Eternal City”,

      “image”: “TheColleseum”

    }

  ]

}

>>>>>>> заменить

Конечно, я не делал ни одного коммита, но айдер правильно добавил себя в качестве соавтора.

Заключение

Нет сомнений в том, что Aider не имеет большого контроля над терминалом по сравнению с более поздними агентскими примерами, такими как Claude Code, Gemini CLI и Warp. Я не нашел aider особенно хорошим опытом; Или, возможно, более точно сказать, что его расстояние от недавних агентских моделей ощутимо.

Тем не менее, использование GIT делает опыт более эффективным, хотя сам git довольно анти-атмосфера. Конечно, это совершенно намеренно – этот продукт не для кодировщиков Vibe. Я думаю, что с некоторыми из неудобного поведения (например, сканирование всего репо) можно обрабатывать флаги.

В целом я бы не рекомендовал Aider, учитывая превосходные варианты, которые я упомянул. Но это открытый исходный код, и поэтому его можно легко улучшить. Тем не менее, в этот момент проходу чувствует, что принесет нож в борьбу с оружием.

Youtube.com/thenewstack

Технология движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое.

ПОДПИСАТЬСЯ

Группа создана с помощью эскиза.

Дэвид был лондонским профессиональным разработчиком программного обеспечения в Oracle Corp. и British Telecom, а также консультантом, помогающим командам работать более гибким образом. Он написал книгу по дизайну пользовательского интерфейса и с тех пор пишет технические статьи ….

Узнайте больше от Дэвида Истмана
#Прогулка #разработчика #Aider #агента #открытым #исходным #кодом #CLI

Ещё по этой теме

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.