JavaRush /Курси /Claude Code SELF /Працюємо зі знахідками субагента

Працюємо зі знахідками субагента

Claude Code SELF
Рівень 6 , Лекція 4
Відкрита

1. Субагент знаходить те, що пропустив автор

Тепер Тьома проходить усе сам і начисто — від файла ролі до знову викладеної гри. Розберімо крок за кроком, щоб повторити все один в один.

Крок 1. Додаємо роль субагента в проєкт. Усе в одному файлі — .claude/agents/reviewer.md:

---
name: reviewer
description: Проводить ревʼю гри на баги та шорсткості. Використовувати, коли просять подивитися на готову річ свіжим поглядом.
---

# Ревʼюер

Відкрий гру і її код уперше, без припущень «як задумано».
Знайди: баги, незручне керування, шорсткості.
Видай список знахідок по пунктах, у кожної — пріоритет (high / medium / low)
і точне місце (файл, що саме не так).
Не прав код сам — лише звіт.

Крок 2. Перевіряємо, що агент запрацював — набираємо в рядку символ @:

@
  reviewer   Ревʼює гру на баги та шорсткості…      ← на місці

Якщо його видно після @, значить ця сесія його знає — можна працювати. Файл поклали, і за кілька секунд помічник доступний: перезапускати сесію не потрібно.

Якщо в списку порожньо — майже завжди справа в тому, що папки .claude/agents/ не було, коли ми починали розмову. Тоді перезапускаємося, попередньо зберігши його:

claude --continue

Крок 3. Пишемо бриф — коротке ТЗ для перевірника, REVIEW_BRIEF, щоб він зосередився лише на потрібному:

# REVIEW_BRIEF — Змійка v2
ПЕРЕВІРИТИ:
  - поведінку хвоста на різкому повороті (щось сіпається)
  - керування: чи немає затримки на поворотах
  - шорсткості, помітні гравцеві після релізу
МОЖНА ЗАПРОПОНУВАТИ: покращення геймплею
НЕ ЧІПАТИ: основну механіку, базовий візуальний стиль

Крок 4. Делегуємо — однією фразою й забираємо руки з клавіатури:

Нехай reviewer розбере мою Змійку за REVIEW_BRIEF і знайде, що покращити.

Тьома відкидається й дивиться, як робота йде без нього. Ревʼюер сам відкриває файли, сам ганяє гру. Кілька секунд — і в чат прилітає не розпливчасте «десь не дуже», а розбір за пунктами:

РЕВʼЮ ЗМІЙКИ v2 — за REVIEW_BRIEF

[HIGH]   Баг хвоста. game/index.html, функція checkCollision():
         перевірка зіткнення виконується в той кадр, коли хвіст ще
         не зрушив з місця, → заходження на клітинку хвоста, що відходить,
         дає раптову «смерть», хоча клітинка в цей самий тик звільняється.
         Проявляється на довгій змії + різкий розворот.
[MEDIUM] Керування. Поворот застосовується на наступному тику, а не одразу —
         звідси відчуття затримки. Можна застосовувати ввід у той самий кадр.
[MEDIUM] Старт занадто швидкий: у перші секунди гравець не встигає
         зорієнтуватися.
[LOW]    Їжа зливається з фоном на темних клітинках — можна підсвітити.
[LOW]    Немає лічильника рекорду — дрібна, але приємна деталь.

Механіку й стиль не чіпав (за брифом).

Тьома веде очима згори вниз — і на першому ж рядку завмирає.

— Та ну.

Першим пунктом, [HIGH], точне місце: game/index.html, checkCollision(), хвіст на різкому повороті. Той самий баг. Не «щось сіпається» — файл, функція, причина. Та сама діра, над якою Сашко зранку сидів і кивав: «Усе коректно».

А прискіпувачка, яка відкрила його Змійку вперше в житті, ткнула в неї одразу. Першим пунктом. За кілька секунд.

— І він же висів у опублікованій, — видихає Тьома, і його трохи коробить. — Я ж його тиждень тому гордо закинув у галерею. «Готово». А там ось що.

Тьома відкидається й кілька секунд мовчить. Льоха нещодавно товкмачив йому про свіжий погляд — складно, по поличках. Він кивав і думав: «Ну так, логічно». А зараз це вже не лекція. Зараз це його баг, його гра, і хтось сторонній ткнув у діру, повз яку він сам пройшов пів дня.

— Інші могли б його зловити, — каже він тихо. — Відкрили б із телефона — і все. А Сашко сто разів повз проходив. Звик, що «хвіст інколи чудить, ну й гаразд».

Він перечитує рядок ще раз — і не злиться, як зранку. Натомість у нього проскакує щось на кшталт поваги.

