Разработчик, сосредоточенный на ИИ, был очень тактичным, сказал генеральный директор All Hands AI, Роберт Бреннан, сказал разработчикам на конференции Infobip Shift, организованной ранее в этом месяце в Майами. Все руки ИИ создает агенты ИИ с открытым исходным кодом для использования в разработке программного обеспечения.
Тактическое развертывание означает, что ИИ в первую очередь выполняет автозаполнение в IDE, сказал он.
«Вы находитесь в своем IDE, вы активно работаете над проблемой, и ИИ в основном — где бы ни был указан ваш курсор — он предсказывает следующие несколько строк кода в качестве автозаполнения», — сказал он.
Он признал, что это очень безупречно, но ИИ может сделать больше, чтобы стать лучшим другом кодера, объяснил он во время своей презентации того, как он использует ИИ в программировании.
Все руки AI создали OpenHands, лицензированный MIT-лицензированный агент по разработке программного обеспечения с моделью, который может писать код, запускать команды, просматривать Интернет и даже решать проблемы GitHub.
Совсем недавно в этом месяце All Hands объявила о сотрудничестве с Aistral AI, что привело к выпуску модели с открытым исходным кодом для кодирующих агентов под названием Devstral.
«Инженеры -программисты на данный момент очень ясно, что то, как мы работаем два года назад, не так, как мы работаем сегодня», — сказал Бреннан. «И то, как мы будем работать через два года, будет выглядеть очень, очень иначе. Мы думаем, что действительно важно, чтобы сообщество по разработке программного обеспечения имело высшее образование в том, как выглядит это изменение, что мы имеем высшее образование в том, как наша работа выглядит через два года».
Бреннан считает, что подход с открытым исходным кодом разблокирует эти ценные будущие варианты использования ИИ для разработки программного обеспечения.
«Вы предоставляете одну или две строки английского языка агенту, говорящему:« Реарсируйте этот файл », добавьте модульный тест, пожалуйста, исправьте конфликты слияния в этом PR;, и агент уходит и работает в течение 5, 10, 15 минут, без необходимости контроля, тогда [IT] Возвращается к вам с ответом, — сказал он. — Тем временем вы можете сосредоточиться на другой задаче кодирования. Вы можете поговорить со своими товарищами по команде на Slack. Вы можете обезтьте на Reddit ».
Разрушение агентов ИИ: агентские петли
Но прежде чем разработчики смогут воплотить эту конкретную мечту, есть работа.
Бреннан объяснил, что агенты ИИ работают на агентских петлях. Это в основном цикл между большой языковой моделью, которая обеспечивает «мозг» или «двигатель» для ИИ и внешнего мира, где действует агент.
«Основной цикл — мы спрашиваем LLM:« Какое следующее действие вы можете предпринять? », — сказал он.
Это действие может просмотреть веб -страницу, чтобы найти документацию, запустить команду или чтение и редактирование файла. Как только LLM возвращает работу, разработчик программного обеспечения подает это обратно в LLM для следующего этапа цикла. По сути, разработчик продолжает поворачивать этот цикл, пока, наконец, LLM не скажет, что он выполнит задачи, сказал он.
«Покачиваясь в эти действия немного больше, есть много интересных вещей, которые случаются под капюшоном, чтобы позволить агентам по разработке программного обеспечения действительно хорошо выполнять работу», — сказал он.
В первые дни редактирования кода наивная реализация заключалась в том, чтобы вставить весь файл, который он хотел редактировать в LLM, и вернуть совершенно новую версию файла, объяснил он. Это означало использование большего количества токенов, что сделало его дорогим, медленным и подверженным ошибкам. Агент может заменить все вкладки и пробелы или забыть линии.
«Теперь есть гораздо более сложные стратегии для редактирования файлов на основе Diff или строки« найти и заменить »-современные агентские рамки имеют гораздо более сложное решение для редактирования файлов»,-сказал он.
«С OpenHands мы приняли решение, что по умолчанию агент всегда работает в песочнице. У него есть время выполнения Docker, где у него есть своя файловая система и имеет свой собственный терминал».
— Роберт Бреннан, генеральный директор All Hands AI
По его словам, многие агентские инструменты будут работать на вашем ноутбуке. Он также работает в вашем терминале, который, как он признал, может быть немного страшным. Вот почему разрешение становится очень важным при использовании агентов ИИ, сказал он.
Обычно агенты искусственного интеллекта работают с каким -то режимом подтверждения — когда агент говорит, что хочет запустить команду, разработчик должен нажать кнопку Y, прежде чем она может продолжить на один шаг дальше. Это может быть немного утомительно, потому что он возвращается в тактический режим, добавил он.
OpenHands нашли обходной путь, который даже защитит вас от его выполнения команды /RMRF Linux, которая насильственно и рекурсивно удаляет файлы и каталоги.
«С открытыми руками мы приняли решение, что по умолчанию агент всегда работает в песочнице», — сказал он. «У него есть время выполнения Docker, где у него есть собственная файловая система и имеет свой собственный терминал, даже если он пытается запустить /RMRF, он не собирается испортить вашу файловую систему, и это позволяет агенту быть намного более автономным и запускать неконтролируемые».
Это приводит к соображениям, таким как какие виды учетных данных должны быть предоставлены агентом ИИ.
«Вы хотите дать ему ключи API?» Он спросил. «Может быть, вы хотите, чтобы он мог читать из ведра S3, но вы не хотите, чтобы он просто мог снять ваш производственный кластер Kubernetes».
ИИ микроагенты
Он также немного рассказал о микроагентах, которые являются одним из способов разбить более крупные задачи AI на более мелкие задачи, которые могут быть переданы специализированным микроагентам для автономного решения.
Практическая задача для предприятий заключается в том, чтобы сделать микроагенты надежными, безопасными и адаптированными к конкретным рабочим процессам. Инструменты все еще развиваются, но несколько упомянутых бреннанов были правилами курсора, доступны в редакторе кода на основе AI или файл Clon.md, который представляет собой файл разметки, содержащий конкретные инструкции или политики, используемые в контексте AI или машинного обучения, особенно в рамках Mlem.AI.
Примеры использования разработчиков для агентов искусственного интеллекта
Бреннан выделил некоторые из его любимых вариантов использования для агентов и микроавтобусов ИИ:
1. Установите конфликты слияния
«Это моя наименее любимая вещь, которую нужно сделать как разработчик», — сказал он. «У меня есть пиар, который был одобрен, тесты проходят, он готов к работе, но тогда кто -то еще редактирует тот же файл, который я отредактировал, и GIT не может автоматически разрешить слияние». Это требует, чтобы он сортировал старый код и новый код, чтобы попытаться объединить его.
«Это очень крутая задача, не так много творчества, и это то, что ИИ делает исключительно хорошо», — сказал он. «Так что теперь в любое время есть конфликт слияния, я просто прошу ИИ сделать это для меня».
В результате он не активно разрешал конфликты слияния вручную за несколько месяцев.
2. Адреса с обратной связи PR
«Кто -то еще уже дал очень четкое описание того, чего они хотят», — сказал он.
При этом они в основном написали для вас подсказку. Он советует ИИ исправить это и немедленно обращается к их отзывам. «Я также попросил это исправить конфликты слияния одновременно», — сказал он.
3. Изменения инфраструктуры
ИИ может хорошо справиться с изменениями инфраструктуры, добавил он. Helm — популярный менеджер пакетов для Kubernetes.
«Это еще одна из моих любимых задач, потому что я ненавижу работать с Terraform, а Helm обычно включает в себя такие, как странные, эзотерические изменения, которые необходимо внести, чтобы отправиться на охоту вокруг документации для некоторой диаграммы Helm и т. Д.», — сказал он. «Опять же, тот, который агент имеет тенденцию делать очень хорошо».
По его словам, он использует Openhands для решения проблем с памятью, потому что ИИ отлично следовал всеми лучшими практиками, связанными с созданием баз данных и миграции.
4. Тестирование
Бреннан также использует AO AO Openhands для исправления испытаний и расширения тестовых покрытий.
«Это действительно здорово, потому что есть очень четкое определение: испытания терпят неудачу», — сказал он. «ИИ может в основном просто итерация, изменяя код или изменяя тесты, пока не дойдет до точки, где он может запустить эту команду, и он проходит с кодом выхода, ноль».
Он также может расширить тесты, если есть область вашей кодовой базы, которая полностью раскрыта тестами, добавил он.
«Это просто очень легкая, быстрая победа для работы с агентом ИИ […] Это может только повторять, пока испытания не пройдут », — сказал он.
Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Loraine Lawson — ветеран -репортер, который в течение 25 лет освещал технологические проблемы от интеграции данных до безопасности. Прежде чем присоединиться к новому стеку, она работала редактором Banking Technology Site Bank Automation News. Она … читайте больше от Лорейн Лоусон