Én stemme, ti baner: en dag med diktering
Illustration

Én stemme, ti baner: en dag med diktering

Sådan ser en dag med parallelle startup-baner ud, når tastaturet holder op med at være den eneste outputkanal. En founders gennemgang, time for time.

Teodor Deleanu3. september 20268 min læsetid

To børn, tre startups, én stemme fortalte oprindelseshistorien: parallelle startup-baner med meget på spil, et andet barn under seks måneder og et tastatur, der stilfærdigt var blevet det enkelte fejlpunkt for det hele. Det indlæg forklarede, hvorfor Keebye findes. Folk blev ved med at stille et mere praktisk spørgsmål: hvordan ser en dag rent faktisk ud?

Så det er den dag her. Ikke en typisk dag, for sådan en findes ikke, men en rigtig form, der gentager sig. Jeg undgår tal med vilje. Jeg har aldrig målt en procentvis forbedring, og jeg ville ikke stole på en, hvis jeg havde. Det, jeg kan beskrive, er, hvor stemmekanalen bliver brugt, hvor den ikke gør, og hvad der ændrede sig ved arbejdets tekstur.

En note om "ti baner". Det er ikke pral. En bane er alt, der rykker sig på en sætning fra mig: en kodeagent midt i en opgave, et code review, nogen venter på, en Slack-tråd, en mail til en investors advokat, et dokumentudkast. På en travl dag er der virkelig omkring så mange åbne. De fleste er inaktive på et givet tidspunkt. Problemet er, at dem, der vågner, gør det efter deres eget skema, ikke mit.

Tidlig morgen: én arm, tre agenter

Dagen begynder, før huset gør, hvilket betyder, at den begynder med en baby på den ene arm. Det er i den time, stemmen gik fra bekvemmelighed til nødvendighed.

Tre agentbaner kører allerede fra aftenen før, hver i sin egen terminal, hver i et forskelligt repository. Det første, jeg gør, er at læse, hvad de lavede. At læse kræver øjne, ikke hænder, så babyen er ikke noget problem. Det næste er at omdirigere dem, der er kørt af sporet, og det var dér, tastaturet plejede at tabe.

Nu: klik ind i terminalen, hold højre ⌘, sig omdirigeringen, slip. "Migreringen er fin, men du omdøbte tabellen i modellen og ikke i seed-scriptet. Ret seed og kør testene igen." Teksten lander i prompten. Retur. Næste bane.

Jeg har en lille vane, det tog mig et stykke tid at lære: tal i hele sætninger. Agenter klarer sig bedre med dem, og diktering producerer dem naturligt, fordi det er sådan, folk taler. Den telegrafiske stil, jeg plejede at taste ("ret seed, kør igen"), var et tastaturartefakt, ikke en præference.

Den her time afslører også den ene ejendommelighed ved den første diktering, der er værd at kende. Mikrofonen varmer op efter sessionens første diktering og holder derefter en pre-roll på 500 ms. Morgenens allerførste hold kan betale en omkostning for at starte strømmen og klippe et ord, hvis jeg begynder at tale for tidligt. Jeg har lært at holde en lille pause. Hvorfor dikteringsapps æder dit første ord forklarer mekanikken; den korte version er, at det er et kategoriproblem med en delvis løsning, ikke en løst sag.

Sen formiddag: reviewbanen

To af de startups, jeg arbejder med, har code reviews, der venter på mig de fleste morgener. Review er den bedst tænkelige brug af diktering: det er læsning med lejlighedsvis kort prosaoutput, og prosaen er rettet til et menneske.

Jeg læser diffen i en browserfane. Når noget skal have en kommentar, klikker jeg ind i feltet, holder, taler, slipper. Den brugerdefinerede ordbog bærer projektets identifikatorer, så reconnectBackoff kommer ud som reconnectBackoff og ikke som tre engelske ord. Oprydningen er regelbaseret som standard: fyldord og gentagne ord ryger, mine formuleringer bliver. Jeg holder den tilvalgte lokale LLM-finpudsning slået fra til reviewkommentarer, fordi trofasthedskontrollen bag den er en heuristik mod alvorligt tokentab, opsvulmning eller gentagelse, ikke en garanti for at en benægtelse overlevede — og i et review ændrer et vendt "ikke" dommen.

Et af de teams laver review på rumænsk. Keebyes engine med 25 sprog håndterer det on-device; jeg låser sproget fast i menulinjen, og den næste ytring afkodes som rumænsk, engelske identifikatorer inklusive. Diktér code reviews på dit eget sprog har detaljerne, inklusive den ærlige liste over hvilke sprog der er dækket, og hvilke der ikke er.

Sidst på formiddagen: de menneskelige baner

Ikke enhver bane er en agent. Omkring nu skal de Slack-tråde og mails, der er blevet gamle i løbet af natten, besvares, og det var her, dagen stilfærdigt plejede at tabe timer. Ikke fordi svarene var svære, men fordi hvert svar betød at forlade en bane, og at forlade en bane koster ved genindtræden.

