Глубокое погружение в новое поколение инструментов программирования ИИ и инновационные практики с помощью AutoDev Sketch
Технологии искусственного интеллекта (ИИ) проникают во все аспекты разработки программного обеспечения с беспрецедентной скоростью, и эволюция инструментов программирования ИИ особенно впечатляет. В этой статье мы проанализируем тенденции развития нового поколения инструментов программирования на основе ИИ и объединим их с AutoDev Sketch практики, чтобы изучить, как создать более умный и эффективный опыт программирования с помощью ИИ.
Инструменты для программирования ИИ 2.0: взгляд на тенденции
Сегодня на рынке существует ряд инструментов для программирования ИИ, которые пользуются популярностью у разработчиков, например Cursor, GitHub Второй пилот Редактирование, WindSurf и Клайн и т.д. Проанализировав эти инструменты, команда AutoDev Sketch обобщила несколько ключевых особенностей нового поколения инструментов для программирования ИИ:

Функциональность инструментов для программирования с использованием ИИ претерпевает глубокие изменения, и они больше не ограничиваются рудиментарными вспомогательными функциями, такими как завершение кода и предсказание кода. Новое поколение инструментов движется в более интеллектуальном направлении, например, пытаясь выполнять более сложное автоматизированное кодирование и верификацию ИИ, что обычно требует больше времени. Токен Ресурсы. Кроме того, наметилась следующая тенденция Асинхронное кодирование искусственного интеллектаОн позволяет искусственному интеллекту непрерывно работать в фоновом режиме для более глубокого взаимодействия с разработчиками, что обеспечивает более плавный процесс разработки.
Основываясь на этих наблюдениях, команда AutoDev Sketch считает, что основные характеристики инструментов программирования ИИ 2.0 можно свести к следующим трем пунктам:
Управляемые агентами: более глубокое понимание намерений
Агент-водитель является основной движущей силой инструментов программирования ИИ 2.0. Это означает, что новые инструменты будут еще больше полагаться на способности мощных моделей к рассуждениям. В сочетании с более быстрым и точным доступом к контекстной информации, предоставляемым инструментами программирования, ИИ лучше понимает истинные намерения разработчика и генерирует код, который в большей степени соответствует его ожиданиям. Автономность и возможности планирования позволяют ИИ выполнять сложные задачи программирования более эффективно, а не просто пассивно реагировать на команды пользователя.

Опыт разработчиков превыше всего: создание плавного Mindstream Experience
Опыт разработчиков превыше всего является важным принципом при разработке инструментов программирования ИИ 2.0. Новые инструменты должны лучше интегрироваться в ежедневный рабочий процесс разработчиков и предоставлять более продуманные функции редактирования кода, прогнозирования и автоматизированного тестирования, чтобы максимально повысить эффективность работы разработчика. Например, такие инструменты, как Cursor, стремятся к тому, чтобы разработчики были сосредоточены и эффективны в процессе кодирования, объединяя различные оперативные действия разработчиков в IDE, предоставляя большое количество механизмов для снижения умственной нагрузки на разработчиков, а также элегантно обрабатывая такие сценарии, как ошибки и повторные попытки.

Автоматизированная проверка: гарантия качества кода
автоматизированная проверка Является неотъемлемой частью AI Programming Tools 2.0. Речь идет о способности инструментов автоматически обнаруживать и проверять качество и корректность бизнес-логики кода, сгенерированного ИИ, а также устранять проблемы, вызванные галлюцинациями ИИ, например, путем автоматического исправления с помощью таких техник, как патчинг. Внедрение автоматизированных механизмов проверки призвано радикально снизить негативное влияние галлюцинаций ИИ и обеспечить надежность кода. Например, в Cursor интегрировано большое количество практических инструментов Lint и терминалов Terminal, что предоставляет разработчикам множество средств автоматизированной проверки кода.

Помимо основных функций, упомянутых выше, некоторые инструменты программирования ИИ 2.0 демонстрируют и другие замечательные парадигмы дизайна:
- Отказоустойчивое взаимодействиеЧтобы еще больше снизить нагрузку на мозг разработчика, некоторые инструменты внедрили трехфазный механизм "генерация-проверка-откат". Этот механизм снижает стоимость проб и ошибок, позволяя разработчикам проверять свой код после того, как он был сгенерирован искусственным интеллектом, и при необходимости откатывать его назад.
- Сценарный фокус: Чтобы повысить эффективность и точность работы в конкретных сценариях, некоторые инструменты начинают применять идеи сценарно-ориентированного дизайна. Например, для таких специфических сценариев, как обзор кода и устранение уязвимостей, предлагаются индивидуальные процессы взаимодействия и инструменты, отвечающие специфическим потребностям различных сценариев.
Большинство популярных инструментов для кодирования ИИ 2.0, представленных на рынке, основаны на платформе VSCode. Однако VSCode - это, по сути, просто редактор, и ограничения его API в определенной степени ограничивают функциональность инструментов для кодирования ИИ, препятствуя реализации более продвинутых функций. Это привело к тому, что AutoDev Команда Sketch задумалась: а не лучше ли создать инструменты для кодирования ИИ непосредственно на базе более мощной интегрированной среды разработки (IDE)?
Мысли команды AutoDev Sketch об инструментах для кодирования ИИ 2.0
Команда AutoDev Sketch провела внутреннее исследование поведения пользователей и обнаружила, что типичный пользователь Intellij IDEA не удовлетворен даже после использования Курсор Инструменты генерации кода AI, такие как Cursor, используются для помощи в написании кода, но в конечном итоге они все равно возвращаются к IDEA для тестирования и отладки кода. Причина в том, что хотя такие инструменты, как Cursor, могут в определенной степени повысить эффективность разработки, это повышение эффективности не может полностью компенсировать разрыв в опыте, вызванный разницей в функциональности между редакторами и IDE. Другими словами, для опытных пользователей IDE мощные функции и полная экосистема, предоставляемые IDEA, по-прежнему незаменимы.
В результате команда AutoDev Sketch начала глубоко задумываться над тем, как лучше всего разработать инструменты кодирования ИИ 2.0, чтобы использовать все преимущества IDE для создания превосходного опыта программирования с помощью ИИ?
Мысль 1: Редакторы ориентируются на опыт, IDE - на экологию

Команда AutoDev Sketch представляет краткий анализ преимуществ и недостатков редакторов и IDE:
VSCode
- Замечательные преимуществаГлавные достоинства VSCode - легкость и гибкость, позволяющие разработчикам быстро создавать прототипы и итерации функций.
- относительный недостаток: Хотя VSCode имеет богатую экосистему подключаемых модулей, качество подключаемых модулей варьируется, и многие функции должны быть переработаны и перепроектированы разработчиками. Кроме того, хотя VSCode предлагает такие функции, как протокол сервера языка (LSP), протокол отладочного адаптера (DAP) и протокол контекста модели (MCP), VSCode не имеет развитой экосистемы подключаемых модулей, что требует от разработчиков повторной разработки и перепроектирования многих функций.MCP) и другие протоколы, но все еще существуют ограничения в достижении глубокой экологической интеграции.
Серия Intellij IDEA
- Замечательные преимущества: Самым большим преимуществом семейства IDE Intellij IDEA являются их готовые функции и высококачественные официальные плагины. Эти плагины предоставляют высококачественную контекстную информацию для поддержки интеллекта инструментов кодирования AI.
- относительный недостаток: По сравнению с VSCode, семейство IDE Intellij IDEA имеет более высокую стоимость разработки, более низкую скорость разработки и относительную нехватку документации, что может в некоторой степени повлиять на точность генерации кода ИИ.
В результате команда AutoDev Sketch считает, что инструменты для кодирования ИИ 2.0 должны использовать мощную экосистему инструментов и возможности плагинов IDE в большей степени, чем просто редакторы.
Размышление 2: Использование экосистемы плагинов IDEA для построения сквозной автоматизации

Intellij IDEA - отличный пример существующей экосистемы инструментов разработки. Особенно в сценарии разработки внутренних API IDEA идеально интегрирует экосистему инструментов, необходимых для "проектирования, разработки и проверки". Например:
- этап проектирования: Такие инструменты, как Swagger, PlantUML, Mermaid и т. д., могут помочь разработчикам в разработке и документировании API.
- этап разработки: HttpClient, Curl, Database plugin и другие инструменты могут повысить эффективность разработки API.
- этап калибровки: Такие инструменты, как JUnit, Playwright, SonarLint и т. д., могут гарантировать качество кода и стабильность системы.
Благодаря этим богатым плагинам команда AutoDev Sketch может создать единый интерфейс для ИИ, предоставляя ему более точные подсказки, более мощный набор инструментов и лучшие механизмы проверки кода для автоматизации сквозного процесса разработки.
Размышление 3: Создание высококачественного контекста для уменьшения иллюзий ИИ

