Πώς η Anthropic επιτάχυνε το Claude κατά 3 φορές μέσω αυτοματοποιημένης βελτιστοποίησης
Πρωτότυπος τίτλος: "Once Claude can measure something, it can make it faster" (από matthieu_bl)
Η ομάδα της Anthropic πέτυχε τριπλάσια αύξηση της ταχύτητας στο claude.ai και το desktop app μέσα σε δύο εβδομάδες, χρησιμοποιώντας ένα μοντέλο Claude για τον εντοπισμό σημείων συμφόρησης (bottlenecks) και την αυτοματοποιημένη εφαρμογή διορθώσεων. Η στρατηγική βασίστηκε στη μετατροπή κάθε μέτρησης σε ένα ελέγξιμο benchmark, επιτρέποντας στο μοντέλο να εκτελεί συνεχείς βελτιστοποιήσεις με απόλυτη ακρίβεια.
Η αρχιτεκτονική της ταχύτητας
Η ομάδα της Anthropic προσέγγισε το πρόβλημα του latency όχι ως μια παραδοσιακή διαδικασία profiling, αλλά ως μια συνεχή ροή εργασίας (loop) όπου το Claude λειτουργεί ως ο κύριος μηχανικός βελτιστοποίησης. Η κεντρική ιδέα ήταν η δημιουργία ενός περιβάλλοντος όπου κάθε μέτρηση μετατρέπεται σε ένα «ratchet» (μηχανισμό ασφαλείας) μέσα στο CI/CD pipeline.
Από το wall-clock time στα deterministic metrics
Το μεγαλύτερο πρόβλημα με το latency είναι ο θόρυβος στις μετρήσεις. Η ομάδα αντικατέστησε τις ασαφείς μετρήσεις χρόνου με deterministic δείκτες, όπως:
- Instruction counts μέσω Valgrind.
- React commits ανά interaction.
- DOM mutations και style recalculations.
Αυτά τα metrics επέτρεψαν στο Claude να «ανηφορίζει» (hill climb) προς την απόδοση, καθώς κάθε PR που αύξανε αυτούς τους δείκτες απορριπτόταν αυτόματα από το CI.
Το loop της αυτοματοποιημένης βελτιστοποίησης
Η διαδικασία ακολουθούσε ένα επαναλαμβανόμενο μοτίβο: εντοπισμός αργών διαδρομών (hot paths), δημιουργία benchmark, υλοποίηση βελτιστοποίησης, και παρακολούθηση των αποτελεσμάτων στο production. Χαρακτηριστικό παράδειγμα είναι η βελτιστοποίηση του rendering κατά το streaming, όπου το Claude πέτυχε σταθερά 120 fps σε οθόνες υψηλού ρυθμού ανανέωσης, αναλύοντας το frame budget των 8.33ms ανά frame.
Ασφάλεια και κλίμακα
Παρά τον τεράστιο όγκο των αλλαγών (πάνω από 3.000 commits), η ομάδα δεν αντιμετώπισε κανένα rollback. Αυτό επιτεύχθηκε μέσω:
- Αυστηρών unit tests που προηγούνταν κάθε βελτιστοποίησης.
- Χρήσης feature flags για κάθε αλλαγή που επηρέαζε το UI.
- Incremental rollouts, ξεκινώντας από εσωτερικούς χρήστες πριν τη γενική διάθεση.
Ανακαλύψτε καινοτόμα open-source εργαλεία και κρυμμένα διαμάντια ανοιχτού κώδικα.