Πες αυτό που είπα: υπαγόρευση χωρίς την επανεγγραφή από AI

Η AI υπαγόρευση ξαναγράφει όσα λες: χάνει προσδιορισμούς, αντιστρέφει νόημα. Γιατί η βελτίωση με LLM παραφράζει και το Keebye μένει κυριολεκτικό.

Teodor Deleanu10 Ιουλίου 20268 λεπτά ανάγνωσης

Υπάρχει ένα παράπονο για την υπαγόρευση με βελτίωση από AI που ακούγεται παράδοξο μέχρι να το ζήσεις: η μεταγραφή ήταν μια χαρά — αυτό που έγινε μετά τη μεταγραφή την κατέστρεψε. Είπες ένα πράγμα, και το εργαλείο παρέδωσε ένα γυαλισμένο, σίγουρο, ελαφρώς διαφορετικό πράγμα. Ένας προσδιορισμός που έπεσε σιωπηλά. Μια επιφύλαξη που αφαιρέθηκε. Μια πρόταση που αναδομήθηκε σε κάτι που δεν θα έλεγες ποτέ. Και στη χειρότερη εκδοχή του μοτίβου — αυτή που κάνει τον κόσμο να παρατάει ένα εργαλείο επιτόπου — το νόημα αντιστρέφεται. Το «Μην κάνεις deploy μέχρι να περάσουν τα tests» βγαίνει από την άλλη μεριά ως οδηγία για deploy, μείον το μην.

Για την περιστασιακή υπαγόρευση αυτό είναι ενόχληση. Για τον τρόπο που πραγματικά χρησιμοποιώ την υπαγόρευση — τροφοδοτώντας prompts στο Claude Code, το workflow από το Οδηγώντας το Claude Code με τη φωνή σου — είναι δηλητήριο. Ένας agent κώδικα παίρνει τα λόγια σου ως προδιαγραφή. Δεν ξέρει ότι το εργαλείο υπαγόρευσής σου σε παρέφρασε. Αν ο προσδιορισμός που έκανε την οδηγία ασφαλή εξομαλύνθηκε ανάμεσα στο στόμα σου και στο terminal, ο agent θα εκτελέσει πρόθυμα την εξομαλυμένη εκδοχή. Η ακρίβεια είναι όλο το νόημα ενός prompt, και ένα στρώμα επανεγγραφής από AI είναι μια μηχανή που αφαιρεί ακρίβεια ενώ κάνει το αποτέλεσμα να δείχνει πιο μελετημένο.

Γιατί τα εργαλεία υπαγόρευσης με AI ξαναγράφουν αυτό που είπες;

Η απάντηση σε επίπεδο κατηγορίας δεν είναι ότι κάποιος ξεκίνησε με σκοπό να παραμορφώσει την ομιλία. Είναι ότι το «καθάρισε αυτή τη μεταγραφή» είναι πραγματικά ελκυστική λειτουργία, και ο προφανής τρόπος να τη φτιάξεις είναι να περάσεις την ακατέργαστη μεταγραφή μέσα από ένα γλωσσικό μοντέλο.

Η ακατέργαστη ομιλία είναι ακατάστατη — παραγεμίσματα, ψευδείς εκκινήσεις, επαναλαμβανόμενες λέξεις, στίξη που λείπει. Ένα LLM στο οποίο ζητάς να τα τακτοποιήσει παράγει όμορφο αποτέλεσμα. Το πρόβλημα είναι ότι ένα γλωσσικό μοντέλο δεν επιμελείται, με τον τρόπο που επιμελείται ένας άνθρωπος επιμελητής αφαιρώντας ένα «εεε». Αναπαράγει. Το αποτέλεσμα είναι ένα νέο κείμενο που το μοντέλο θεωρεί καλή εκδοχή της εισόδου σου, και το «καλή» είναι εκεί που διαρρέει η πρόθεσή σου. Τα μοντέλα που εκπαιδεύονται προς την εξυπηρετικότητα και την ευφράδεια έχουν απόψεις: οι επιφυλάξεις μοιάζουν με θόρυβο, οι προσδιορισμοί μοιάζουν με ακαταστασία, μια αδέξια αλλά ακριβής διατύπωση μοιάζει με κάτι προς βελτίωση. Τις περισσότερες φορές η επανεγγραφή είναι αβλαβής. Είναι όμως πιθανοτική, και δεν μπορείς να καταλάβεις από το αποτέλεσμα ποιες προτάσεις μεταγράφηκαν και ποιες συντέθηκαν. Το γυάλισμα είναι ομοιόμορφο· η πιστότητα όχι.

