Технології

ШІ-помічники: як обчислювальне мислення формує розробку ПЗ

19 жов•ITnet

Кодування за допомогою ШІ-асистентів стало звичною практикою для розробників, однак визначення кінцевої мети та суті самого коду залишається фундаментальним завданням людини. Запит до ШІ несе в собі вибір мети, релевантної інформації та прийнятних результатів. Концепція обчислювального мислення (computational thinking) робить ці вибори явними, пов'язуючи їх з поведінкою програми.

У дискусії про ШІ та абстракції Мартін Фаулер та Унмеш Джоші розмежовують пошук нових корисних абстракцій та застосування вже існуючих. Обидві діяльності включають дизайнерські рішення, які проявляються у підсумковій реалізації.

Обговорення The Pulse від AlphaWire з Конрадом Вольфрамом описує обчислювальне мислення як чотириетапний процес: визначення питання, представлення проблеми, обчислення та інтерпретація результату. Вольфрам підкреслює, що саме обчислення є лише частиною цієї ширшої діяльності. Стосовно розробки ПЗ, це розмежування розміщує згенерований код між рішеннями про постановку завдання та оцінкою отриманого результату.

Визначення проблемиВимоги до програмного забезпечення формулюють бажаний результат,

а обчислювальна проблема надає цьому наміру необхідної точності для роботи. На цьому етапі визначаються мета, область застосування та обмеження. Формулювання питання встановлює, яка інформація є релевантною і які аспекти повинні зберігатися при перекладі проблеми в код.

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

Визначення проблеми може змінюватися в процесі розробки. Робота над реалізацією виявляє неочевидні неоднозначності. Уточнення питання є частиною процесу розробки, поряд з написанням та редагуванням коду. Точність не вимагає попереднього вирішення всіх деталей реалізації, але вимагає, щоб важливі терміни мали спільне значення, межі були чіткими, а передбачуваний результат — вимірюваним.

Перетворення наміру на модельПредставлення пов'язує заявлене питання з обчисленням. Воно ідентифікує об'єкти,

з якими взаємодіє програма, пов'язану з ними інформацію та відносини, які вона повинна підтримувати. Явне іменування цих концепцій формує словник коду, який можна обговорювати незалежно від конкретної мови програмування.

Генерація коду є частиною створення цього представлення. Код виражає вибори щодо даних та операцій, а його виконання ці операції здійснює. Структура програми та спостережувана поведінка роблять модель доступною для вивчення, обговорення та перегляду в процесі розробки.

Унмеш Джоші використовує ШІ-асистента для переписування одного й того ж коду різними мовами, включаючи Go та C++, щоб дослідити альтернативи реалізації. Ці «мовні проекції» дозволяють йому вивчати різні способи вираження рішення, навіть незнайомими йому мовами. Згенерований код стає матеріалом для розвитку дизайну.

Джоші також описує, як різні підходи до програмування підтримують його роботу. Для обробки даних він вважає корисним мислити ланцюжками перетворень над потоками даних. Для інтерактивних додатків він мислить у термінах об'єктів, які об'єднують збережену інформацію з операціями,

що її використовують.

Для навчання ці вибори відокремлюють розуміння правил мови від розуміння дизайну. Імена, дані та операції виражають погляд на проблему. Пояснення їх взаємозв'язків показує, як реалізація відповідає своїй меті, навіть якщо її синтаксис змінюється.

Обчислювальне мислення з ітераційним переглядом. Джерело зображення: Створено за допомогою ШІ

Інтерпретація результатуОбчислення виробляє вивід з обраного представлення. Інтерпретація пов'язує цей вивід з метою, яка стала початком роботи. У програмному забезпеченні результат включає поведінку програми разом із доказами, що використовуються для її оцінки.

Інтерпретація виводу також включає визнання обсягу моделі. Результат стосується інформації та відносин, які були представлені. Питання за межами цього обсягу вимагають іншого представлення або переглянутого питання; вони не можуть бути вирішені простим повторним виконанням тієї ж обчислювальної процедури.

Тести виражають деякі очікування щодо поведінки програми. Вони надають докази щодо цієї поведінки в умовах, які вони охоплюють. Вони не встановлюють автоматично,

що вибрані очікування охоплюють усе, що програма повинна виконати. Код-рев'ю досліджує вибори реалізації; тести перевіряють задану поведінку. Порівняння цих перевірок з початковою метою — це судження про програмне забезпечення загалом.

Процес Вольфрама дозволяє повернутися до питання або представлення. Результат, який викликає перегляд, є частиною процесу, а не його кінцем. Перегляд моделі змінює те, що обчислюється, тоді як перегляд питання змінює те, на що обчислення повинно відповісти. Робота об'єднує ці вибори, реалізацію та інтерпретацію через повторне дослідження.

Вибір того, що будуватиОгляд технічних працівників METR, опублікований у травні 2026 року, проводить подібне розходження між швидкістю виконання завдання та цінністю виробленої роботи. У ньому взяли участь 349 технічних спеціалістів, включаючи 87 інженерів-програмістів, опитаних з лютого по квітень 2026 року. Учасники представляли випадкову вибірку, а не репрезентативне перехрестя технічних працівників. Їхні оцінки описують їхнє сприйняття допомоги ШІ; це не контрольовані вимірювання приросту продуктивності.

Дослідники розділяють час, витрачений на завдання, від корисності отриманої роботи. Вони також розглядають зміни у складі завдань, якими займаються люди. Вимірювання швидкості залежать від того, які саме види діяльності враховуються; внесок залежить від того, яких результатів ці види діяльності досягають. Таким чином, швидка реалізація передбачає подальше судження про те, чи просуває вибране завдання мету програмного забезпечення.

Люди, відповідальні за програмне забезпечення, вирішують, що робить результат корисним. Згенерований код надає їм реалізацію для роботи; обчислювальне мислення з'єднує його поведінку з метою, якій це кодування повинно служити.

Повідомлення ШІ-помічники: як обчислювальне мислення формує розробку ПЗ з'явилося спочатку на ITnet.

Джерело

Читайте ще