Jeden głos, dziesięć torów: dzień z dyktowaniem
Jak wygląda dzień z równoległymi torami startupowymi, gdy klawiatura przestaje być jedynym kanałem wyjściowym. Opowieść założyciela, godzina po godzinie.
Dwoje dzieci, trzy startupy, jeden głos opowiedział historię początku: równoległe tory startupowe o wysokiej stawce, drugie dziecko poniżej szóstego miesiąca życia i klawiatura, która po cichu stała się pojedynczym punktem awarii dla wszystkiego. Tamten wpis wyjaśnił, dlaczego Keebye istnieje. Ludzie ciągle zadawali bardziej praktyczne pytanie: jak właściwie wygląda taki dzień?
Więc oto ten dzień. Nie typowy, bo coś takiego nie istnieje, ale prawdziwy kształt, który się powtarza. Celowo unikam liczb. Nigdy nie mierzyłem procentowej poprawy i nie ufałbym jej, gdybym miał. To, co mogę opisać, to gdzie kanał głosowy jest używany, gdzie nie i co zmieniło się w fakturze tej pracy.
Uwaga o „dziesięciu torach”. To nie przechwałka. Tor to cokolwiek, co posuwa się do przodu dzięki jednemu mojemu zdaniu: agent kodujący w trakcie zadania, przegląd kodu, na który ktoś czeka, wątek na Slacku, e-mail do prawnika inwestora, szkic dokumentu. W ruchliwy dzień naprawdę jest ich mniej więcej tyle otwartych. Większość w danej chwili jest bezczynna. Problem w tym, że te, które się budzą, robią to według własnego harmonogramu, a nie mojego.
Wczesny ranek: jedna ręka, trzech agentów
Dzień zaczyna się przed domem, co znaczy, że zaczyna się z niemowlęciem na jednej ręce. To godzina, w której głos przeszedł z wygody w konieczność.
Trzy tory agentów działają już od nocy, każdy we własnym terminalu, każdy w innym repozytorium. Pierwsza rzecz, którą robię, to czytam, co zrobiły. Czytanie wymaga oczu, nie rąk, więc niemowlę może zostać. Druga rzecz to przekierowanie tych, które poszły w bok, i to jest miejsce, w którym klawiatura kiedyś przegrywała.
Teraz: klikam w terminal, przytrzymuję prawy Command, mówię przekierowanie, puszczam. „Migracja jest w porządku, ale zmieniłeś nazwę tabeli w modelu, a nie w skrypcie seed. Popraw seed i uruchom testy ponownie”. Tekst ląduje w promptcie. Enter. Następny tor.
Mam mały nawyk, którego nauczyłem się po czasie: mów pełnymi zdaniami. Agenci radzą sobie z nimi lepiej, a dyktowanie produkuje je naturalnie, bo tak mówią ludzie. Telegraficzny styl, który kiedyś pisałem („napraw seed, uruchom testy”), był artefaktem klawiatury, a nie preferencją.
Ta godzina odsłania też jedną osobliwość pierwszego dyktowania, o której warto wiedzieć. Mikrofon rozgrzewa się po pierwszym dyktowaniu w sesji i od tego momentu utrzymuje bufor 500 ms. Pierwsze przytrzymanie rano może zapłacić koszt startu strumienia i obciąć słowo, jeśli zacznę mówić za wcześnie. Nauczyłem się robić moment pauzy. Dlaczego aplikacje do dyktowania zjadają Twoje pierwsze słowo wyjaśnia mechanikę; krótka wersja jest taka, że to problem całej kategorii z częściowym rozwiązaniem, a nie problem rozwiązany.
Przedpołudnie: tor przeglądów
Dwa startupy, z którymi pracuję, mają przeglądy kodu czekające na mnie prawie każdego ranka. Przegląd to najlepszy możliwy przypadek użycia dyktowania: to czytanie z okazjonalnym krótkim wyjściem w prozie, a proza jest skierowana do człowieka.
Czytam diffa w karcie przeglądarki. Gdy coś wymaga komentarza, klikam w pole, przytrzymuję, mówię, puszczam. Własny słownik niesie identyfikatory projektu, więc reconnectBackoff wychodzi jako reconnectBackoff, a nie jako trzy angielskie słowa. Czyszczenie jest domyślnie regułowe: wypełniacze i powtórzone słowa znikają, moje sformułowania zostają. Opcjonalny szlif lokalnego LLM trzymam wyłączony przy komentarzach z przeglądu, bo stojący za nim strażnik wierności to heurystyka przeciwko poważnej utracie tokenów, rozrostowi albo powtórzeniom, a nie gwarancja, że zaprzeczenie przetrwało — a w przeglądzie odwrócone „nie” zmienia werdykt.
Jeden z tych zespołów recenzuje po rumuńsku. Silnik 25-językowy w Keebye obsługuje to na urządzeniu; przypinam język w zasobniku, a następna wypowiedź jest dekodowana jako rumuńska, razem z angielskimi identyfikatorami. Dyktuj przeglądy kodu we własnym języku zawiera szczegóły, w tym uczciwą listę języków objętych i nieobjętych.
Późny ranek: tory ludzkie
Nie każdy tor to agent. Mniej więcej teraz wątki na Slacku i e-maile, które przeleżały noc, potrzebują odpowiedzi, i tu dzień kiedyś po cichu tracił godziny. Nie dlatego, że odpowiedzi były trudne, ale dlatego, że każda oznaczała opuszczenie toru, a opuszczenie toru ma koszt powrotu.
Głos zmienił ekonomię odpowiedzi. Dwuzdaniowa odpowiedź na Slacku to jedno przytrzymanie skrótu, wypowiedziane w pole wiadomości, gdy moje oczy są wciąż w połowie na terminalu obok. E-maile w okolicy inwestorów są dłuższe i wciąż piszę je starannie, ale pierwszy szkic jest teraz wypowiadany, a potem redagowany. Wypowiedzenie szkicu szybko wyznacza kształt; redakcja pisana jest tam, gdzie pojawia się precyzja.
To także godzina, w której wymóg prywatności ma największe znaczenie. To, co tu dyktuję, to wnętrze cudzych firm: niewydane produkty, dyskusje o bezpieczeństwie, pieniądze. Keebye transkrybuje na urządzeniu, działa przy wyłączonym Wi-Fi po pobraniu modelu, trzyma lokalnie historię wyłącznie tekstową, która usuwa się sama po 30 dniach, i nie wysyła żadnej telemetrii. Dokąd trafia Twój głos to dłuższa wersja tego, dlaczego było to dla mnie niepodlegające negocjacjom.
Popołudnie: praca głęboka i tory, które się budzą
Popołudnia należą do toru wymagającego prawdziwej myśli: projekt, trudny błąd, dokument, który musi być poprawny. To piszę. Głos jest kanałem sterowania, a nie kanałem myślenia, i trudny problem nie staje się łatwiejszy przez wypowiedzenie.
Ale pozostałe tory nie wiedzą, że to czas pracy głębokiej. Agent kończy i zadaje pytanie. Recenzent odpowiada na mój komentarz kontrargumentem. Wcześniej każde z tego było decyzją: przerwać skupienie i przełączyć okna albo pozwolić temu leżeć. Teraz większość to zerknięcie i zdanie. Zerkam na pytanie agenta, klikam, mówię „tak, ale utrzymaj stary endpoint przy życiu, dopóki klient nie wyjdzie”, klikam z powrotem. Okno pracy głębokiej zostaje w większości nienaruszone, bo przerwanie to kilka sekund mowy, a nie pełne przełączenie kontekstu w cudzy problem.
Chcę być precyzyjny co do tego, co twierdzę. Głos nie czyni przerwań darmowymi. Czyni mechaniczny koszt odpowiedzi na tyle małym, że pozostaje sama myśl, która i tak zawsze była prawdziwym kosztem.
Wieczór: tor terminalowy
Jeden ze startupów prowadzi dużą część pracy operacyjnej przez SSH, w tmuxie, na serwerach, gdzie wklejanie ze schowka nie istnieje jako pojęcie. Tu narzędzia do dyktowania zwykle się przewracają, bo większość z nich wstawia tekst przez wklejenie.
Keebye też domyślnie wkleja, z dzieleniem świadomym terminala dla powłok. Do SSH i tmuxa włączam opcjonalny tryb wpisywania, który wstrzykuje tekst jako naciśnięcia klawiszy Unicode zamiast polegać na schowku. Działa z układami innymi niż QWERTY, co ma znaczenie dla rumuńskiej klawiatury na jednej z maszyn. Dyktowanie, które przetrwa terminal omawia konfigurację, a przewodnik po terminalu omawia kompromisy.
Keebye odmawia też wstawiania do bezpiecznych pól wejściowych, więc gdy serwer prosi o hasło, skrót nie robi nic. Bywa to irytujące i jest całkowicie słuszne.
Co się nie zmieniło
Taki dzień może brzmieć, jakby głos rozwiązał problem posiadania zbyt wielu torów. Nie rozwiązał. Rozwiązał jedno konkretne wąskie gardło: fizyczny koszt dostarczenia zdania do toru, który go potrzebował. Cała reszta jest taka sama.
Myślenie wciąż jest wąskim gardłem trudnej pracy. Czytanie wciąż trwa tyle, ile trwa. Agenci wciąż idą w bok i wciąż wymagają przekierowania, a wymamrotane przekierowanie daje wymamrotany wynik, wypowiedziane czy napisane. Głos jest uzupełnieniem rąk, a nie ich zastąpieniem; piszę mnóstwo, tylko już nie jako jedyne wąskie gardło, za którym czeka każdy tor.
A aplikacja ma szorstkie krawędzie wczesnego oprogramowania. Identyfikatory bywają przesłyszane. Pierwsze słowo dnia czasem się obcina. Nie ma słownictwa poleceń głosowych, więc nawigacja między oknami to wciąż kliknięcie. Działa tylko na macOS.
Kształt tej rzeczy
Stary obraz programisty 10x to jedna osoba pisząca szybciej. Obraz, który faktycznie nadszedł, to jedna osoba dyrygująca: kilka torów, część zautomatyzowanych, część ludzkich, każdy czekający na jedno zdanie. W tym świecie dźwignią nie jest szybkość pisania. Jest nią to, jak tanio potrafisz dostarczyć intencję do toru, który jej potrzebuje, w jakiejkolwiek sytuacji fizycznej jesteś, łącznie z jedną ręką zajętą.
Jeśli Twój dzień ma taki kształt, przewodnik dla programistów jest praktycznym punktem startu, a jeśli ważysz pod niego aplikacje do dyktowania, alternatywy dla Keebye to uczciwe porównanie, które mówi, gdzie każda z nich pasuje lepiej. Okres próbny trwa 14 dni i zaczyna się przy pierwszym logowaniu w aplikacji na komputerze, więc prawdziwy tydzień torów jest dokładnie tym, do czego służy.
Więcej torów niż rąk? Wypróbuj drugi kanał.
Zacznij bezpłatny okres próbny i przeżyj jeden prawdziwy dzień z głosem jako drugim kanałem wyjściowym — 14 dni, na urządzeniu, bez karty.
Start free trialEarly access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.
Czytaj dalej
Dwoje dzieci, trzy startupy, jeden głos
Historia założyciela Keebye: równoległe prace o wysokiej stawce, niemowlę poniżej sześciu miesięcy i wyniki rosnące z liczbą torów sterowanych głosem.
Dyktuj przeglądy kodu we własnym języku
Kod jest po angielsku. Twoje komentarze z przeglądu nie muszą. Jak dyktować uwagi w jednym z 25 języków na urządzeniu i po co przypinać język.
Dyktowanie promptów do równoległych agentów, tor po torze
Uruchomienie dwóch–trzech agentów naraz czyni promptowanie wąskim gardłem. Głosowy przepływ pracy do zasilania równoległych torów bez opuszczania bieżącego.