— Не тому, що вона розумніша за Сашку, — додає він сам собі. — Бо свіжа. Сашко пів дня не бачив цього впритул — а вона глянула вперше й тицьнула пальцем.

2. Що беремо в роботу, що відхиляємо

Крім бага, ревʼюер приніс ще жменю покращень геймплею. Зробити поворот чуйнішим. Зменшити швидкість на старті. Підсвітити їжу яскравіше. Додати лічильник рекорду.

Перший порив — старий, школярський: раз розумний ревʼюер нарадив, треба брати все, він же краще знає. Тьома вже тягнеться відповісти Сашкові «роби все підряд» — і зупиняє себе.

— Ні-ні, — каже він уголос. — Список порад — це ще не список наказів.

Вирішувати, що ляже в Змійку, — не ревʼюеру, а йому. І він іде по пунктах, як той, хто зважує кожен.

— Баг хвоста — лагоджу, без питань, сороміцька діра. Поворот чуйнішим — так, самого давно бісило, беру. Швидкість на старті зменшити… — він подумки прикидає, — ага, теж беру. А от «їжу яскравіше» — стоп.

Тьома дивиться на свою їжу й розуміє, що йому й так подобається.

— Це не баг. Смаківщина. У ревʼюера свій смак, у мене свій. Відхиляю. Лічильник рекорду — думка хороша, але не сьогодні, відкладемо.

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

Вибрав — віддає в роботу. Головну діру першою, прямо словами, як Льоха вчив доручати:

Сашко, виправ баг хвоста в Змійці, який виявив ревʼюер.
---
[HIGH]   Баг хвоста. game/index.html, функція checkCollision():
         перевірка зіткнення виконується в той кадр, коли хвіст ще
         не зрушив з місця, → заходження на клітинку хвоста, що відходить,
         дає раптову «смерть», хоча клітинка в цей самий тик звільняється.
         Проявляється на довгій змії + різкий розворот.

Агент іде в код Змійки й править ігрову логіку — ту саму, в якій Сашко зранку сидів і не розгледів.

— «Готово, виправив», — читає Тьома відповідь і хмикає. — Ну-ну. Виправив, кажеш? Зараз перевіримо.

Вірити на слово він не збирається. Відкриває гру локально, розганяє змію до пристойної довжини — тієї самої, на якій зранку ловив сіпання, — і навмисно робить той різкий розворот.

Секунда. Хвіст проходить поворот.

Чисто. Жодного сіпання. Ще раз, ще різкіше — чисто. Бага немає.

— От-о-о-о, — тягне Тьома із задоволенням. — Інша справа. Не «агент сказав, що виправив» — я власноруч перевірив.

3. Власне доопрацювання поверх знахідок

Поворот і старт Тьома докидає Сашкові тим самим способом — словами, одним завданням. А потім додає те, чого в списку прискіпувачки не було зовсім:

— А це вже від себе, — каже він. — Прискіпувачка про звук мовчала. А я хочу.

Додай у Змійку озвучення: короткий звук на поїдання їжі та фонову музику (web audio).

Сашко застосовує вибрані правки й підʼєднує Web Audio. Керування стало чуйнішим, старт — мʼякшим. А потім Тьома відкриває гру, веде змію до першого яблука — і динаміки видають короткий приємний хрум. Фоном вмикається бадьора музика.

— О! — Тьома мимоволі розпливається в усмішці. — Заграло.

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

4. Перевіряємо і здаємо результат

Тьома відправляє оновлену Змійку назад у галерею. Туди, де вона й лежала, — тільки тепер це вже інша Змійка. Без дивного бага. Із живим керуванням. І зі звуком.

Він дивиться на неї в галереї й раптом ловить те нечітке, що крутилося ще зранку.

— Так, стоп, — каже він сам собі. — Я ж тиждень тому думав, що закрив її. Виклав — і все, забув, перейшов до наступної.

А вона, виявляється, не закрилася. До неї можна було повернутися — знайти діру, полагодити, додати звуку, подивитися чужими очима.

— Виходить, викласти — це не кінець, — повільно тягне він. — Це… якась середина. Зробив 90 % роботи, а попереду ще 90 % роботи.

Він проводить поглядом по своїй вітрині — Змійка, лендинг, іграшки — і вперше бачить їх не як купу готових і забутих саморобок. Це речі, які живуть. І хтось їх веде. Він.

1
Опитування
Довгі задачі і Git-recovery у Claude Code, рівень 6, лекція 4
Недоступний
Довгі задачі і Git-recovery у Claude Code
Довгі задачі і Git-recovery у Claude Code
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