JavaRush /Курси /Claude Code SELF /Кнопка скасування та пульт

Кнопка скасування та пульт

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

1. /rewind — відмотати назад те, що накоїв агент

Тьома сходив по каву й повернувся до Льохи:

— Усе, теорію зрозумів. Стан, історія, git — записав. Де кнопка?

— Тримай, — Льоха відкриває сесію з ШІ-агентом. — Головна штука дня — команда /rewind. Вводиш її прямо в розмові з агентом — і він відмотує назад те, що накоїв. По-простому — великий Ctrl+Z для поточної роботи. Або, ще ближче, завантаження збереження в грі: було погано — повернувся до моменту, коли було добре.

— Прямо як я й хотів, — оживляється Тьома. — А покажи на живому прикладі.

— Зараз зламаємо щось навмисно й відкотимо. Ти ж збираєш Тетріс — давай додамо до ТЗ щось ризиковане.

Додай Тетрісу прискорення за рівнями.

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

2. Меню відкату: що саме повернути

Льоха вводить у сесії один рядок:

/rewind

— Те саме, до речі, можна викликати подвійним натисканням Esc, коли рядок введення порожній, — додає він. — Esc Esc. Зручно, коли лінь друкувати.

Відкривається меню. ШІ-агент не відкатує навмання — він показує попередні точки й питає, що саме повернути:

Restore code and conversation   # відкотити і код, і історію розмови
Restore conversation            # відкотити лише розмову
Restore code                    # відкотити лише правки на диску

— Тут три варіанти, і різниця велика, — пояснює Льоха, не даючи Тьомі розгубитися. — Перший — повернути і код, і історію розмови: ніби цього заходу взагалі не було. Другий — відкотити тільки розмову, а код, що наменяли, не чіпати. Третій — навпаки: відкотити тільки правки на диску, а розмову залишити як є. Нам зараз треба прибрати поломку в коді й ТЗ — обираємо Restore code.

Він обирає Restore code.

— І все. Правки з прискоренням відкотилися, ніби їх і не було. Тетріс знову падає нормально. Можете пробувати знову, хоч десять разів. Відчуваєте, що сталося? Сумніви розвіялися. Будь-який невдалий крок стирається одним рухом.

Тьома дивиться на екран, на ТЗ, яке так довго робив, і в грудях у нього відлягає.

— То це ж воно. Моя кнопка. Без усяких git і папок.

3. Де в кнопки межа: чого /rewind не поверне

Тьома прокручує різні сценарії в голові й дуже задоволений, очі горять:

— Шикарно. Тобто тепер я взагалі безсмертний? Що завгодно творю, будь-яку дичину — а воно все мені назад відмотує, так? Зламав, не зламав — кому яке діло, усе одно ніхто не дізнається.

— А от тут пригальмуй. Це важливо, — Льоха стає трохи серйознішим. — Щоб потім не було прикрих сюрпризів. /rewind відмотує дві речі: правки, які агент зробив у файлах, і історію вашої розмови в цій сесії. Оце його зона, тут він бог.

— А що не поверне?

— Дві речі запамʼятай. Перше — команди в терміналі. Якщо агент через термінал щось видалив — є така команда, rm, вона зносить файл назавжди, — то /rewind його не воскресить. Відкат стежить за правками коду, а не за всім, що взагалі сталося в системі. Друге — зміни поза сесією: те, що змінювалося не через агента, повз нього. Цього він теж не бачить і не поверне.

Він підбирає формулювання, щоб засіло:

— Скажи собі так: /rewind — це страховка рівня сесії, а не машина часу для всього компʼютера. Для легких експериментів у поточній роботі — те, що треба. А от справжня велика страховочна сітка, на рівні всього проєкту, на випадок серйозних поломок, — це окрема доросла тема. Памʼятаєш, як називається? Правильно, git. До неї дійдемо пізніше. А сьогодні — проста й швидка кнопка, і для пісочниці її вистачає з головою.

4. Пульт slash-команд: /help і /clear

— Слухай, а чому /rewind зі слешем? — зауважує Тьома. — Я зазвичай пишу агенту словами, а тут якась паличка.

— О, добре, що зачепив, — Льоха явно цього й чекав. — Раз я дав тобі першу таку команду, лови загальний принцип. Окрім задач, які ви ставите звичайними словами, в агента є керувальний рівень — команди, які починаються зі слеша /. Уявіть пульт із кнопками поверх вашої вільної розмови: вільним текстом ви ставите задачі, а пультом — керуєте самим агентом. У цього пульта є й доросла назва — slash-команди (від слеша, того самого /). Почуєте її тепер усюди, тож нехай у голові буде і аналогія з пультом, і саме слово.

— І багато там кнопок?

— Пристойно, але тобі сьогодні вистачить двох. Ось вони:

/help    # показати список усіх доступних команд — що взагалі вміє пульт
/clear   # очистити розмову, почати з чистого аркуша 

/help — це твій довідник, — продовжує Льоха. — Забув команду, не памʼятаєш, що є під рукою, — увів /help, подивився список. А /clear — це важлива штука: розмову з агентом можна обнулити. Іноді в сесії накопичується купа старого, воно заважає новій задачі, агент плутається в тому, що було годину тому. Почистив /clear — і він працює зі свіжою головою. Зауваж: минула розмова не зникне — до неї завжди можна повернутися, — а ти просто продовжуєш із чистого аркуша.

— А навіщо взагалі йому «чистити голову»? Що там накопичується?

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

5. Робота не випаровується: --continue і --resume

— І останнє на сьогодні, щоб спалося спокійно, — каже Льоха. — От ти ввечері встав із-за столу, закрив термінал, вимкнув компʼютер. Думаєш, усе: розмова зникла, а завтра почнеш із нуля?

— Ну… так? — Тьома справді так думав.

— Ні. Робота не зникла. Сесію можна продовжити:

claude --continue    # продовжити останню сесію в цій папці
claude --resume      # вибрати зі списку попередніх сесій

--continue підхопить останню сесію прямо в цій папці, з того місця, де ви зупинилися. А --resume покаже список попередніх сесій — обираєте, яку оживити. Почали ввечері, продовжили зранку — агент памʼятає, на чому ви зупинилися. Не потрібно щоразу починати спочатку.

Тьома сам підбиває підсумок, своїми словами:

— Коротше, раніше в мене був зоопарк папок, як у печерної людини, а тепер — щиток керування, як у пілота. /rewind — відмотати невдалий захід. /help — глянути, що вміє пульт. /clear — почистити розмову. І сесія не губиться, навіть якщо я грюкнув кришкою й пішов. Більше ніякого бардаку під виглядом безпеки. Я ж кажу — хапаю на льоту.

— Ось тепер іди й ламай Тетріс як хочеш, — усміхається Льоха. — Є чим відмотувати.

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