Stemmen ændrede økonomien i et svar. Et Slack-svar på to sætninger er ét hold på genvejstasten, talt ind i beskedfeltet, mens mine øjne stadig er halvt på terminalen ved siden af. Investornære mails er længere, og jeg skriver dem stadig med omhu, men første udkast bliver nu talt og derefter redigeret. At tale et udkast får formen ned i en fart; præcisionen kommer, når man redigerer det tastet.

Det er også den time, hvor privatlivskravet betyder mest. Det, jeg dikterer her, er indvolde fra andre folks virksomheder: uudgivne produkter, sikkerhedsdiskussioner, penge. Keebye transskriberer on-device, virker med Wi-Fi slået fra efter modeldownloadet, holder en historik med kun tekst lokalt, som sletter sig selv efter 30 dage, og sender ingen telemetri. Hvor går din stemme hen er den lange version af, hvorfor det ikke var til forhandling for mig.

Eftermiddag: dybt arbejde og de baner, der vågner

Eftermiddage er til den bane, der kræver rigtig tænkning: et design, en svær fejl, et dokument der skal være rigtigt. Det bliver tastet. Stemmen er en styringskanal, ikke en tænkekanal, og et svært problem bliver ikke nemmere af at blive sagt højt.

Men de andre baner ved ikke, at det er tid til dybt arbejde. En agent bliver færdig og stiller et spørgsmål. En reviewer svarer på min kommentar med et modargument. Før var hver af dem en beslutning: bryde fokus og skifte vindue, eller lade det ligge. Nu er de fleste af dem et blik og en sætning. Kig på agentens spørgsmål, klik ind, sig "ja, men hold det gamle endpoint i live, indtil klienten er ude", klik tilbage. Vinduet med dybt arbejde bliver stort set intakt, fordi afbrydelsen er nogle få sekunders tale i stedet for et fuldt kontekstskift ind i en andens problem.

Jeg vil være præcis omkring påstanden her. Stemmen gør ikke afbrydelser gratis. Den gør den mekaniske omkostning ved at svare så lille, at det, der er tilbage, bare er tanken — som altid var den egentlige omkostning.

Aften: den terminaltunge bane

En af startupsene kører meget af sit driftsarbejde over SSH, i tmux, på servere hvor indsættelse fra udklipsholderen ikke findes som begreb. Det er dér, dikteringsværktøjer normalt falder omkuld, fordi de fleste af dem indsætter tekst ved at indsætte fra udklipsholderen.

Keebye indsætter også som standard, med terminalbevidst opdeling til shells. Til SSH og tmux slår jeg den tilvalgte tastetilstand til, som injicerer teksten som Unicode-tastetryk i stedet for at læne sig op ad en udklipsholder. Den virker med ikke-QWERTY-layouts, hvilket betyder noget for det rumænske tastatur på den ene af maskinerne. Diktering, der overlever terminalen dækker opsætningen, og terminalguiden dækker afvejningerne.

Keebye nægter også at indsætte i sikre inputfelter, så når en server beder om en adgangssætning, gør genvejstasten ingenting. Det er af og til irriterende og fuldstændig rigtigt.

Hvad der ikke ændrede sig

Sådan en dag kan læses, som om stemmen løste problemet med at have for mange baner. Det gjorde den ikke. Den løste én bestemt flaskehals: den fysiske omkostning ved at levere en sætning til den bane, der havde brug for den. Alt andet er det samme.

Tænkning er stadig flaskehalsen for svært arbejde. Læsning tager stadig den tid, det tager. Agenter kører stadig af sporet og skal stadig omdirigeres, og en mumlet omdirigering giver et mumlet resultat, hvad enten den er talt eller tastet. Stemmen er et supplement til hænder, ikke en erstatning; jeg taster masser, bare ikke længere som det ene sted, hver bane venter bag.

Og appen har tidlig softwares skarpe kanter. Identifikatorer bliver hørt forkert. Dagens første ord bliver nogle gange klippet. Der er intet stemmekommando-ordforråd, så navigation mellem vinduer er stadig et klik. Den kører kun på macOS.

Formen på det hele

Det gamle billede af en 10x-udvikler var én person, der tastede hurtigere. Billedet, der rent faktisk kom, er én person, der dirigerer: flere baner, nogle automatiserede og nogle menneskelige, hver ventende på en sætning. I den verden er løftestangen ikke tastehastighed. Det er, hvor billigt du kan levere din hensigt til den bane, der har brug for den, i hvilken som helst fysisk situation du er i — også med den ene arm fuld.

Har din dag den form, er udviklerguiden det praktiske startsted, og vejer du dikteringsapps op mod hinanden til det, er Keebye-alternativer en ærlig sammenligning, der siger, hvor hver enkelt passer bedre. Prøveperioden er på 14 dage og starter ved dit første login i desktopappen, så en rigtig uge med baner er præcis det, den er til.

Flere baner end hænder? Prøv den anden kanal.

Start din gratis prøveperiode, og kør én rigtig dag med stemmen som anden outputkanal — 14 dage, on-device, uden kort.

Start free trial

Early access: we'll email you the moment the macOS build is ready — your 14 days start when you first sign in from the app.

Læs videre