Ассистенты по кодирующим

Intellisense был одним из ранних инноваций Microsoft в области помощи в кодировании, впервые представленных в Visual Basic 5.0 (1996), а затем расширился в Visual Studio 97. Это помогло автозаполнять объекты — например, если у вас был объект, называемый рулевым колесом, это предполагает релевантные свойства и методы, спасающие разработчики от постоянного поиска документации.

Язык программирования, объект и IDE работали вместе, поэтому программисту не нужно было думать так много о синтаксисе. Он только что завершился, как и ожидалось. Это было далеко до того, как автозаполнение стало основным с такими инструментами, как Google Search. Таким образом, как программисты, мы долгое время привыкли к такого рода увеличению. Ассистенты по кодированию ИИ являются лишь продолжением этого.

Эволюция инструментов кодирования

Текстовые редакторы, такие как VI и EMACS, существуют почти 50 лет, формируя то, как разработчики пишут и редактируют код. VI, например, все равно, что играть на инструменте — если вы хорошо справляетесь с этим, вы можете перемещать код вокруг невероятно быстро. Это позволяет вам повторять последнее действие 20 раз, что огромно для выполнения утомительных задач, таких как удаление пространств из 100 строк более эффективно.

Со временем редакторы развивались, чтобы сделать программирование более эффективным. VI и EMACS имели свои жесткие подходы, управляемые клавиатурой, а затем и код расширил это с помощью более умной интеграции командной строки автозаполнения и помощи с AI. Ключевым сдвигом стало введение протокола языкового сервера (LSP), в котором стандартизировали то, как редакторы предоставляют обратную связь и предложения в реальном времени на разных языках программирования.

Состояние помощников по кодированию ИИ сегодня

В Tigereye мы не ограничиваемся единым решением для кодирования ИИ, потому что один из них все еще впечатляет. Там нет явного победителя.

Мы рассмотрели Github Copilot, Cursor и Zed, и ясно, что различия между ними не так значительны. Все они работают от аналогичных моделей, и реальное преимущество сводится к пользовательскому опыту в разных редакторах, а не один искусственный интеллект значительно лучше, чем другие.

Для дальнейших наших оценок команда Tigereye также запускает местные модели, чтобы проверить их. Это требует мускулистой машины, но она предоставляет личный и свободный способ экспериментировать с кодирующими агентами без отправки кода на внешние серверы. Этот подход дает нам больше контроля над безопасностью, производительностью и настройкой, позволяя нам оценивать, насколько хорошо эти модели работают в реальных рабочих процессах разработки.

Большой вопрос сейчас: какой из них будет развиваться самым быстрым?

С традиционным Intellisense AutoComplete помог вам заполнить свойства объекта. С помощью ИИ можно автоматически заполнить гораздо больше, но он все еще недостаточно хорош, чтобы полностью доверять. Вы должны все просмотреть. ИИ пока не может надежно писать полный, готовый к производству код. Гонка прямо сейчас о том, какой ассистент кодирования предложит самый чистый, наиболее настроенный пользовательский опыт с самыми ценными улучшениями ИИ.

Где сияют помощники по кодированию ИИ

