Як перетворити ШІ-помічника з балакуна на надійного партнера у кодингу: мій, особистий досвід боротьби з “контекстною гниллю”
Пам’ятаєте відчуття, коли намагаєтеся пояснити колезі складну проблему, а замість цього чуєте безглузді фрази та загальні поради? Це відчуття мене переслідувало, коли я вперше почав працювати з Claude Code. Обнадійливий потенціал штучного інтелекту швидко перетворювався на джерело розчарування.
Але минулого року, 22 травня, вийшов Claude 4, разом з оновленим Claude Code. Я, як дослідник, відстежував цей інструмент ще з реліз-прев’ю. Загалом, я витратив понад 2000 годин, досліджуючи його можливості, формулюючи запити, ретельно аналізуючи відповіді. Це був справжній марафон з трішки непередбачуваним партнером.
Після численних годин роботи, я поділюся з вами тим, що я називаю WISC-фреймворком – системою, яка допомогла мені піднятися від новачка до експерта у роботі з Claude Code. Це не загальні поради, а перевірені на практиці стратегії, які працюють навіть зі складними кодовими базами великих корпорацій. Ці методи працюють з будь-яким AI-помічником для кодування, хоча я зосереджений на Claude Code, оскільки наразі він, на мій погляд, найкращий.
Якщо ви вже знайомі з основами роботи ШІ-асистентів, але прагнете до більшої надійності, то ви потрапили за адресою. Ці стратегії допоможуть вам працювати з реальними кодовими базами, які часто бувають далекими від ідеалу. Ми будемо зосереджуватись на ключовому аспекті – контексті.
Чому контекст – це все? Мій досвід боротьби з “контекстною гниллю”
Після більше ніж 2000 годин роботи, я з точноcтю знаю, на чому варто зосередитись. Йдеться про управління контекстом. Ось чому: приблизно у 80% випадків, коли ваш AI-помічник помиляється, проблема не в “мізках” моделі, а в тому, як ви надаєте йому інформацію. Це явище я називаю “контекстною гниллю” (context rot). Це найбільша проблема сучасних ШІ-помічників.
Навіть якщо Claude Code має 1 мільйон токенів контексту, ми повинні ставитися до нього як до цінного ресурсу, який необхідно ретельно інженерувати. Саме цим ми й займемось, розбираючи WISC-фреймворк. Ці стратегії ви можете застосувати негайно.
Ви можете запитати: “Коуле, чому ж так багато уваги саме контексту?” Відповідь проста: тому що це справді критично. Без належного керування контекстом, ШІ-агент буде губитися. Уявіть, що ви намагаєтеся пояснити складну тему, але постійно перескакуєте з теми на тему, забуваєте про вже казане і починаєте все спочатку. Приблизно так відчуває себе ШІ-агент, коли йому “згодовують” надто багато інформації одночасно.
WISC: ваш новий найкращий друг (або код-друг) – мій підхід
Фреймворк WISC – це мій особистий досвід з використанням AI-асистентів. Кожна літера тут представляє стратегію, яка допоможе вам оптимізувати взаємодію з ШІ:
- W – Write (Пиши): Зовнішнє збереження пам’яті.
- I – Isolate (Ізолюй): Використовуйте суб-агентів для управління контекстом.
- S – Select (Вибирай): Завантажуйте контекст “вчасно”.
- C – Compress (Стискайте): Коли стиснення – must-have.
Давайте розбиратися по черзі.
W: Пиши. Створіть систему, щоб ШІ “пам’ятав”
Перша, ймовірно найважливіша частина фреймворку – навчити ШІ “запам’ятовувати” те, що ви робите. Це не короткострокова пам’ять, яка зникає з закриттям вікна, а довгострокова.
1. Git Log – ваш “флешбек” для ШІ
Замість того, щоб винаходити складні системи пам’яті для ШІ, я використовую Git та GitHub – інструменти, які ми використовуємо щодня. Це ідеальне рішення для довготривалої пам’яті ШІ!
Погляньмо на мій проект – Archon. Це AI Command Center, де я створюю, керую та запускаю складні AI-кодингові робочі процеси. Це складний проєкт з великою кількістю рухомих компонентів, тому він є чудовим прикладом для демонстрації стратегій.
Використовуючи Git log як пам’ять, я стандартизував свої коміт-повідомлення. Це дозволяє кодувальному агенту швидко зрозуміти, над чим я працював останнім часом, і направити мене у майбутніх завданнях.
Я використовую команду для комітів, яка стандартизує повідомлення. Вона починається з /commit. Ця команда містить опис зробленого та покращення AI-шару. Це двочастинна команда: “Ось що ми побудували. Ось як ми покращили AI-шар.”
Наприклад, повідомлення коміту може звучати так: “Тестові покращення для CLI: реалізовано новий механізм виводу та покращено обробку помилок”. Повідомлення містить префікс, деталі, а також інформацію про зміни у правилах. Це чудовий інструмент для довготривалої пам’яті.
Корисна порада: Ви можете знайти приклад цієї коміт-команди у моєму репозиторії на GitHub і почати її використовувати.
2. Нове вікно – новий старт. Розділяйте планування та реалізацію
Для ефективної роботи з AI-асистентом важливим є правило: завжди починайте нове вікно контексту, коли пишете код. Ніколи не змішуйте планування з імплементацією в одній розмові.
Мій робочий процес виглядає так:
- Планування: Я створюю план у форматі Markdown, де чітко описую завдання. Цей план стає єдиним контекстом для нового сеансу.
- Реалізація: Після цього я переходжу в абсолютне нове вікно контексту і починаю писати код, спираючись на створений план.
Це тримає агента максимально сфокусованим. Коли ви плануєте та кодуєте в одному місці, в контекстне вікно потрапляє багато зайвої інформації – дослідження, попередні спроби, що може дезорієнтувати помічника.
В Archon я використовую команду /prime для планування. Після цього я створюю структурований документ плану за допомогою іншої команди. Далі – стоп. Я завершую сесію планування. Потім відкриваю нове вікно і починаю реалізацію, завантажуючи туди лише план. Жодного іншого контексту. Це забезпечує максимальну концентрацію ШІ на завданні.
Чого не варто робити: Якщо ви змішуєте планування з імплементацією, ви ризикуєте отримати “галюцинації” від агента, бо він заплутається у великому обсязі інформації.
3. Прогрес-файли та журнали рішень – ваші “нотатки на полях”
Щоб зафіксувати прогрес та ключові рішення, особливо під час роботи над тривалими завданнями, я використовую прогрес-файли.
У AI-фреймворках ви часто зустрінете файли на кшталт handoff.md або todo.md. Вони слугують для передачі інформації між суб-агентами або між сесіями.
Наприклад, коли Archon виконує тестування через браузерний CLI (це може займати багато часу!), я використовую команду /handoff. Вона створює стисле резюме виконаної роботи, яке я потім передаю в нову сесію. Агент може продовжити роботу, не завантажуючи сотні тисяч токенів попередніх дій.
Це особливо корисно, коли ви бачите, що діяльність агента стає менш надійною через великий контекст. Файл handoff – це ніби “здача екзамену” для агента, коли він про щось забуває.
I: Ізолюй. Дайте ШІ працювати паралельно
Друга літера нашої абревіатури – Ізоляція. Це про те, як підтримувати основний контекст чистим за допомогою суб-агентів.
1. Суб-агенти – ваші “дослідники”
Я використовую суб-агентів для дослідницьких задач. Це дозволяє мені робити багато роботи, не перевантажуючи основне контекстне вікно.
Коли я планую додати функціональність “workflow builder” до Archon, я запускаю двох суб-агентів:
- Один досліджує кодову базу Archon.
- Інший шукає в інтернеті найкращі практики та бібліотеки для роботи з текстом.
Суб-агенти працюють паралельно, повертаючи мені зведений звіт, який мій основний агент використовує для подальшого планування. І це все – без перевантаження основного контексту! Це забезпечує набагато більшу продуктивність, ніж завантаження великих обсягів інформації без потреби.
І ще один лайфхак: Замість того, щоб завантажувати тисячі токенів для дослідження, ви отримуєте результат, використовуючи лише 4% вашого вікна!
2. Патерн “Розвідника” – досліджуйте, перш ніж кодити
Перед тим, як завантажувати великий обсяг коду, я відправляю суб-агента дослідити певні частини кодової бази або документації. Це допомагає мені вирішити, чи дійсно ця інформація потрібна для мого завдання.
В Archon є глибокі документи, які описують певні частини коду. Щоб не завантажувати зайве, я прошу суб-агента дослідити папку з документацією та визначити, яка інформація є найважливішою.
Наприклад, я можу запустити суб-агента, щоб він дослідив /docs і запропонував, які документи варто завантажити в основний контекст. Якщо агент знаходить щось цінне, він повідомляє про це, і ви можете підтвердити завантаження. Це набагато ефективніше, ніж завантажувати все підряд “про всяк випадок”.
S: Вибирайте. Завантажуйте контекст, коли він потрібний
Третя літера – Select (Вибирай). Це про завантаження контексту вчасно, а не про всяк випадок.
1. Багатошаровий підхід до контексту – мій секрет
Ми використовуємо багатошарову систему для вибору контексту:
- Глобальні правила (Global Rules): Сюди входять архітектура, команди, стратегії тестування та логування. Цей файл має бути компактним (500-700 рядків).
- Контекст за вимогою (On-Demand Context): Правила, які застосовуються лише до певних частин кодової бази.
- Навички (Skills): Особливості, які агент може завантажити, якщо вирішить, що вони йому потрібні.
- Команди “Prime” (Prime Commands): Команди, які виконуються на початку розмови для дослідження кодової бази.
Лайфхак: Я запускаю команду prime на початку, щоб агент мав загальне уявлення про кодову базу Archon. Після цього я переходжу до планування і безпосередньої роботи з кодом.
2. Як зробити правильний вибір
- Глобальні правила: Завжди завантажені.
- Контекст за вимогою: Завантажуйте, коли знаєте, що будете працювати над конкретною частиною коду.
- Навички: Агент завантажує автоматично, якщо це необхідно.
- Команди “Prime”: Запускайте щоразу на початку, щоб синхронізуватися з живою кодовою базою.
C: Стискайте. Коли без цього ніяк
І наостанок, “C” – Compress (Стискайте). Це найменш приємна частина, і її варто уникати. Якщо ви правильно використовуєте “W”, “I” та “S”, то стискати контекст вам практично не доведеться.
1. Два способи стиснення
- Handoff (Передача): Ми вже говорили про це у розділі “Write”. Це коли ви вручну створюєте резюме для передачі в нову сесію. Це найбільш контрольований спосіб.
/compactкоманда: Вбудована команда Claude Code, яка резюмує розмову та розміщує це резюме на початку контекстного вікна. Ви можете навіть надати їй інструкції щодо того, на чому зосередитись.
Наприклад, якщо ви тестували крайні випадки, ви можете попросити команду /compact “зосередитися на крайніх випадках”.
Важливе застереження: Найкраща стратегія стиснення – це та, яка вам не потрібна. Уникайте стиснення, якщо це можливо. Якщо ж виникає сильна потреба, краще почати нову сесію з резюме (handoff).
Підсумовуючи: Ваш шлях до майстерності з AI-кодингом – мій висновок
Ось і все – мій фреймворк WISC. Знаю, це багато інформації, але кожен елемент створений, щоб допомогти вам працювати ефективніше з AI-помічниками.
- Write: Дозвольте ШІ “запам’ятовувати” ваші дії через Git log, розділяйте сесії планування та реалізації, ведіть журнали рішень.
- Isolate: Використовуйте суб-агентів для досліджень та патерн “розвідника”, щоб тримати основний контекст чистим.
- Select: Завантажуйте контекст багатошарово, за принципом “вчасно, а не про всяк випадок”.
- Compress: Використовуйте стиснення лише в крайніх випадках, віддаючи перевагу ручному менеджменту.
Пам’ятайте, головна мета – не просто написати код. Мета – зробити ваші взаємодії зі штучним інтелектом такими ж природними та продуктивними, як розмова з досвідченим колегою.
Що далі?
- Експериментуйте: Спробуйте хоча б одну зі стратегій WISC у вашій наступній роботі з AI-кодингом. Навіть невелика зміна може дати значний результат.
- Детальніше: Якщо якась стратегія вас зацікавила найбільше, напишіть в коментарях – я з радістю зроблю окреме відео чи статтю про неї.
- Святкуйте: Коли ви зможете налагодити стабільну та надійну роботу з AI, це вже привід для задоволення!
Якщо ви знайшли цю статтю корисною і хочете бачити більше контенту про AI-кодинг та створення надійних систем, будь ласка, поставте лайк та підпишіться.
Останнє, але найважливіше: Безкоштовний майстер-клас!
Хочете поглибити свої знання про AI? 2 квітня я разом з Леором Вайнштейном, засновником CTOX, проведемо безкоштовний майстер-клас “AI Transformation”. Ми розкажемо, як перебудувати організацію для роботи з AI, та поділимось методологіями побудови надійних систем для AI-кодингу.
Посилання на подію – в описі. До зустрічі!