Αυτό είναι το βαθύ πρόβλημα με τις διαδικασίες γυαλίσματος από LLM: αποτυγχάνουν σιωπηλά και με αυτοπεποίθηση. Ένας αναγνωριστής ομιλίας που σε παρακούει συνήθως παράγει κάτι ορατά λάθος. Ένα στρώμα επανεγγραφής που σε προδίδει παράγει κάτι ορατά σωστό — γραμματικά άρτιο, εύλογο, φορώντας τη φωνή σου — που είναι ακριβώς ο λόγος που το αντεστραμμένο «μην κάνεις deploy» στέλνεται αντί να πιαστεί.

Κυριολεκτικό από προεπιλογή

Η θέση του Keebye είναι απλή: ό,τι άκουσε το μοντέλο speech-to-text είναι αυτό που προσγειώνεται στον κέρσορά σου. Από προεπιλογή, κανένα γλωσσικό μοντέλο δεν κάθεται ανάμεσα στη μεταγραφή και στο terminal σου συνθέτοντας μια καλύτερη εκδοχή σου — το προεπιλεγμένο στάδιο γυαλίσματος είναι μια σύντομη λίστα ντετερμινιστικών κανόνων, και αυτό είναι όλο.

Αυτό είναι σκόπιμο στοίχημα, και προέρχεται από την περίπτωση χρήσης του vibecoding. Όταν η υπαγόρευσή σου είναι το κανάλι ελέγχου για agents κώδικα, η δουλειά του εργαλείου είναι η μεταφορά, όχι η συγγραφή. Εσύ είσαι ο συγγραφέας· ο agent είναι το κοινό· το στρώμα υπαγόρευσης δεν πρέπει να έχει απόψεις. Αυτό το workflow — να λες ολόκληρα prompts αντί να τα πληκτρολογείς — παρουσιάζεται στο φωνητική υπαγόρευση για AI prompts.

Υπάρχει ένα LLM γυάλισμα στο Keebye — θα φτάσω σε αυτό — αλλά είναι προαιρετικό, τρέχει εξ ολοκλήρου στο μηχάνημά σου, και λειτουργεί κάτω από μια δικλείδα σχεδιασμένη να απορρίπτει συνηθισμένες μορφές απόκλισης, ανεξέλεγκτης διόγκωσης και επανάληψης. Αν το αποτέλεσμα αποτύχει σε αυτόν τον έλεγχο, το Keebye επιστρέφει στους κανόνες. Η προεπιλογή παραμένουν οι κανόνες.

Τι κάνει λοιπόν πραγματικά το καθάρισμα;

Το κυριολεκτικό δεν σημαίνει αναγκαστικά ακατέργαστο. Το Keebye έρχεται με ένα προαιρετικό πέρασμα καθαρίσματος — enhancement, ενεργό από προεπιλογή και παρακάμψιμο ανά εφαρμογή — αλλά βασίζεται σε κανόνες, όχι σε μοντέλο, και η πλήρης λίστα του τι κάνει χωράει σε μία παράγραφο:

Αφαιρεί μεμονωμένες λέξεις παραγεμίσματος (um, uh, erm, you know). Συμπτύσσει άμεσες επαναλήψεις λέξεων — το «the the» γίνεται «the». Συμπτύσσει τα κενά. Κεφαλαιοποιεί το πρώτο γράμμα, και προσθέτει τελεία στο τέλος αν δεν τελείωσες με μία. Αυτή είναι όλη η λίστα. Οι κανόνες είναι ντετερμινιστικοί και στενά οριοθετημένοι· δεν αναδιατάσσουν σκόπιμα προτάσεις, δεν αφαιρούν αρνήσεις και δεν αντικαθιστούν λέξεις με συνώνυμα.