ИИ хорош в нескольких вещах:

  • Написание модульных тестов: Это значительная боль для разработчиков. Разработка для тестирования требует, чтобы вы писали тестовые примеры перед написанием фактического кода, который является полным уколом. С помощью ИИ вы можете сначала написать код и позволить помощнику генерировать тестовые примеры. Это экономит часы.
  • Создание кода шаблона: ИИ может хорошо справиться с этим, когда вам нужно написать повторяющийся кодовый блок.
  • Математические и алгоритмические реализации: Скажем, мне нужно интерполировать цвета между красным и синим цветом в 100 шагах. ИИ может быстро и точно генерировать логику с тяжелой математикой. Этот вид вещей использовался, чтобы взять более 50 строк кода и потребовать вручную, работая через формулы, но теперь я могу просто спросить искусственного интеллекта, и это выплевывает высококачественную реализацию за считанные секунды.
  • Обнаружение потенциальных ошибок: Я не буду заменять формальные аудиты безопасности, но он может служить слабым парным программистом или помощником отладки. Полезной подсказкой является: «Я думаю, что эта утечка памяти. Покажи мне, где ». Помощники по кодированию ИИ могут выделить потенциальные проблемы и области и области, которые стоит изучать.
  • Мы видели, как помощники искусственного интеллекта хорошо работают в реальном развитии. Около 50% отклонений DuckDB.DART были написаны с помощью ИИ, и все комментарии, специфичные для API, были либо корректируют, либо сгенерированы ИИ для ясности и последовательности. Это помогло стандартизировать документацию при экономии времени на повторяющемся написании тестов.

    Где не терпят устранения помощников по кодированию искусственного интеллекта

  • Системные проектирование: Это основная работа разработчика на уровне среднего до старения, и ИИ ужасен.
  • Рефакторинг кода: AI еще не имеет возможности проанализировать полную кодовую базу и значительно улучшить существующий код.
  • Понимание контекста за пределами одного файла: В то время как помощники искусственного интеллекта в основном работают над отдельными файлами, такие инструменты, как функция композитора курсора и предстоящая функция Edit, начинают решать это, позволяя программистам указать, какие файлы необходимы. Тем не менее, это все еще ручное управление контекстом LLM, требующее, чтобы инженеры направляли ИИ, а не ИИ развивают правильную общеобразовательную осведомленность. Это улучшается, но далеко не беспроблемное.
  • Самая большая проблема? ИИ не хватает интуиции.

    Большие языковые модели не могут думать таким образом, чтобы они могли разработать крупномасштабные системы. Они могут суммировать и извергать известные лучшие практики, но когда дело доходит до реальной, творческой системы, творческой системы … они терпят неудачу.

    Это все равно, что попросить ИИ спроектировать весь стартап с нуля. Это может дать вам советы высокого уровня (потому что есть книги и сообщения в блоге), но он не может выполнить работу.

    Безопасность и конфиденциальность

    Tigereye не использует инструменты искусственного интеллекта, которые применяются ко всей нашей кодовой базе. Мы используем ИИ только с нулевым содержанием данных; Ничто из того, что мы набираем, не хранятся или используется для модельной подготовки.

    Это столовые ставки для нас. Мы не отправляем собственное код на внешние модели, если мы явно контролируем его обработку. Многие компании должны уделять на это больше внимания.

    Будущее развития, способствующего искусственным технологиям

    Следующим большим скачком в ассистентах по кодированию ИИ будет, когда они начнут учиться на том, как разработчики работают в режиме реального времени.

    Прямо сейчас ИИ не распознает шаблоны кодирования в течение сеанса. Если я выполняю одно и то же действие 10 раз подряд, ни один из текущих инструментов не спрашивает: «Вы хотите, чтобы я сделал это для следующих 100 строк?» Но VI и Emacs решили эту проблему десятилетия назад с помощью макросов и автоматического сокращения клавишных. Помощники по кодированию ИИ еще даже не догнали такого уровня эффективности.

    В конце концов, помощники искусственного интеллекта могут стать на основе плагинов, поэтому разработчики могут выбрать лучшие функции, способствующие ИИ, для своего предпочтительного редактора. Глубоко интегрированный опыт IDE, вероятно, предложит больше функциональности, но многие разработчики не захотят переключать IDE.

    Заменит ли ИИ разработчиков?

    Нет.

    Идея о том, что ИИ заменит инженеров-программистов, является бессмысленной, особенно для младших и средних ролей. Что сделает ИИ, так это сделает хороших инженеров намного быстрее. Это не устраняет рабочие места; Это увеличивает индивидуальную производительность.

    Это фундаментальный сдвиг: 10 -кратные инженеры больше не являются единорогами.

    С ИИ большинство инженеров с серединой до меника теперь могут быть 10-кратными инженерами.

    Последние мысли

    Ассистенты по кодированию ИИ имеют потенциал, но они еще не изменяют игру. Прямо сейчас они:

    • Ускорить повторяющиеся задачи кодирования (тесты, шаблон, алгоритмы)
    • Сделайте обучение быстрее (объясните, как профессор CS)
    • Сбой при проектировании системы (нет реальной способности решать проблемы)
    • Отсутствие полного контекста проекта (работайте только на отдельных файлах)

    Лучший подход сегодня — использовать ИИ, где он сильный, и игнорировать его там, где он слаб.

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

    Ассистенты по кодированию ИИ являются еще одной эволюцией в этом цикле. Они не заменят инженеров, но изменят, как готовится инженерия. Ключ не сопротивляется этим инструментам; Он учится правильно их использовать и оставаться любопытным в отношении их возможностей и ограничений.

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

    Trending Stories youtube.com/thenewstack Tech движется быстро, не пропустите эпизод. Подпишитесь на наш канал YouTube, чтобы транслировать все наши подкасты, интервью, демонстрации и многое другое. Группа подпишитесь с эскизом. Ральф Гути является соучредителем и техническим директором Tigereye. Он уважаемый руководитель программного обеспечения, который управляет инновациями и видение безопасности для Tigereye. Ранее Ральф был соучредителем и бывшим техническим директором Plangrid, лидером в области программного обеспечения для производительности строительства, которое … Подробнее от Ralph Gootee

    Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *