Люди + ШІ = нова ера в розробці?
Вступ
Минулого місяця мене попросили написати статтю. Оскільки я давненько нічого не писав, окрім коротких повідомлень, довелося задуматися — а про що може бути стаття? Відповідь була настільки очевидною, що залишалося лише виділити час на написання. Немає і не може бути зараз іншої теми у сфері професійних інтересів, яка цікавила б мене сильніше, ніж штучний інтелект.
Нова ера?
Багато хто в індустрії вважає, що вихід на ринок великих мовних моделей (LLM) — настільки революційна подія, що може затьмарити винахід електрики. А електрика — це основа цивілізації, яку ми знаємо. Без неї ми, люди, відкотимося у розвитку далеко назад.
У сучасних війнах сторони розглядають енергетику противника як пріоритетну ціль. ЗМІ про такі атаки повідомляють як про спроби загнати ворога в кам’яний вік. Усі розуміють, що тривала відсутність електрики призведе до непоправних наслідків — не працюватимуть світлофори, не буде де зарядити гаджети, не буде Інтернету й мобільного зв’язку. Промисловість, транспорт та інші сфери діяльності людини не зможуть продовжувати існувати у звичному вигляді без цієї всюдисущої, недорогої і сприйманої нами як невід’ємна частина повсякденної реальності. У світі без електрики більшість наших професійних навичок марні, нам усім довелося б освоювати інші вміння — щось на кшталт ковальства чи чищення димоходів. Якщо порівняти наші дні з епохою появи електрики на службі у людства, то кажуть, що ми зараз перебуваємо на етапі початку масового впровадження ШІ у виробництво, офіси та військову справу. Впровадження електрики у виробництво — це початок минулого століття. Процес тривав десятиліттями і призвів до всюдисущності цієї енергії. Спробуйте впоратися з будь-яким буденним завданням на зразок приготування чашки кави, поставивши собі за мету навмисно відмовитися від використання електрики. Це одразу потребуватиме наявності специфічного обладнання та ресурсів — газового пальника, ручного кавомолу, питної води з колодязя тощо. У ринковій економіці все це одразу відобразиться на ціні цієї чашки, і вона нам не сподобається.
Учора, зайшовши на свій ютуб-канал, я натрапив на старе відео, яке записав телефоном на музичному фестивалі 2015 року. На ньому грає гурт, назви якого не знали навіть організатори фестивалю. Я закинув ютуб-посилання в
Зовсім нещодавно, лише кілька місяців тому, я писав, шукав помилки і рецензував чужий код самостійно, вручну. Я багато й наполегливо навчався, вдосконалював свої навички програмування роками. Тепер більшу частину цієї роботи замість мене виконує інша програма, про принципи роботи якої я маю вельми туманні уявлення. Продуктивність моєї праці зросла багаторазово. Дуже складні завдання, над якими доводилося битися до кількох тижнів, тепер вирішуються протягом робочого дня.
Нова ера ШІ вже настала? На мій погляд — так. Ми просто ще не знаємо, до чого вона призведе, оскільки перебуваємо на самому її початку. Люди ще можуть обходитися без ШІ, у нас ще збереглися старі навички, але з кожним роком, поступово втрачаючи їх, ми рухаємося у майбутнє, де без ШІ ми станемо безпорадними.
Трохи історії
З моменту, коли я почав час від часу стикатися з самим терміном «штучний інтелект», минуло вже понад 30 років. У моєму рідному місті — Донецьку, у далекому 1991 році з’явився Науково-дослідний інститут проблем штучного інтелекту. І хоча він до цього часу так і не подарував світові жодних відкриттів і технологічних проривів, термін набув розголосу. Перше моє знайомство зі спеціалістом у галузі ШІ відбулося в середині
Використання ШІ в розробці
Революційність LLM полягає в тому, що нам надається інтерфейс для постановки задач і отримання відповідей у вигляді, максимально зрозумілому й доступному людині. Я можу сформулювати завдання, що складається з кількох пунктів, яке містить усю необхідну для його виконання інформацію у вигляді так званих артефактів (тексту, гіперпосилань, зображень тощо). І зробити це можна без використання спеціальної мови програмування. Для розробника спілкування з програмою зводиться до аналога спілкування з колегою по проекту, якому ти ставиш завдання, розповідаєш і показуєш, що у нас є і де потрібно щось змінити, відповідаєш на уточнювальні запитання, перевіряєш результат і зрештою — приймаєш роботу. Для професійного використання LLM у розробці не потрібно вчити нову мову програмування, необов’язково (але вкрай бажано) вивчити структуру даних та інтерфейси інструменту. Головна вимога — максимально точно і коректно формулювати завдання, наповнюючи його контекст необхідними даними. Саме так виглядає мій повсякденний робочий процес.
У підсумку я отримав у розпорядження колегу, який знає набагато більше, ніж будь-яка людина, готовий до роботи 24/7 і дуже швидко прогресує як професіонал. Півроку тому він був джуном, зараз — це сеньор, а завтра LLM, можливо, досягне найвищої кваліфікації, недоступної людині. А людина, чия професія досі називається software engineer, фактично стає project manager і architect в одній особі.
Маючи такого корисного, вмілого й невтомного помічника, головне моє завдання зараз — це вже не написання коду, а вибудува чіткіх правил роботи команди. Чим чіткіше й детальніше сформульовані критерії цих правил, тим швидше і якісніше «закриватимуться» задачі. Існує безліч варіантів підходів для реалізації цього завдання. У цій статті я зосереджуся на одному, який називається Spec Driven Workflow.
Spec-driven development
Це підхід до розробки, де специфікація задачі — головний артефакт, не код. Суть ідеї полягає в тому, що перед тим як писати код, створюється докладний документ, у якому описується, що потрібно створити/змінити, чому і як. І лише після цього починається реалізація.
Типовий цикл розробки виглядатиме так: Ідея → макет → специфікація → рецензування специфікації → код → рецензування коду → тести → деплой замість звичного: Ідея → макет → код → рецензування коду → тести → деплой
У результаті у команди залишається не лише код, але й задокументована історія рішень. Тепер це невід’ємна частина репозиторію проекту, до якої в будь-який момент можна повернутися.
Специфікація зазвичай складається з таких пунктів:
- Мета — яку проблему вирішуємо.
- Вимоги — що система має робити.
- Дизайн — архітектура, API-контракти, схеми даних, макети.
- Edge cases — що має відбуватися у нестандартних ситуаціях.
- Критерії прийомки — як зрозуміти, що все готово і можна рухатися далі.
Навіщо це потрібно
Не так давно, у березні 2026 року Amazon пережив серію резонансних збоїв. 2 березня сайт не працював майже шість годин — за цей час було втрачено 120 000 замовлень і зафіксовано 1,6 мільйона помилок. Три дні потому стався ще серйозніший збій: обсяг замовлень у США впав на 99%, що обійшлося приблизно в 6,3 мільйона втрачених замовлень. Обидва інциденти були пов’язані зі змінами в коді, згенерованими за допомогою ШІ і розгорнутими у продакшн без належного узгодження. Після цього Amazon запустив
Головний принцип обговорюваного тут підходу простий: помилку в MarkDown-документі знайти й виправити незрівнянно простіше і дешевше, ніж ту саму помилку у вже написаному коді! Чим складніша система, що розробляється, чим пізніше виявляється проблема — тим дорожче обходиться її усунення. Крім того, єдиний документ стає спільним джерелом правди для всієї команди — чи то люди, чи то ШІ-агенти. У результаті мінімізується ймовірність неправильної інтерпретації задачі, всі спираються на чітко сформульовану документацію із заданими критеріями.
Вплив на роботу з ШІ-інструментарієм
Сьогодні, коли код генерується
Як тут не згадати стару істину — правильно поставлене запитання — це вже половина відповіді. У світі ШІ вона набуває буквального змісту. Пам’ятаєте суперкомп’ютер Deep Thought із «Автостопом по галактиці»? Він чесно видав відповідь на головне запитання життя, всесвіту і всього іншого — 42. Проблема виявилася не у відповіді, а в тому, що ніхто як слід не сформулював саме запитання.
Сьогодні, в епоху вайб кодінга і агентних систем, історія ризикує повторитися. Хороша специфікація — це і є правильно поставлене запитання. А отже, вже половину роботи зроблено.
Висновок
Яким буде майбутнє людства, озброєного ШІ — я не знаю. Як не могли наші предки, що жили на початку минулого століття, уявити, що їхні нащадки літатимуть на літаках, їздитимуть на автомобілях, розмовлятимуть по телефону і дивитимуться фільми вдома. Можливий оптимістичний сценарій, де ми живемо в достатку і добробуті завдяки автоматизації праці. Або песимістичний, у якому власники нейромереж встановлять цифрову диктатуру небаченого масштабу. Антиутопічний сценарій, у якому машини вирішують позбутися непотрібних «шкіряних мішків», скидати з рахунків не варто, але мені, оптимісту, туди заглядати не хочеться. Що я знаю точно, так це те, що світ постійно змінюється і ми змушені змінюватися разом з ним. Тому, незалежно від того, подобаються нам ці зміни чи ні, ми маємо постійно адаптуватися до нових реалій. Принаймні для того, щоб не відстати, не застаріти. Адже, як відомо, для того щоб залишатися на місці, потрібно рухатися вперед.
Кирило Злачевський
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів