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.
W większości narzędzi dla programistów tkwi ciche założenie: kod jest po angielsku, więc programista też musi być. Słowa kluczowe są angielskie. Nazwy bibliotek są angielskie. Komunikaty błędów są angielskie. A zatem, idzie rozumowanie, dyktowanie dla programistów może być tylko po angielsku i nikomu to nie przeszkodzi.
Przegląd kodu natychmiast łamie to założenie. Komentarz z przeglądu nie jest kodem. To zdanie skierowane do człowieka, a w bardzo wielu zespołach ten człowiek dzieli z Tobą pierwszy język. Rumuński zespół recenzujący usługę w Rust pisze rumuńskie komentarze o angielskich identyfikatorach. Polski zespół robi to samo po polsku, niemiecki po niemiecku. Kod zostaje angielski; rozmowa o kodzie nie.
Dyktowanie jest wyjątkowo dobre do komentarzy z przeglądu, bo przegląd to czynność czytania, a pisanie przerywa czytanie. Ale jest dobre tylko wtedy, gdy działa w języku, w którym komentarz naprawdę jest. Ten wpis jest o tym, jak to osiągnąć: które języki Keebye obsługuje na urządzeniu, jak zachowuje się przypięcie języka i gdzie są krawędzie. Jeśli szukasz argumentów, dlaczego to w ogóle ma znaczenie, przedstawia je dyktowanie dla programistów nie powinno być tylko po angielsku; tutaj masz praktyczną kontynuację.
Dlaczego komentarze z przeglądu to idealny cel dla dyktowania
Komentarz z przeglądu ma trzy cechy, które czynią go lepszym kandydatem dla głosu niż niemal każdy inny tekst programisty.
Jest krótki. Większość komentarzy to jedno do trzech zdań. To jeden oddech, jedno przytrzymanie skrótu, jedna wypowiedź.
Jest prozą. W przeciwieństwie do komunikatu commita ze sztywnym formatem albo pliku konfiguracyjnego o dokładnej składni, komentarz z przeglądu to po prostu to, jak wytłumaczyłbyś problem na głos. „To ponawia w nieskończoność, jeśli gniazdo nigdy nie odpowie; ogranicz to”. Wersja wypowiedziana i napisana są prawie identyczne.
Powstaje, gdy oczy są zajęte. Czytasz diffa. W chwili, gdy przerywasz, żeby pisać, tracisz w nim miejsce. Dyktowanie pozwala czytać dalej i wypowiedzieć komentarz do pola, w które już kliknąłeś.
Teraz dodaj wymiar językowy. Jeśli Twój zespół recenzuje po polsku, narzędzie do dyktowania obsługujące tylko angielski wymusza wybór: recenzować po angielsku (nienaturalnie, a koledzy mogą czytać wolniej) albo pisać (tracąc korzyść). Żadne z tego nie jest tym, czego chciałeś.
Co Keebye rzeczywiście obsługuje
Liczą się tu dwa silniki na urządzeniu i warto być wobec nich dokładnym.
Domyślny silnik jest strojony pod angielski. Jest szybki, używa go większość ludzi i nie jest tym, którego chcesz do polskiego komentarza z przeglądu. Wycelowany w mowę nieangielską wyprodukuje fonetycznie prawdopodobny angielski, który nie jest tym, co powiedziałeś.
Drugi silnik, Canary, obejmuje dokładnie 25 języków: bułgarski, chorwacki, czeski, duński, niderlandzki, angielski, estoński, fiński, francuski, niemiecki, grecki, węgierski, włoski, łotewski, litewski, maltański, polski, portugalski, rumuński, rosyjski, słowacki, słoweński, hiszpański, szwedzki i ukraiński. Jest opcjonalny, pobierasz go raz, a potem działa offline jak wszystko inne w Keebye. Nie sto języków; dwadzieścia pięć, wymienionych, a jeśli Twojego nie ma na liście, ten wpis jeszcze Ci nie pomoże.
Jest też możliwość użycia natywnego rozpoznawania mowy Apple jako silnika, które wnosi własne pokrycie językowe na Twoim Macu. To osobna ścieżka o innej charakterystyce; reszta tego wpisu dotyczy Canary.
Przypnij język; nie pozwól mu zgadywać
Najważniejszym ustawieniem przy przeglądzie w języku innym niż angielski jest przypięcie języka.
Autodetekcja brzmi na właściwe ustawienie domyślne i jest błędna dla programistów. Komentarze z przeglądu są gęste od angielskich identyfikatorów: nazw funkcji, nazw pakietów, słów „null”, „async” i „callback”. Komentarz w osiemdziesięciu procentach rumuński i w dwudziestu złożony z angielskich tokenów daje detektorowi języka dokładnie ten mieszany sygnał, z którym radzi sobie najgorzej. Przełączy się w środku zdania albo uzna, że całość była po angielsku, a Ty dostaniesz transkrypcję pewną siebie i błędną. Przypnij język dyktowania szczegółowo omawia tę porażkę.
Z Canary Keebye pozwala ustawić język jawnie. Przypnij rumuński, a model dekoduje rumuński; angielskie identyfikatory wewnątrz zdania są traktowane jak zapożyczenia, a nie jako dowód, że zmieniłeś język. Rozpoznanie nietypowego identyfikatora nadal może być niedoskonałe, ale sam język przestaje być rzutem monetą.
Jeden szczegół zachowania wart zapamiętania: przypięty język jest odczytywany dla następnej wypowiedzi. Zmień przypięcie, a dyktowanie, które właśnie zamierzasz nagrać, go użyje; to, które już puściłeś, nie zostanie przetranskrybowane ponownie. W praktyce znaczy to: najpierw przełącz, potem mów. Jeśli recenzujesz w dwóch językach w ciągu dnia, przełączenie jest tanie. Zasobnik na pasku menu udostępnia skróconą listę 11 języków do szybkiego przełączania, a Ustawienia udostępniają wszystkie 25.
Sesja przeglądu, podyktowana
Tak wygląda sesja w zespole, który recenzuje po rumuńsku.
Otwierasz pull request. Zasobnik już pokazuje rumuński przypięty od wczoraj, więc nie ma nic do zrobienia. Czytasz pierwszy plik. Trzeci fragment, pętla ponawiania bez limitu. Klikasz w pole komentarza, przytrzymujesz prawy Command, mówisz komentarz po rumuńsku, puszczasz. Tekst ląduje, z „yyy” i falstartem usuniętymi przez regułowe czyszczenie, a identyfikator reconnectSocket jest nietknięty, bo dodałeś go do własnego słownika tydzień temu.
Następny plik. Komentarz, który chcesz zostawić, to sugestia kodu, a nie proza. Ten piszesz; dyktowanie diffa to złe doświadczenie w każdym języku.
Później do wątku dołącza osoba z innego zespołu i pisze po angielsku. Chcesz odpowiedzieć po angielsku. Klikasz w zasobnik, wybierasz angielski ze skróconej listy, a następna wypowiedź jest dekodowana jako angielska. Odpowiadasz, potem przełączasz z powrotem.
Nic z tego nie potrzebuje okna. Keebye zostaje na pasku menu; skrót działa w aplikacji, która ma fokus, czy to karta przeglądarki z przeglądem, klient Git na pulpicie, czy terminal z narzędziem CLI do przeglądów.
Uczciwe ograniczenia
Dwadzieścia pięć języków, nie wszystkie. Jeśli recenzujesz po turecku, japońsku, arabsku albo w jakimkolwiek języku spoza listy Canary, drugi silnik go nie obejmuje. Natywny silnik Apple może go obsługiwać, zależnie od wsparcia językowego Twojego systemu, ale to inny silnik o innym zachowaniu.
Skrócona lista w zasobniku to jedenaście pozycji. Angielski, rumuński, francuski, niemiecki, hiszpański, włoski, portugalski, niderlandzki, polski, rosyjski i ukraiński są o dwa kliknięcia. Pozostałe czternaście jest w Ustawieniach. Jeśli Twoja codzienna para to na przykład czeski i fiński, jedna jej strona idzie przez Ustawienia.
Identyfikatory pozostają identyfikatorami. Model mowy w każdym języku męczy się z nazwami_w_snake_case. Słownik pomaga przy tych powracających; resztę poprawiasz ręcznie. Przeczytaj komentarz, zanim go opublikujesz.
Brak transkrypcji na żywo. Canary transkrybuje po puszczeniu klawisza, jako jedną partię. Nie zobaczysz słów w trakcie mówienia. Przy komentarzu z przeglądu długości jednego do trzech zdań to ledwie zauważalne.
Szlif jest opcjonalny i domyślnie dosłowny. Jeśli włączysz szlif lokalnego LLM na urządzeniu, porządkuje on strukturę zdań, a strażnik wierności wraca do surowej transkrypcji, gdy wynik wykazuje poważną utratę tokenów, rozrost albo powtórzenia. Ten strażnik to heurystyka; nie sprawdza, czy Twój sens przetrwał. Przy komentarzach z przeglądu, gdzie odwrócone zaprzeczenie zmienia werdykt, większość ludzi zostawia szlif wyłączony i pozwala pracować regułowemu czyszczeniu.
Gdzie to pasuje
Jeśli przypięcie języka jest funkcją, na której najbardziej Ci zależy, Keebye vs Wispr Flow porównuje oba narzędzia pod kątem tego, gdzie działa rozpoznawanie mowy i jak traktowany jest język, w tym gdzie Wispr Flow pasuje lepiej. Dla szerszego przypadku dyktowania, gdy ręce są na diffie, przewodnik dla programistów omawia codzienność, a przewodnik dla Maca omawia konfigurację.
Założenie, że programiści są wyłącznie anglojęzyczni, nigdy nie było prawdziwe. Było po prostu wygodne dla narzędzi. Recenzowanie we własnym języku, głosem, z mową, która nigdy nie opuszcza Twojej maszyny, nie jest niszową prośbą. To jest to, co robiłaby duża część ludzi piszących oprogramowanie, gdyby narzędzia im pozwoliły.
Recenzuj w języku, w którym myślisz
Zacznij bezpłatny okres próbny, przypnij swój język i podyktuj jeden komentarz z przeglądu tak, jak powiedziałbyś go koledze z zespołu.
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
Autowykrywanie wciąż zgaduje źle: przypnij swój język
Dyktowanie ciągle ląduje w złym języku? Autowykrywanie z założenia miota się przy mowie dwujęzycznej. Przypnij język raz, a zostanie przypięty.
Dyktowanie dla programistów to nie tylko angielski
Kod jest po angielsku; dzień pracy często nie. Wielojęzyczne dyktowanie na urządzeniu do wiadomości na Slacku, code review i dokumentów w Twoim języku.
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.