Чи справді ШІ пише код краще за нас? Особистий досвід приборкання “коня” у світі кодування
Протягом останніх двох десятиліть я безпосередньо залучений до процесів бізнес-аналізу, автоматизації та, з недавніх пір, інтеграції штучного інтелекту. За цей час я спостерігав безліч “революційних” технологій, які обіцяли змінити розробку програмного забезпечення. І, з власного досвіду, з усією відповідальністю заявляю: ключ до успішної інтеграції ШІ в кодинг – не стільки в самій моделі, скільки в тому, як ми її “приборкаємо”. Саме про це сьогодні й поговоримо.
Минулого тижня, мій давній друг, досвідчений розробник, поділився зі мною своїми розчаруваннями за горнятком кави. “Ліло, – зітхнув він, – після багатьох років роботи в коді, я втомився. У мене є проєкт, що розростався роками, з неконтрольованим об’ємом коду. А ці сучасні ШІ-асистенти, хоч і обіцяють багато, в моєму “кодовому лісі” губляться”.
Його слова відлунювали мої власні думки. Світ рясніє туторіалами про те, як ШІ “пише код”. Але мало хто говорить про те, як змусити його ефективно працювати зі справді великими, складними кодовими базами – з тими, що містять десятки, а то й сотні тисяч рядків. З проєктами, де навіть звичний grep може стати рятівником, але навіть він не завжди рятує.
Це як мати найновіший молоток, але намагатися забивати цвяхи в стіну, зроблену з подушок. Незручно, неефективно, а результат сумнівний. Саме тому я почав заглиблюватися в питання розробки ефективного “AI Layer” – того самого “вершника”, що дає змогу керувати “конем” ШІ.
Мій досвід підтверджує: історія успіху з використанням ШІ у великих кодових базах – це історія про те, як ефективно використовувати інструмент, а не про сам інструмент.
Навігація в кодових джунглях: як ШІ знаходить свій шлях
Уявіть собі великий, старий ліс – густий, з безліччю стежок, що ведуть в невідомість. Саме в такому лісі опиняється ШІ, коли йому дають завдання розібратися в кодовій базі, що росла роками. Звичні засоби, на кшталт grep, – це ліхтарик, який освітлює лише маленьку ділянку. Це може бути корисним, але часто недостатньо.
Компанія Anthropic, розробники моделі Claude, нещодавно опублікували статтю, що привернула мою увагу. В ній детально описується, як їхній інструмент, Claude Code, спрощує роботу в таких випадках. Вони стверджують, що їх інструмент працює не як звичайний пошук. Він орієнтується в коді так, ніби він досвідчений інженер: вивчає структуру каталогів, використовує командні інструменти, щоб зрозуміти, на що саме звернути увагу.
Як це працює на практиці? З власного досвіду можу підтвердити: на відміну від класичного пошуку, Claude Code не потребує “індексації” кодової бази. Я переконався, що це значно економить час, дозволяючи зосередитися на роботі, замість постійного оновлення пошукової системи. Однак, щоб ШІ міг ефективно працювати, йому необхідний контекст. Необхідно надати йому базову інформацію, щоб він зрозумів, з чого почати.
А що, якщо ви не знаєте, звідки починати? Ось тут і починається найцікавіше. Якщо структура проекту не підказує, як знайти потрібне, я рекомендую створити “карту кодової бази.” Це може бути текстовий опис усіх підкаталогів, їх призначення. З мого досвіду, це значно полегшує ШІ пошук, коли він ще сам не розуміє, з чого почати.
“Вуздечка” для коня: як “AI Layer” управляє ШІ
З моєї точки зору, найважливіше в роботі з ШІ-асистентами для кодингу – це не сама модель, а те, як ми її приборкуємо. Я, як практик, використовую термін “AI Layer” – для опису набору інструментів, контексту та правил, які ми надаємо ШІ. Уявіть, що у вас є потужний, але неслухняний кінь. Сама по собі сила коня вражає, але без досвідченого вершника, який знає, як ним управляти, він може наробити шкоди. “AI Layer” – це і є той “вершник”, що скеровує нашого “коня”.
Традиційно кодова база складалася з коду та тестів. Тепер додається третій елемент: “AI Layer”. Це все, що допомагає ШІ: глобальні правила, навички, інструменти.
Скільки разів ми використовуємо “AI Layer” під час сесії кодування?
- Глобальні правила: Найчастіше. Це основа, яка визначає поведінку ШІ протягом всієї роботи.
- Навички (Skills), Хуки (Hooks), LSP (Language Server Protocol): Використовуються час від часу, залежно від потреби.
Глобальні правила: фундамент вашого “AI Layer”
Найважливіша складова “AI Layer” – це глобальні правила. Саме вони диктують, як ШІ має поводитися. І тут є декілька ключових моментів, з якими я стикнувся на практиці:
-
Стрункі та багатошарові (Lean and Layered):
- Уникайте тисячі рядків у файлі правил. Великі файли правил можуть сповільнювати ШІ. Я зосереджуюся на ключовій інформації: про що проект, який техстек, архітектура, загальні конвенції.
- Використовуйте вкладені файли правил (claw.md). Головний файл
claw.mdв корені проекту завжди активний. Але коли ШІ заходить у підкаталог, він автоматично завантажуєclaw.mdзвідти. Це як поступове розкриття інформації: завантажуємо тільки те, що потрібно зараз.
Приклад з мого досвіду: Я, як майстер, використовую основні правила приготування (наприклад, алгоритм). Але коли я готую щось специфічне, як борщ з грибами, я додаю окремі правила. Таким же чином і в кодуванні: загальні правила проєкту, а потім – специфічні для API, для бази даних тощо.
-
Ініціалізація ШІ в потрібному каталозі:
- Якщо ви знаєте, що вам потрібно працювати тільки в певній частині коду (наприклад, по Jira-тікету), ініціалізуйте Claude Code безпосередньо в цьому каталозі. ШІ зосередиться на файлах в цій директорії, хоча й не забуде про загальні правила з кореня.
Практична порада: Якщо ви не знаєте, з чого почати, створіть “карту кодової бази” в глобальних правилах. З мого досвіду, це допомагає ШІ краще зорієнтуватися.
sponsor
JetBrains Academy: Чи знаєте ви, що можна вивчити ШІ-технології, одразу застосовуючи знання на реальних проєктах? JetBrains Academy пропонує саме це! Їхні “Skill Paths” дозволяють вам писати код прямо в PyCharm, а потім розгортати ваші творіння в AWS sandbox. Це не просто теорія, це реальний досвід, який ви можете додати до свого резюме. Якщо ви хочете будувати своє “друге я” на базі ШІ, це ваш шанс!
Хуки: самовдосконалення вашого “AI Layer”
Хуки – це скрипти, які можуть автоматично запускатися на початку або наприкінці сесії ШІ. З мого досвіду, вони можуть:
- Зупиняючі хуки (Stop hooks): Аналізують, що відбулося під час сесії, і пропонують оновлення правил (.md файлів), щоб ШІ вчився і не повторював помилок. Уявіть, що ШІ сам собі пише інструкції для майбутнього!
- Стартові хуки (Start hooks): Завантажують контекст, специфічний для команди або частини проєкту. Це гарантує, що кожен розробник отримує правильні налаштування без зайвих зусиль.
Приклад з реального проєкту: Після завершення кодування, ШІ самостійно аналізує зміни, виявляє, що нові правила було б добре додати до загальних конвенцій, і пропонує відповідні зміни. Це не просто інструмент – це ваш персональний помічник, який постійно вчиться!
Навички (Skills): специфічні задачі для ШІ
Навички – це як окремі “професії” для вашого ШІ. Це набори кроків, reusable prompt, які розширюють можливості Claude Code.
Чому це важливо у великих проєктах? У великій кодовій базі може бути десятки, а то й сотні типів задач (наприклад, “додати API-маршрут”). ШІ не повинен знати все відразу. Навички допомагають завантажувати тільки потрібні “знання” в конкретний момент часу.
У чому різниця між навичками та .md файлами в підкаталогах?
- Глобальні правила (.md файли): це конвенції, правила, яких слід дотримуватися.
- Навички (Skills): це робочі процеси, інструкції для виконання конкретної задачі.
Лайфхак з моєї практики: Я обмежую дію навички певним каталогом. Наприклад, навичка “додати API-маршрут” буде активною лише тоді, коли ви працюєте в каталозі api/services. Це гарантує, що специфічні робочі процеси активуються тільки там, де вони актуальні.
LSP та MCP: ШІ дивиться очима розробника
Чи помічали ви, як в IDE (наприклад, VS Code) ви можете натиснути Ctrl+Click на змінній і одразу перейти до її визначення? Це реалізовується за допомогою Language Server Protocol (LSP). Це стандарт, який допомагає IDE розуміти код.
Як це працює з ШІ? За допомогою LSP, Claude Code отримує подібний рівень навігації. Це дозволяє йому шукати не просто за текстом, а за сутністю (символом): класом, функцією, змінною. З мого досвіду, це набагато швидше та ефективніше, ніж звичайний grep, особливо у великих проєктах.
MCP (Message Channel Protocol) сервери – це те, що дозволяє ШІ використовувати LSP. Уявляйте, що ви створюєте “особистого помічника” для ШІ, який має доступ до цих інструментів.
Мій особистий досвід: Я створив локальний MCP-сервер, який працює з LSP. Він надає Claude Code потужні інструменти для пошуку: “знайти всі посилання на цю змінну”, “показати визначення класу”. З власного досвіду, це значно прискорює роботу і зменшує кількість помилок.
Субагенти: розділяємо дослідження та редагування
Якщо вам потрібно дослідити нову технологію або знайти найкращий спосіб реалізації певної функції, це вимагає часу та ресурсів. Субагенти (subagents) – це як окремі “мозкові центри” для вашого ШІ.
Як це допомагає?
- Розділення задач: Один субагент може шукати інформацію в інтернеті, інший – досліджувати кодову базу, а третій – готувати рекомендації.
- Економія контекстного вікна: Первинний ШІ-асистент отримує тільки резюме від субагентів, не перевантажуючи своє “робоче вікно” зайвою інформацією.
Приклад з мого проєкту: Я можу сказати Claude Code: “Досліди, як додати аутентифікацію в наш проєкт. Використай для цього субагентів: один для бази даних, один для бекенду, один для фронтенду.” ШІ зробить це, а потім видасть зведену рекомендацію.
Плагін: все в одному інструменті
Щоб зробити все це ще простішим, я створив плагін для Claude Code. Він дозволяє вам:
- Встановити самовдосконалювальні хуки.
- Використовувати субагента для досліджень.
- Запустити MCP-сервер з LSP для ефективного пошуку.
- Створити навичку, яка масштабується на конкретний каталог.
Це лише відправна точка. Ви можете інсталювати його в будь-який проект, навіть якщо там вже є свій “AI Layer”.
Як це зробити?
- Клонуйте репозиторій з моїм плагіном.
- Встановіть його через командний рядок Claude Code.
- Готово! Тепер ви можете експериментувати з цими потужними інструментами.
Останнє слово: хто відповідає за “AI Layer”?
Найкращі компанії ставлять окремих людей або невеликі команди на чолі команди “AI Layer”. З мого досвіду, це гарантує:
- Стандартизацію: Всі використовують один і той самий “AI Layer”.
- Ефективність: Перші результати використання ШІ будуть вражаючими, а не розчаровуючими.
- Консистентність: Усі отримують однаково якісні результати.
Моя порада з особистого досвіду: Якщо ви хочете глибше розібратися в побудові “AI Layer” для вашої команди, я пропоную індивідуальні тренінги. Ми разом побудуємо фундамент для ефективного використання ШІ в кодингу.
Підсумовуючи все вищесказане, я хочу підкреслити: потужність ШІ-асистентів для кодингу полягає не стільки в самій моделі, скільки в тому, як ми її “приборкуємо” – створюючи ефективний “AI Layer”. Це куються навички, вивчаються правила, впроваджуються інструменти. Це комплексна робота, яка вимагає уваги, але результати того варті.
Що далі? Почніть експериментувати! Спробуйте створити хоча б один простий claw.md файл або одну навичку. Подивіться, як це впливає на вашу роботу з ШІ. Пам’ятайте: кожна подорож починається з першого кроку.
А чи використовуєте ви вже ШІ-асистентів у своїй роботі? З якими викликами стикалися? Поділіться своїм досвідом у коментарях! Мені буде дуже цікаво почути ваші історії. І якщо вам сподобалося, не забудьте поставити лайк та підписатися. До зустрічі на шляху до майбутнього кодингу!







