Новая глава в кодировании: как ИИ глубоко меняет практики программиста

Новая глава в кодировании: как ИИ глубоко меняет практики программиста

7 августа 2025 г.

Аннотация и 1 введение

2. Предыдущие концептуализации интеллектуальной помощи для программистов

3. Краткий обзор больших языковых моделей для генерации кода

4. Коммерческие инструменты программирования, которые используют большие языковые модели

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

6. Изузаение юзабилити и дизайна программирования A-ассистентного

7. Опыт отчетов и 7.1. Писать эффективные подсказки сложно

7.2 Активность программирования сдвигается в сторону проверки и незнакомой отладки

7.3. Эти инструменты полезны для шаблона и повторного использования кода

8. Неадекватность существующих метафор для программирования A-A-Advisted

8.1. Помощь ИИ в качестве поиска

8.2. Помощь ИИ в качестве компиляции

8.3. Помощь ИИ в качестве парного программирования

8.4. Отчетливый способ программирования

9. Проблемы с применением программирования конечного пользователя

9.1. Выпуск 1: Спецификация намерений, разложение проблемы и вычислительное мышление

9.2. Выпуск 2: Правильность кода, качество и (над) уверенность

9.3. Выпуск 3: Понимание и обслуживание кода

9.4. Выпуск 4: Последствия автоматизации в программировании конечных пользователей

9.5. Выпуск 5: Код без кода и дилемма прямого ответа

10. Заключение

A. Источники отчета о испытании

Ссылки

8.4. Отчетливый способ программирования

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

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

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

Таким образом, существующие метафоры не полностью отражают опыт программирования с помощью LLM. Это становится отличным способом программирования. Это не совсем поражает нас как отдельную практику программирования, так как этот термин был применен к сообществам программистов, объединенных с аналогичным духом и целями, такими как инженеры -разработчики предприятия, бриколеры, живые кодеры и кодовые изгибы; Но, как отмечают Bergström & Blackwell (2016), нет четких критериев, с помощью которых мы можем определить границы практики. Это также не затрагивает нас как новую деятельность программирования в соответствии с структурой когнитивных измерений, поскольку помощь ИИ явно ортогональна авторизации, транскрипции и модификации, применимо к каждому из этих действий и других, кроме. Тем не менее, как способ программирования, кажется, влияет

Figure 6 – GridBook interface showing natural language formula in the spreadsheet grid.

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

Авторы:

(1) Advait Sarkar, Microsoft Research, Кембриджский университет (advait@microsoft.com);

(2) Эндрю Д. Гордон, Microsoft Research, Эдинбургский университет (adg@microsoft.com);

(3) Карина Негрину, Microsoft Research (cnegreanu@microsoft.com);

(4) Christian Poelitz, Microsoft Research (cpoelitz@microsoft.com);

(5) Sruti Srinivasa Ragavan, Microsoft Research (a-srutis@microsoft.com);

(6) Бен Зорн, Microsoft Research (ben.zorn@microsoft.com).


Эта статья естьДоступно на ArxivПод CC BY-NC-ND 4.0 Лицензия.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE