JavaRush /Курси /Claude Code SELF /Яка буває робота: жанри завдань

Яка буває робота: жанри завдань

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

1. Завдання бувають різних жанрів

Коли Тьома зібрав перший TASK_SPEC, Льоша помічає, що той пише будь-яке завдання одним і тим самим тоном — ніби на світі існує лише одне: «зроби щось у проєкті». І коротко пояснює йому різницю.

— Слухай, а ти помітив, що завдання бувають різні? Не за темою, а за жанром.

— У сенсі жанром? — Тьома справді не розуміє. — Завдання і завдання. Зробити щось.

— Не зовсім. Дивись. «Додай нову кнопку», «полагодь баг», «наведи лад у коді», «розберися, як тут усе влаштовано» — зовні все це звучить як «зроби щось у проєкті». А всередині — чотири цілком різні справи з різними ризиками. Переплутаєш — даси агенту не ту свободу, і він накоїть зайвого. Точно як учора.

— Нічого собі. І скільки їх, цих жанрів?

— Чотири. Давай я покажу на прикладі ремонту в квартирі — так дійде швидше.

2. Чотири жанри на ремонті квартири

Льоша загинає пальці й для кожного жанру підбирає зрозумілу картинку з ремонту.

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

Багфікс — полагодити одне, не чіпаючи решту. Тече кран. Проблема в одній точці, і завдання — прибрати її, нічого навколо не зачепивши. Найнебезпечніше в багфіксі — це «заодно». Прийшов лагодити кран, а заодно вирішив переробити всю сантехніку. Не просили. І тут є технічна пастка: коли лагодиш одне, легко ненароком зламати те, що поруч іще працювало. Тому після багфіксу завжди перевіряють не лише «кран більше не тече», а й «решта все ще працює, як раніше». Полагодив — переконайся, що не відламав сусіднє.

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

Розвідка — розібратися, перш ніж чіпати. Покликати майстра оглянути проводку до того, як свердлити стіну. У коді так само: іноді спершу треба зрозуміти, як усе влаштовано, — прочитати файли, побачити, що від чого залежить, — і лише потім лізти всередину. Головна властивість розвідки: вона код не змінює взагалі, жодного рядка. Лише читаємо й розбираємося. Результат розвідки — не правка, а розуміння.

Тьома слухає й упізнає в усьому цьому свої ж граблі:

— Слухай, так учора й був багфікс! Я хотів полагодити одне. А агент прийшов і «заодно» зніс сусіднє. Кран лагодив, а перефарбував усю кухню.

— Ну от, тепер ти й сам дійшов. Розумієш, чому важливо знати жанр заздалегідь.

Тьома проганяє через цю сітку свої минулі проєкти — і вони раптом складаються інакше.

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

— Саме так, — киває Льоша.

— Тобто портал — це не «твори що хочеш», як порожня іграшка. Це «заходь обережно, поруч чуже».

— У точку. І під таку роботу кермо тримають зовсім не так, як під іграшку з нуля.

3. Жанр диктує, наскільки відпускати кермо

— А тепер головне, заради чого я все це завів, — Льоша переходить до суті. — Переплутав жанр — дав агенту хибну свободу. І саме це вчора тебе й підвело.

Він повертається до крана:

— Уяви. Кличеш робітника: полагодь кран. Це багфікс — одна точка, одна проблема. І з доброти даєш йому повну свободу діяти. А він лагодить кран і заодно перефарбовує всю кухню, бо «так воно красивіше». Руха́є шафу, міняє плитку — він же старається. Ти цього не просив, ти просив кран. Але свободу дав широку — ось він і розвернувся. На багфіксі потрібна вузька свобода: полагодь рівно це, до решти не торкайся. Чим вужче завдання — тим коротший поводок.

— А розвідка тоді навпаки? — Тьома вже сам тягне нитку.

— Тямиш. Розвідці давати свободу чіпати код не можна взагалі. Її справа — зрозуміти, а не змінювати. Тут місце режиму «лише дивись, руками не лізь».

Тьома складає всю карту вголос, за жанрами:

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

— Запамʼятай правило: перш ніж ставити завдання агенту, запитай себе — який це жанр? І вже від відповіді вирішуй, наскільки відпускати кермо і що писати в описі завдання. Одне запитання про жанр — і одразу ясно, що писати та як тримати кермо.

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

— От тепер ти тямиш, — хмикає Льоша.

Для Тьоми це не іспит із класифікації, а проста лінза: одне запитання — і TASK_SPEC одразу точніший, і зрозуміло, як тримати те саме кермо з ранкового повідомлення. Чим цим кермом крутять — якими кнопками, якими командами — він поки що не знає. Але вже розуміє, навіщо крутити і в який бік під кожне завдання. Залишилося знайти саме кермо.

Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