Чтобы свести к минимуму иллюзии ИИ и повысить точность и надежность генерации кода, команда AutoDev Sketch считает, что очень важно создавать высококачественную контекстную информацию. Если взять в качестве примера back-end разработку, то команда AutoDev Sketch может создать ядро инструментов кодирования ИИ, управляемого агентами, с помощью следующих трех инженерных практик:
- Программная инженерия Контекстная инженерияЦель этого проекта - получить ключевую контекстную информацию о проекте, такую как зависимости, информация о базе данных, фреймворке и т. д. AutoDev Sketch может анализировать конфигурацию и код проекта и автоматически извлекать контекстные описания, такие как: "Это рабочее пространство использует Gradle+Java+JDK_18", "Этот проект использует MariaDB", "Вы работаете над проектом, который использует Spring Boot 2.7.10, Spring MVC, JDBC для построения бизнес-логики.". проект использует MariaDB", "Вы работаете над проектом, который использует Spring Boot 2.7.10, Spring MVC, JDBC для построения бизнес-логики."
- Проектирование функциональных вызовов (OpenAI)Проект нацелен на постоянную оптимизацию способности моделей ИИ вызывать функции в различных сценариях и повышение эффективности интеграции ИИ с различными инструментами и API.
- Проект "Слова для реплики" (Клод)Для различных моделей ИИ команда AutoDev Sketch предлагает подсказки в виде цепочки мыслей, чтобы модель лучше усвоила и поняла намерения разработчика.
Качественная контекстная информация в сочетании с оптимизированной стратегией использования слов-подсказок может значительно снизить частоту возникновения иллюзий ИИ, тем самым улучшая ключевые показатели инструментов кодирования ИИ, такие как удобство использования, приемлемость для пользователя и точность кода.
Инструмент для кодирования искусственного интеллекта AutoDev Sketch 2.0 Практическая работа
На основе этого анализа и размышлений команда AutoDev Sketch решила создать AutoDev Sketch, инструмент для кодирования ИИ нового поколения, основанный на ключевой концепции:Высококачественные системные подсказки + возможности рассуждений на основе большой языковой модели (LLM) + контекстная осведомленность IDEAutoDev Sketch. Органично сочетая все три составляющие, AutoDev Sketch способен глубоко понять замысел разработчика и воплотить его в интерактивном представлении Sketch для более интеллектуального и естественного программирования с помощью искусственного интеллекта.

1. Создание высококачественных контекстных и инструментальных связей

AutoDev Sketch глубоко интегрирован с экосистемой плагинов IDEA, что обеспечивает высокое качество контекстной информации и инструментов. Например, в AutoDev Sketch интегрирован компонент Database, который предоставляет ИИ унифицированные возможности манипулирования базами данных и инкапсулирует их в виде контекстной информации и инструментов, помогающих разработчикам более эффективно работать с базами данных.AutoDev Sketch достигает глубокого взаимодействия между ИИ и базами данных в следующие три этапа:
- Расширенные системные подсказки: Когда пользователь подключается к базе данных, AutoDev Sketch автоматически добавляет информацию о подключении к базе данных в системную подсказку, например, "Workspace context: Project using MariaDB 11.5.2-MariaDB".
- Вызов инструмента: Когда ИИ распознает, что пользователю требуется операция с базой данных, он может проактивно вызвать
Database
инструменты и использовать/database:schema
и другие API для получения информации о схеме базы данных, что помогает при генерации кода. - Взаимодействие и проверка SQLAutoDev Sketch не только поддерживает ИИ для генерации SQL-кода, но и позволяет ИИ напрямую взаимодействовать с базой данных для проверки корректности сгенерированного кода. В будущем AutoDev Sketch также предоставит более полный механизм проверки SQL-кода, чтобы еще больше гарантировать качество кода.
Помимо компонента Database, в AutoDev Sketch интегрированы и другие полезные плагины IDEA, такие как HttpClient, SonarLint и т. д., которые призваны предоставить разработчикам более широкие возможности для разработки, тестирования и проверки качества кода.
2. Богатый инструментарий: преодоление "последней мили" автоматизированного внедрения
Чтобы еще больше расширить возможности разработчика, AutoDev Sketch углубляется в интеграцию инструментов. В отличие от редакторов ИИ на основе VSCode, таких как Cursor, AutoDev Sketch использует все преимущества встроенной функциональности IDE и инкапсулирует ее в качестве инструмента для вызова ИИ. Вот список инструментов, доступных в AutoDev Sketch на данный момент:

