Μετάβαση στο περιεχόμενο

Ιστορικό συνομιλιών

Μια μεγάλη συνομιλία προσκρούει σε έναν σκληρό τοίχο: το παράθυρο συμφραζομένων του μοντέλου. Όλα σε αυτή τη σελίδα υπάρχουν εξαιτίας αυτού του τοίχου, και το ενδιαφέρον είναι τι πετιέται, τι διατηρείται και τι μπορεί να ανακτηθεί.

Τέσσερις τρόποι ανάκτησης συμφραζομένων

Ενότητα με τίτλο «Τέσσερις τρόποι ανάκτησης συμφραζομένων»

Δεν είναι τόσο εναλλακτικές όσο μια σκάλα, με το φθηνότερο πρώτο.

Μηχανισμός Κόστος Διατηρεί Χάνει
Απάλειψη Τίποτα Κάθε λέξη της αφήγησης Παλαιότερα αποτελέσματα εργαλείων χωρίς ενδιαφέρον
Απόρριψη εικόνων Τίποτα Το κείμενο γύρω τους Παλιά στιγμιότυπα οθόνης
Στιγμιότυπα Τίποτα Κάθε λέξη, ως pixel Την αναγνωσιμότητα από μοντέλο χωρίς όραση
Σύνοψη Μία κλήση μοντέλου Μια αφήγηση Τις λεπτομέρειες που δεν διάλεξε

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

Η σύνοψη είναι η μόνη από τις τέσσερις που ξοδεύει μια κλήση μοντέλου και η μόνη που αποφασίζει για λογαριασμό σας τι είχε σημασία. Και τα δύο είναι πραγματικό κόστος. Η κλήση είναι το πιο ενδιαφέρον, λόγω του πότε συμβαίνει.

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

Η συμπύκνωση με στιγμιότυπα αποδίδει το απορριπτόμενο ιστορικό σε πυκνές σελίδες από γλυφικά pixel και το επιστρέφει ως εικόνες.

Η βάση της είναι μια ιδιορρυθμία χρέωσης: ένα μοντέλο όρασης χρεώνει μια εικόνα με σταθερή ή ανάλογη του εμβαδού τιμή, που δεν έχει καμία σχέση με το πόσοι χαρακτήρες περιέχονται σε αυτή. Δώδεκα χιλιάδες χαρακτήρες απορριπτόμενης συνομιλίας κοστίζουν όσο tokens κειμένου για δώδεκα χιλιάδες χαρακτήρες. Οι ίδιοι χαρακτήρες αποδοσμένοι σε μία σελίδα κοστίζουν μία εικόνα.

Αυτό που την κάνει αξιόλογη και όχι απλώς έξυπνη είναι ότι δεν χρειάζεται καμία κλήση μοντέλου, κανένα κλειδί και κανένα δίκτυο. Είναι η μία στρατηγική που είναι πάντα διαθέσιμη κατά την ανάκτηση από υπερχείλιση.

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

Τα στιγμιότυπα επαναποδίδονται από το διατηρούμενο κείμενο προέλευσης σε κάθε πέρασμα, ποτέ από τα pixel του προηγούμενου περάσματος. Η απεικόνιση μιας εικόνας υποβαθμίζει τα γλυφικά κατά μία γενιά ανά συμπύκνωση, ώσπου τίποτα να μην μπορεί να τα διαβάσει.

Από τι συνεχίζει στην πραγματικότητα μια εκτέλεση

Ενότητα με τίτλο «Από τι συνεχίζει στην πραγματικότητα μια εκτέλεση»

Ιστορικά, κάθε εκτέλεση harness ξεκινούσε από κενό ιστορικό και ξανάχτιζε τη συνέχεια από ένα μπλοκ <context> στην προτροπή — μια σύνοψη της συνομιλίας και όχι την ίδια τη συνομιλία. Τρία πράγματα προέκυπταν από αυτό:

  • Η συνέχεια ήταν μια επανάληψη της αφήγησης. Το μοντέλο δεν έβλεπε ποτέ τη δική του προηγούμενη συλλογιστική πορεία ή τα πραγματικά bytes που επέστρεψαν τα εργαλεία του, μόνο μια περιγραφή τους.
  • Η επαναφορά χανόταν μαζί με τη διεργασία. Ένα checkpoint είναι δείκτης σε θέση της ζωντανής λίστας μηνυμάτων, οπότε μια επανεκκίνηση έχανε κάθε ετικέτα που είχε ορίσει το μοντέλο.
  • Η επανάληψη δεν μπορούσε να ξεχωρίσει το «τίποτα για επανάληψη» από το «τίποτα φορτωμένο». Μετά από επανεκκίνηση, η αποτυχημένη σειρά λείπει από τη ζωντανή κατάσταση και στις δύο περιπτώσεις.

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

Μια εκτέλεση που συνεχίζεται περικόπτεται στα νεότερα μηνύματά της, κόβοντας σε ένα όριο που δεν είναι ορφανό αποτέλεσμα εργαλείου — ένα αποτέλεσμα του οποίου η κλήση έχει περικοπεί αποτελεί αίτημα που οι πάροχοι απορρίπτουν απευθείας, και ένα αρχείο καταγραφής που δεν μπορεί να σταλεί είναι χειρότερο από ένα σύντομο.

Κάθε μήνυμα καταγράφει αυτό από το οποίο συνεχίζει, και κάθε συνομιλία ονομάζει το τρέχον άκρο της διακλάδωσης. Αυτή η μία απόφαση είναι όλο το χαρακτηριστικό.

Η διακλάδωση δεν γράφει τίποτα. Μετακινεί τον δείκτη. Η διαδρομή που αφήσατε είναι ακόμη εκεί, οπότε η επιστροφή σε αυτήν είναι άλλη μια μετακίνηση του δείκτη και όχι επαναφορά — και η επεξεργασία μιας προτροπής για επανεκτέλεσή της παύει να σας κοστίζει την απάντηση με την οποία τη συγκρίνατε.

Χωρίς αυτό, κάθε μορφή επιστροφής πρέπει να κρύβει ή να διαγράφει μηνύματα, και η απόκρυψη είναι ένα ψέμα που ο επόμενος αναγνώστης δεν μπορεί να διαπεράσει.

Διακλάδωση fork
Τι συμβαίνει Ο δείκτης μετακινείται Η διαδρομή αντιγράφεται
Πού πηγαίνει Ίδια συνομιλία Νέα συνομιλία
Κόστος Τίποτα Ένα αντίγραφο της διακλάδωσης

Ένα fork αντιγράφει με νέα ids αντί να μοιράζεται γραμμές. Δύο συνομιλίες που μοιράζονται γραμμές θα εμφάνιζαν η μία τα μεταγενέστερα μηνύματα της άλλης, πράγμα που είναι το ένα πράγμα που δεν πρέπει να κάνει ένα fork.

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