Πριν τρέξει το καθάρισμα, εφαρμόζονται οι αντικαταστάσεις του λεξικού σου — αντικαταστάσεις που ορίζεις εσύ για την ορολογία και τα κύρια ονόματα που παραμορφώνουν τα μοντέλα ομιλίας, ώστε το «pnpm» και τα ονόματα των modules σου να φτάνουν γραμμένα όπως τα γράφει το codebase σου.

Και αν ακόμη και το πέρασμα με κανόνες είναι περισσότερη παρέμβαση απ' όση θέλεις, απενεργοποίησε το enhancement και το Keebye εισάγει την ακατέργαστη μεταγραφή του μοντέλου ομιλίας: παραγεμίσματα, επαναλήψεις και όλα. Για κάποια συμφραζόμενα — όταν παραθέτεις κάποιον, όταν υπαγορεύεις σε ένα πεδίο όπου η τελεία στο τέλος χαλάει πράγματα — η ακατέργαστη μεταγραφή είναι η καλύτερη επιλογή, και η παράκαμψη ανά εφαρμογή σου επιτρέπει να τη διαλέξεις.

Το προαιρετικό γυάλισμα, και η δικλείδα πιστότητας γύρω του

Τώρα το LLM που υποσχέθηκα να φτάσω. Για όσους θέλουν όντως εξυπνότερο καθάρισμα, το Keebye προσφέρει μια προαιρετική λειτουργία γυαλίσματος (polish_mode σε local_llm): ένα μικρό μοντέλο Qwen3 που τρέχει on-device μέσω llama.cpp, με επιτάχυνση Metal, χωρίς να στέλνεται τίποτα πουθενά. Οι οδηγίες του είναι η στενή εκδοχή του γυαλίσματος — διόρθωσε στίξη και κεφαλαία, αφαίρεσε παραγεμίσματα, κράτα τις ακριβείς λέξεις, τη γλώσσα και το νόημα του χρήστη, διατήρησε κώδικα και ονόματα αρχείων αυτούσια. Η παραγωγή είναι ντετερμινιστική (greedy sampling, ίδια είσοδος → ίδια έξοδος) και έχει ανώτατο όριο· αν το μοντέλο κολλήσει πέρα από μια προθεσμία δύο δευτερολέπτων, το αποτέλεσμά του εγκαταλείπεται.

Οι οδηγίες όμως είναι ελπίδες, και αυτό το άρθρο υπάρχει επειδή οι ελπίδες δεν είναι εγγυήσεις. Έτσι κάθε αποτέλεσμα γυαλισμένο από LLM περνάει από μια δικλείδα πιστότητας πριν μπορέσει να αγγίξει τον κέρσορά σου. Το αποτέλεσμα πρέπει να διατηρεί τουλάχιστον το 50% των tokens της αρχικής μεταγραφής. Δεν πρέπει να φουσκώσει — οτιδήποτε πέρα από περίπου το διπλάσιο του αρχικού μήκους (συν τέσσερα tokens) αποτυγχάνει. Η ανεξέλεγκτη επανάληψη ανιχνεύεται. Αν το γυαλισμένο αποτέλεσμα αποτύχει σε έναν από αυτούς τους ελέγχους, το Keebye το απορρίπτει και επιστρέφει στο καθάρισμα με κανόνες.

Αυτή η δικλείδα πιάνει σοβαρή απώλεια tokens, ανεξέλεγκτη διόγκωση και επανάληψη πριν το αποτέλεσμα του μοντέλου μπορέσει να αντικαταστήσει τη μεταγραφή που καθαρίστηκε με κανόνες. Είναι ευριστική μέθοδος, όχι σημασιολογική απόδειξη: μια σύντομη επανεγγραφή ή μια αλλαγμένη άρνηση θα μπορούσαν να περάσουν τα κατώφλια της. Αν ένας προσδιορισμός δεν αντέχει καμία απόκλιση, κράτα το AI γυάλισμα κλειστό και έλεγξε το κείμενο που εισήχθη πριν το στείλεις.