Например.run
, иrefactor
ответить пением structure
AutoDev Sketch оборачивает их в инструменты, призванные помочь ИИ более точно понять намерения разработчика и сгенерировать код, более точно соответствующий ожиданиям разработчика, что позволяет автоматически внедрять код, сгенерированный ИИ.
3. Различные виды эскизов: построение плавного потока сознания разработчика

После того как ИИ сгенерирует код, AutoDev Sketch отображает его в интерактивном представлении Sketch, которое призвано помочь разработчикам лучше понять сгенерированный ИИ код и на основе которого они могут вносить дальнейшие правки и итерации для улучшения общего опыта разработчика. Для достижения более плавного хода разработки AutoDev Sketch полностью продумал возможности взаимодействия в различных сценариях в представлении Sketch, например:
- Универсальная обработка патчей/диффов: Представление Sketch поддерживает множественную обработку патчей и Diff, облегчая разработчикам просмотр и применение изменений кода, а также интегрирует такие функции, как проверка Lint для обеспечения качества кода.
- Предварительный просмотр WebView фронтального приложенияВ сценариях разработки внешних приложений, когда разработчик запускает службу разработки, AutoDev Sketch может автоматически открыть окно WebView, чтобы показать эффект работы приложения в реальном времени, что удобно для разработчика для быстрого предварительного просмотра и отладки.
- Полагайтесь на проверки безопасностиКогда искусственный интеллект создает файлы зависимостей, в представлении Sketch можно выполнять проверку безопасности зависимостей, что помогает разработчикам своевременно выявлять и устранять потенциальные риски безопасности.
- Другие возможности взаимодействия: Например, обеспечение структурированного отображения кода, быстрого выполнения фрагментов кода и других функций для дальнейшего повышения эффективности разработки и удобства использования.
Благодаря этим непрерывным конструкциям взаимодействия AutoDev Sketch стремится минимизировать умственную нагрузку на разработчиков и повысить общую эффективность разработки и удобство использования.
Подводя итоги: взгляд в будущее инструментов кодирования ИИ 2.0

В целом, основные особенности AI Coding Tools 2.0 можно свести к трем ключевым областям: глубокая интеграция базы знаний и экосистемы инструментов R&D, постоянная оптимизация процессов кодирования разработчиков и поддержка различных архитектур моделей ИИ.
- Использование экосистемы НИОКР: Будущие инструменты для кодирования ИИ должны быть более тесно интегрированы с существующими инструментальными цепочками и базами знаний НИОКР, чтобы действительно обеспечить интеллектуальную генерацию кода и вспомогательные функции.
- Следуйте за разработчиком Coding Mindstream: Благодаря постоянным автоматическим улучшениям и оптимизациям инструменты кодирования ИИ должны быть нацелены на создание более плавного и эффективного процесса кодирования для разработчиков.
- Поддержка многомодельной архитектурыЧтобы удовлетворить разнообразные потребности разработчиков, будущие инструменты для кодирования с помощью ИИ должны иметь многомодельную архитектуру, например, использовать различные модели ИИ для выполнения таких задач, как планирование кода, понимание кода и завершение кода, соответственно.
Благодаря исследованиям и практике AutoDev Sketch, мы уверены, что разработчики имеют более четкое представление о том, как создать следующее поколение инструментов кодирования ИИ. Команда AutoDev Sketch надеется, что благодаря постоянным технологическим инновациям и итерациям продукта мы сможем создать более умные и простые в использовании инструменты программирования ИИ для разработчиков, чтобы мы могли вместе принять новую эру разработки программного обеспечения на основе ИИ.
Если вас интересует AutoDev Sketch, пожалуйста, посетите сайт AutoDev Sketch для получения более подробной информации.
© заявление об авторских правах
Авторское право на статью Круг обмена ИИ Пожалуйста, не воспроизводите без разрешения.
Похожие статьи
Нет комментариев...