Długie sesje z Claude Code mają swój rytm. Jesteś w połowie zadania, Claude czyta pliki i wykonuje komendy, a do głowy wpada ci pytanie. Nie to główne. Poboczne. “Zaraz, jaka była flaga dla tego curl?” albo “Czy Claude wybrał wcześniej właściwy port?”
Przed wersją 2.1.72 opcje były kiepskie. Mogłeś wpisać pytanie i przerwać główne zadanie. Otworzyć drugi terminal. Albo trzymać pytanie w głowie i mieć nadzieję, że je zapamiętasz. Żadna z tych opcji nie jest dobra.
/btw rozwiązuje to w sposób czystszy, niż się spodziewałem.
Co robi
Wpisujesz /btw jaki port bazy danych ustawiliśmy wcześniej? i pojawia się pływająca nakładka z odpowiedzią. Główne zadanie działa dalej. Historia rozmowy nie zmienia się. Gdy zamkniesz nakładkę, odpowiedź znika.
Ta ostatnia część jest warta chwili refleksji. Odpowiedź jest efemeryczna. Nigdy nie trafiła do rozmowy. Z perspektywy modelu nigdy nie zadałeś pytania.
Szczegół implementacyjny, który sprawia, że to jest ciekawe: agent /btw ma pełny wgląd w bieżący kontekst rozmowy, ale nie ma żadnych narzędzi. Nie może czytać plików, wykonywać komend ani edytować kodu. Jest read-only, zna kontekst i jest tymczasowy.
Inverse-of-a-subagent, czyli odwrócony subagent
Jest przydatny sposób myślenia o tym, gdzie /btw plasuje się w modelu agentów.
Subagent ma pełny dostęp do narzędzi (pliki, bash, edycje), ale startuje z pustym kontekstem. Musisz mu przekazać wszystko, czego potrzebuje, explicite. Zapytanie /btw jest odwrotnością: dziedziczy pełny kontekst rozmowy, ale nie ma żadnych narzędzi.
Obydwa są ograniczone, tyle że w przeciwnych kierunkach. Subagent jest ślepy, ale zdolny. /btw jest poinformowany, ale pasywny.
Ten design jest celowy. Poboczne pytania dotyczą prawie zawsze rzeczy już obecnych w kontekście. “Jaki sposób wybraliśmy wcześniej?” Nie potrzebują dostępu do narzędzi. Potrzebują pamięci. I to /btw ma.
Jak to faktycznie używać
Składnia to /btw po którym od razu piszesz pytanie w tej samej wiadomości. Nie pisz samego /btw i nie wciskaj enter. Pytanie musi być od razu, bo to właśnie dostaje efemeryczny agent.
| |
| |
| |
To ostatnie to trochę naciąganie. Jeśli Claude nie używał jq w bieżącej sesji, /btw nie ma skąd czerpać. Może odpowiedzieć z danych treningowych, ale to nie różni się od zwykłego pytania. Prawdziwa wartość pojawia się, gdy pytanie dotyczy czegoś już obecnego w kontekście.
Kiedy to nie jest właściwe narzędzie
/btw nie ma narzędzi, więc każde pytanie wymagające odczytu pliku lub wykonania komendy trafia w ślepy zaułek. Jeśli wpiszesz /btw czy możesz sprawdzić, czy plik konfiguracyjny ma właściwą wartość, agent powie ci, że nie może tego zrobić. Co jest poprawne, ale bezużyteczne. Takie pytanie zadaj normalnie.
Jeśli myślisz, że będziesz potrzebować odpowiedzi później, /btw też odpada. Nakładka się zamyka i wymiana znika. I nie jest interaktywne: dostajesz jedną odpowiedź i tyle. Jeśli ta odpowiedź rodzi kolejne pytanie, i tak wracasz do przerywania głównego zadania.
Optymalne zastosowanie jest wąskie: szybkie, efemeryczne, zależne od kontekstu, read-only pytania, których potrzebujesz teraz i nie będziesz potrzebować ponownie.
Argument za flow state
W trzymiesięcznej sesji przerwy na kontekst kumulują się. Za każdym razem, gdy przerywasz główne zadanie dla pobocznego pytania, płacisz koszt powrotu. Nie tylko w tokenach. W uwadze. Dostajesz odpowiedź, potem musisz się zorientować, wróć do tego, co Claude robił, przeczytaj ostatnie kilka wiadomości, wróć do rytmu.
/btw eliminuje ten koszt dla pytań, które mieszczą się w jego ograniczeniach. Odpowiedź się pojawia, czytasz ją, zamykasz nakładkę, zadanie jest dokładnie tam, gdzie je zostawiłeś.
Używam go głównie do pytań w stylu “co postanowiliśmy wcześniej”. Jesteś 90 minut w sesji i nie pamiętasz, czy Claude skonfigurował coś w jeden czy drugi sposób. Przewijanie długiego kontekstu jest uciążliwe. /btw co ustawiliśmy dla worker timeout? jest szybkie.
Oszczędności tokenów są realne, ale drugorzędne
Odpowiedzi /btw nie trafiają do historii rozmowy. W długiej sesji ma to znaczenie: poboczne pytania, które normalnie wpisywałbyś i zapominał, po cichu pompowały kontekst. Oszczędność na pytanie jest mała, ale w wielogodzinnej sesji z dużą ilością pobocznej ciekawości zbiera się. To darmowy bonus wynikający z projektu, nie główny powód do używania komendy.
Jedna rzecz, którą bym zmienił
Zamykanie nakładki i kasowanie odpowiedzi jest czyste w teorii, ale czasem irytujące w praktyce. Czasem chcesz skopiować komendę albo wartość z odpowiedzi /btw. Musisz się spieszyć, zanim przypadkowo zamkniesz nakładkę. Przycisk “kopiuj do schowka” na nakładce rozwiązałby sprawę. Może to wersja druga.
Komenda /btw jest w Claude Code 2.1.72. Jeśli używasz niestandardowych komend intensywnie albo prowadzisz długie sesje agentów, wpisuje się w tę samą filozofię: więcej z narzędzia bez przerywania tego, co narzędzie robi.