Τα ειλικρινή όρια

Κυριολεκτικό σημαίνει κυριολεκτικό. Αν φλυαρείς, η φλυαρία σου προσγειώνεται — ακόμη και το προαιρετικό γυάλισμα είναι καθοδηγημένο και φυλαγμένο προς το καθάρισμα, όχι προς τη σύνθεση, οπότε το Keebye δεν θα μετατρέψει μια περιπλανώμενη σκέψη σε καθαρή οδηγία. Η πειθαρχία του να λες αυτό που εννοείς μένει σε σένα.

Το καθάρισμα με κανόνες είναι σκόπιμα χαζό. Αφαιρεί το «um»· δεν θα διορθώσει τη γραμματική σου, δεν θα αναδομήσει μια ατέρμονη πρόταση και δεν θα προσέξει ότι αντιφάσκεις. Οτιδήποτε εξυπνότερο θα ξαναέφερνε τις κρίσεις που αυτός ο σχεδιασμός υπάρχει για να αποφύγει.

Και η πιστότητα προστατεύει από την επανεγγραφή, όχι από την παρανόηση. Αν το μοντέλο ομιλίας ακούσει «cache» ως «cash», αυτό το σφάλμα διατηρείται πιστά — η δικλείδα δεν έχει ιδέα τι εννοούσες να πεις, μόνο τι μεταγράφηκε. Η κυριολεκτική υπαγόρευση μετακινεί το όριο εμπιστοσύνης στο μοντέλο STT· δεν το εξαλείφει. (Σχετικό: αν το πρόβλημά σου είναι ότι το μοντέλο μεταγράφει εντελώς σε λάθος γλώσσα, αυτή είναι διαφορετική αποτυχία με διαφορετική λύση — Καρφίτσωσε τη γλώσσα υπαγόρευσής σου.)

Τέλος, το πλαίσιο της κατηγορίας: το AI γυάλισμα δεν είναι απάτη, και πολλοί χρήστες πραγματικά προτιμούν αποτέλεσμα που διαβάζεται πιο ομαλά απ' ό,τι μιλάνε. Αν είσαι από αυτούς, άλλα εργαλεία το αγκαλιάζουν καλά, και οι συγκρίσεις μας το λένε με ειλικρίνεια — το Keebye vs Wispr Flow και το Keebye vs Superwhisper περιλαμβάνουν και τα δύο μια πραγματική ενότητα «πότε ταιριάζει καλύτερα το άλλο εργαλείο».

Μεταφορά, όχι συγγραφή

Η συμφωνία που προσφέρει το Keebye είναι στενή επίτηδες: μιλάς, και μια ελαφρώς καθαρισμένη μεταγραφή προσγειώνεται εκεί που είναι ο κέρσοράς σου. Όταν αυτές οι λέξεις είναι prompts σε έναν agent που θα δράσει πάνω τους κυριολεκτικά, το στενό είναι λειτουργία. Το πιο ακριβό πράγμα που μπορεί να κάνει ένα εργαλείο υπαγόρευσης σε έναν developer δεν είναι ένα τυπογραφικό. Είναι μια ρέουσα πρόταση που δεν είπες ποτέ.

Το Keebye είναι σε πρώιμη πρόσβαση για macOS. Ξεκίνα τη δωρεάν δοκιμή σου παρακάτω, υπαγόρευσε «Μην κάνεις deploy μέχρι να περάσουν τα tests» και έλεγξε αν αυτός ακριβώς ο περιορισμός επιβιώνει από το καθάρισμα. Αυτό το τεστ είναι όλο το προϊόν.

Δοκίμασε την οδηγία που δεν αντέχει καμία απόκλιση

Ξεκίνα τη δωρεάν δοκιμή σου και υπαγόρευσε ένα prompt με έναν κρίσιμο προσδιορισμό — ιδίως ένα «μην» — και μετά έλεγξε τι φτάνει.

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.

Συνέχισε την ανάγνωση