Агенти на основі великих мовних моделей (LLM) зазвичай не підходять для парного програмування, бо вони кодують значно швидше, ніж люди можуть осмислити їхні дії. Використання агентського режиму GitHub Copilot у VS Code демонструє, як AI легко пише робочий метод з першої спроби і може допомогти, звертаючись до незнаних раніше API. Співпраця з таким помічником видається мотиваційною, адже він безперервно рухається до мети, часто навіть наполегливіше за користувача.
Однак парне програмування з топовими LLM нагадує роботу з досвідченими людськими програмістами — не завжди приємний досвід. Партнер може забрати клавіатуру і строчити код так швидко, що стає неможливо встигнути за його темпом. Відтак увага поступово згасає, бо ментальні ресурси виснажуються спробами втримати темп. Коли ж виникають складнощі і партнер звертається за допомогою, людина часто не розуміє, що відбувалося до цього, і опиняється неготовою.Найгірше, коли згодом з’ясовується, що весь цей час розроблялося не те, що було потрібно, і тепер доводиться розбиратись із технічною плутаниною, яка виникла випадково через хибний напрям роботи, аби встигнути до дедлайну.
Таким чином, співпраця з AI-агентом може бути тривожним досвідом, схожим на роботу з експертом, який не вміє зупинитися та обговорити план.
Коли у парному програмуванні трапляються партнери, які намагаються виконати всю роботу самостійно, краще не протидіяти — варто дати їм змогу діяти на власний розсуд. Ідеальне парне програмування передбачає спільну розробку рішень, але без взаємної залученості це втрачає сенс. У такій ситуації ефективніше розбити роботу на окремі підзадачі, які можна реалізовувати незалежно, а потім зводити їх докупи через pull request. Те саме стосується й співпраці з LLM — замість використання автономного агентського режиму прямо в редакторі, доцільно переходити до асинхронних підходів, як-от новий Coding Agent від GitHub, чию роботу також можна зручно переглядати перед впровадженням.
Водночас не варто повністю відмовлятися від парного програмування з AI. Але варто перейти на повільніші, покрокові режими — «Edit» або «Ask». Такий підхід знижує темп, проте зберігає контроль над якістю коду. Як і при роботі з людьми, важливо мати послідовний і зрозумілий процес взаємодії, а не просто покладатися на AI у складні моменти. Найкраще працює формат, коли модель пропонує зміни, а користувач сам вирішує, які з них впроваджувати. Це дає змогу поєднати швидкість із постійною перевіркою рішень.
Імовірно, через кілька місяців активного використання стане очевидно, наскільки обмеженою є роль агентів у парному програмуванні. Тож розробникам варто спрямовувати зусилля на те, щоб зробити взаємодію з агентами ближчою до живого партнерства. Бо сьогоднішня надшвидка генерація коду часто просто не залишає людині простору для повноцінної співпраці. Якщо агент друкуватиме повільніше, періодично зупинятиметься для обговорення рішень і заохочуватиме користувача до активної участі, це може суттєво покращити досвід.
Було б корисно мати можливість самостійно регулювати швидкість роботи агента — скільки рядків коду чи слів на хвилину він генерує. Не менш важливо — мати змогу зупинити його для уточнення деталей чи зміни напрямку. Додаткові інструменти, як-от вбудовані to-do списки, прив’язка до GitHub-завдань або покрокове трекінгування прогресу, теж стали б у пригоді. Ще ефективніше, якби агент проявляв менше впевненості, більше питав, перевіряв правильність завдань і вчасно сигналізував про можливі помилки у стратегії. А розширений голосовий чат зробив би співпрацю природнішою — очі залишаються на коді, а мозок краще включається у процес через живе спілкування.
Авторка: Дар’я Бровченко
Немає коментарів:
Дописати коментар
Примітка: лише член цього блогу може опублікувати коментар.