
Человеческий-мужский и человеческий пары программирования
23 июня 2025 г.Авторы:
(1) Qianou Ma (автор -корреспондент), Университет Карнеги -Меллона, Питтсбург, США (Qianouma@cmu.edu);
(2) Тонгшуанг Ву, Университет Карнеги -Меллона, Питтсбург, США (sherryw@cs.cmu.edu);
(3) Кеннет Кодингер, Университет Карнеги -Меллона, Питтсбург, США (koedinger@cmu.edu).
Таблица ссылок
Аннотация и 1. Введение
2. Контексты, методы и задачи
3. Смешанные результаты
3.1. Качество и 3,2 производительности
3.3. Обучение и 3,4 стоимости
4. Модераторы
4.1. Типы задач и сложность
4.2. Совместимость
4.3. Коммуникация
4.4. Сотрудничество
4.5. Логистика
5. Обсуждение и будущая работа
5.1. LLM, ваш парный программист?
5.2. LLM, лучший программист?
5.3. LLM, студенческий программист?
6. Заключение, подтверждение и ссылки
АБСТРАКТНЫЙ
Появление крупных моделей (LLMS), которые преуспевают в генерации кода и коммерческих продуктах, таких как Copilot Github, вызвало интерес к программированию пар человеческой партии (называемой «парным программированием»), где система ИИ сотрудничает с человеческим программистом. В то время как традиционное парное программирование между людьми было тщательно изучено, остается неясным, можно ли применять его выводы к программированию пар человеческой пары. Мы сравниваем программирование пары человека и человека и человека, исследуя их сходства и различия в взаимодействии, мерах, преимуществах и проблемах. Мы обнаруживаем, что эффективность обоих подходов смешана в литературе (хотя меры, используемые для парного программирования, не столь всеобъемлющие). Мы суммируем смягчающие факторы успеха программирования пар человека-мужа, который предоставляет возможности для исследований парного программирования. Например, несоответствующая экспертиза делает парное программирование менее продуктивным, поэтому хорошо разработанные помощники по программированию ИИ могут адаптироваться к различиям в уровнях опыта.
1 Введение
Парное программирование было впервые введено в 1990 -х годах в рамках практики разработки Agile программного обеспечения [9]. В своем исходном определении парные программирование описывает практику двух программистов, работающих вместе на одной и той же задаче, используя один компьютер, клавиатуру и мышь. Один программист в паре, «драйвер», выполняет кодирование (печатание) и реализует задачу, в то время как другой программист, «Навигатор», помогает в планировании, рассмотрении, отладке и предложении улучшений и альтернатив. Со временем пара программирования развивалось и адаптировано к различным контекстам и целям. Теперь он используется в широком спектре настроек, включая образование, промышленность и разработку программного обеспечения с открытым исходным кодом [5, 83].
Недавние достижения в сгенерировании кода с крупным языком (LLMS) привели к широко распространенной популярности коммерческих инструментов помощи в программировании, таких как GitHub Copilot [26], которые рекламируют себя как «ваш программист из AI Pair». Для парного программирования, вместо двух людей, работающих на одном компьютере, именно программист и ИИ на основе LLM работают вместе над одной и той же задачей. Сдвиг в парадигме поднимает вопросы:Способно ли партнер по программированию ИИ с программистом пары человека? Применимы ли они к тем же контекстам, могут ли они достичь аналогичной или лучшей производительности, и должны ли люди взаимодействовать с ними таким же образом?
В этой работе мы углубимся в текущее состояние исследований по программированию пар и человеческих пар, чтобы раскрыть их сходства и различия, и мы надеемся вдохновить более качественные оценки и дизайны LLM, генерирующих код как парного программиста. Мы начинаем с обзора контекста приложения, методов и задач как для литературы по программированию парней человека, так и для человека-аи (раздел 2), а затем погружаемся в мелкозернистые сравнения их измерений успеха (раздел 3), а также способствующие модераторы, например, факторы совместимости пар, такие как опыт (раздел 4).
Мы обнаруживаем, что (1) предыдущая работа по парадигмам программирования в парных программах наблюдала смешанные результаты вкачествоВпроизводительностьВудовлетворениеВобучение, ирасходы, (2) Парное программирование еще не разработало всеобъемлющие измерения, и (3) ключевые факторы для успеха пар были в значительной степени неисследованными.
Опираясь на наше исследование, мы обсуждаем взгляды и проблемы характеристики ИИ как парного программиста, и подробно рассказываем о будущих возможностях для разработки передовых практик и руководящих принципов для программирования пар человеческой пары (раздел 5). Во-первых, мы утверждаем, что смягчающие факторы, которые приводят к проблемам программирования парного парного человека человека (например, совместимости и общения), предоставляют возможности для улучшения программирования пар человеческой пары. Может быть многообещающим использовать различия между человеком и партнером по искусственному интеллекту (например, более настраиваемый уровень опыта и более адаптируемые стили общения) для разработки для более успешного опыта программирования в парных парах. Во-вторых, мы поощряем будущие исследования для изучения лучшей среды развертывания для программирования пар на человека. В то время как большинство работ по программированию человека-ай-ай было сосредоточено на оказании помощи профессиональным разработчикам, мы надеемся вдохновить больше будущих работ в контексте обучения (или, программирование парных парных студентов), и мы выделяем потенциальные проблемы.
2 контекста, методы и задачи
Программирование пары человека-человека возникло как практика в индустрии разработки программного обеспечения [9], а затем стала популярной совместной практикой обучения в классах [83]. Поэтому в этой статье мы сравниваем программирование парных и человеческих паров в отрасли и образовательных контекстах, поскольку они являются наиболее распространенными контекстами.
Мы придерживаемся первоначального определения программирования пар человека-человеков, чтобы тесно напоминать взаимодействие человека с ии на одном устройстве. Существуют другие способы взаимодействия для сравнения команд человека и человека-AI в программных задачах, таких как компьютерное совместное обучение [71] и распределенное парное программирование [19], но они выходят за рамки данной статьи.
Для программирования пар человеческой пары в большинстве современных работ оценивались копилот с использованием тематических исследований (например, [12]) или экспериментальных исследований (например, [84]) с опытными программистами в отрасли. Подобно программированию парных людей-человеков, исследователи пытались имитировать реалистичную среду профессионального развития в своей настройке задач. Например, Barke et al. [8] пригласили 20 участников, в основном докторантов и инженеров -программистов, выполнить такие задачи, как разработка клиента и сервера чата. Тем не менее, не хватает неинвазивных исследований на полевых наблюдениях, таких как исследования программного программирования человека-человека [65, 75].
Немногие недавние работы изучали с использованием средств программирования на основе LLM или копирования со студентами. Например, Kazemitabaar et al. [39] использовали контролируемое экспериментальное исследование с 69 начинающими студентами с 10 до 17 лет, которые работали над 45-код и модифицирующими кодом задач Python. Тем не менее, существующие работы по программированию пар человеческой пары находятся в основном в лабораторных экспериментах, и все еще не хватает крупномасштабного исследования [51] и развертывания в классе [57, 87], как в литературе по программированию парной партии человека.
При настройке групп сравнения существующие пары программирования сравнивали пару человека-аи с человеческим человеком [35] или человеком соло (например, сравните работу разработчиков, когда они используют Copilot или инструмент завершения кода по умолчанию) [84]. Ни одно текущее исследование не устанавливает трехстороннее сравнение для человеческого, человека-человека и человека.
Краткое содержание: По сравнению с работами по программированию парных людей человеком, существующие исследования не хватает реалистичного развертывания в рабочем пространстве или в классе, и более крупный размер выборки также был бы желательным. Исследователи обеих парных парадигм программирования используют различные конструкции исследования, чтобы изучить, что влияет на эффективность парного программирования. В разделе 3 и в разделе 4 мы сравниваем переменные и измерения, которые они использовали, чтобы еще больше раскрыть то, чего не хватает в парных исследованиях.
Эта статья есть
Оригинал