Επιτέλους έφτασε αυτό που θέλατε! Ralph TUI, οπτικοποίηση του Ralph Loop
Επιτέλους έφτασε αυτό που θέλατε! Ralph TUI, οπτικοποίηση του Ralph Loop
Είχα γράψει ένα tutorial για το ralph-loop, και πολλοί φίλοι που το δοκίμασαν είχαν την ίδια αντίδραση: Είναι φοβερό, ο Claude Code μπορεί επιτέλους να τρέξει για μεγάλο χρονικό διάστημα. Αλλά μερικές φορές το παρατηρείς και φαίνεται να μην κινείται καθόλου, και αναρωτιέσαι: "Προχωράει ή απλά γυρίζει γύρω-γύρω;"
Αυτός είναι ο λόγος που ασχολήθηκα πρόσφατα με το ralph-tui.

Το ralph-tui δεν είναι υποχρεωτικό να συνδεθεί με τον Claude Code, κληρονομεί και αναπτύσσει την ουσία του ralph loop, και οπτικοποιεί την εκτέλεση των εργασιών και τη διαδικασία, μειώνοντας σημαντικά το κατώφλι για να δουλέψει ένα μεγάλο μοντέλο για μεγάλο χρονικό διάστημα. Μπορείτε να συνδέσετε οποιονδήποτε άλλο agent, οποιοδήποτε άλλο μοντέλο, εγχώριο, φθηνό, αυτό που μπορείτε να τρέξετε μακροπρόθεσμα. Με το ralph-tui, για εμάς τους απλούς ανθρώπους, είναι σαν να αλλάζουμε από χειροκίνητο σε αυτόματο κιβώτιο ταχυτήτων με cruise control.
Τι ακριβώς είναι;
Μπορείτε να θεωρήσετε το ralph-tui ως έναν "κυκλικό ενορχηστρωτή AI coding agent", απλά δεν αρκείται στο να "τρέχει", αλλά ενδιαφέρεται περισσότερο για το "να μπορείτε να δείτε, να ελέγξετε, να επαναφέρετε".
Ο βασικός τρόπος λειτουργίας του είναι πολύ απλός:
- Του δίνετε μια στοίβα εργασιών (από ένα PRD ή από ένα άλλο σύστημα εργασιών)
- Επιλέγει την εργασία με την υψηλότερη προτεραιότητα
- Συνθέτει το prompt
- Ξεκινά τον agent για να εκτελέσει
- Κρίνει αν η εργασία θεωρείται ολοκληρωμένη
- Γράφει την κατάσταση
- Συνεχίζει στον επόμενο γύρο
Το σημαντικό είναι: Μπορείτε να δείτε τα πάντα στο τερματικό, και μπορείτε να σταματήσετε και να αναλάβετε ανά πάσα στιγμή. Η επίσημη τοποθέτηση είναι επίσης πολύ απλή: ένας agent loop orchestrator με διαδραστικό TUI, που υποστηρίζει TUI / headless / remote.
Γιατί λέω ότι είναι πιο κατάλληλο για "μακροχρόνια εκτέλεση";
Το μεγαλύτερο πρόβλημα με την εκτέλεση ενός loop με ένα script δεν είναι ότι δεν μπορεί να τρέξει, αλλά ότι δεν ξέρετε πού έχει φτάσει.
Βλέπετε τα logs να ανανεώνονται γρήγορα, και ο ανεμιστήρας να γυρίζει χαρούμενα, αλλά δεν είστε σίγουροι:
- Μήπως επαναλαμβάνει τη διόρθωση του ίδιου bug;
- Μήπως αλλάζει συνεχώς το ίδιο τμήμα κώδικα και μετά το αλλάζει ξανά πίσω;
- Μήπως έχει ήδη ολοκληρωθεί, απλά δεν έχει τερματίσει;
- Μήπως έχει κολλήσει σε κάποιο τεστ σε ατέρμονο βρόχο;

Η λύση του ralph-tui είναι πολύ "μηχανική":
- Έχει την έννοια της session, η κατάσταση αποθηκεύεται στο δίσκο (.ralph-tui/session.json)
- Μπορεί να συνεχίσει μετά από crash (crash recovery)
- Έχει μηχανισμό κλειδώματος, για να αποφύγετε να ανοίξετε πολλά instances και να καταστρέψετε τον κατάλογο
- Μπορεί επίσης να τρέξει headless στο CI, ή ακόμα και remote να ανοίξετε έναν listener στο απομακρυσμένο άκρο, και το τοπικό TUI να συνδεθεί εκεί
Με μια λέξη: Είναι περισσότερο σαν "να διαχειρίζεστε έναν εργάτη που γράφει κώδικα", παρά "να παρακολουθείτε ένα script να τρελαίνεται".
Πώς να εγκαταστήσετε
Το ralph-tui είναι ένα οικοσύστημα Bun/TypeScript, οπότε η εγκατάσταση είναι αρκετά εύκολη. Η επίσημη σελίδα εγκατάστασης είναι επίσης διαθέσιμη.
Πρώτα βεβαιωθείτε ότι έχετε το bun στο μηχάνημά σας:
bun --version
Μετά εγκαταστήστε το ralph-tui (εδώ δίνω μια τυπική εγκατάσταση, ανατρέξτε στην επίσημη σελίδα εγκατάστασης για λεπτομέρειες):
bun add -g ralph-tui
Μετά την εγκατάσταση, επιβεβαιώστε:
ralph-tui --help
Αν είστε οπαδός του Node και δεν θέλετε να χρησιμοποιήσετε το bun, μπορείτε επίσης:
npm i -g ralph-tui
Μην κάνετε μεγάλα πράγματα, τρέξτε έναν ελάχιστο κλειστό βρόχο
Σας συνιστώ να μην προσπαθήσετε να κάνετε κάτι μεγάλο όπως "ανακατασκευή ολόκληρου του repo" την πρώτη φορά που το χρησιμοποιείτε. Κάντε μόνο ένα πράγμα: Κάντε το να τρέξει μια μικρή εργασία που μπορεί να γίνει αποδεκτή.
Αρχικοποίηση
Ανοίξτε έναν κατάλογο:
mkdir ralph-tui-demo && cd ralph-tui-demo ralph-tui setup
Αυτό θα ξεκινήσει μια διαδραστική διαδικασία οδηγού, η οποία ουσιαστικά σημαίνει "εγκατάσταση του ralph-tui σε αυτό το αποθετήριο", και θα:
- Αυτόματη ανίχνευση των agents που είναι εγκατεστημένοι στο μηχάνημά σας (όπως Claude Code, OpenCode κ.λπ.)
- Δημιουργία ενός αρχείου διαμόρφωσης στο έργο: .ralph-tui/config.toml
- Εγκατάσταση των skills που σχετίζονται με τη δημιουργία PRD/μετατροπή εργασιών (ώστε να μην χρειάζεται να τα κάνετε χειροκίνητα αργότερα)
Προσωπική μου συμβουλή: Μην τεμπελιάσετε την πρώτη φορά, πρέπει να εκτελέσετε το setup μία φορά.
Δημιουργία PRD έργου
Αφού εκτελεστεί το setup, το επόμενο βήμα είναι το πιο σημαντικό μέρος του επίσημου οδηγού, και επίσης το πιο κατάλληλο για να γραφτεί ως demo σε ένα δημόσιο λογαριασμό: create-prd.
Η εντολή ralph-tui create-prd --chat θα εισέλθει σε μια διαλογική διαδικασία, όπου θα σας ρωτήσει σαν product manager για τους στόχους, τις οριακές συνθήκες και τα κριτήρια αποδοχής της απαίτησης. Αφού ρωτήσει, θα δημιουργήσει δύο πράγματα απευθείας στο έργο (αυτό είναι το σημαντικό):
- Ένα αρχείο markdown PRD: ./tasks/prd-feature.md
- Ένα αρχείο εργασιών που μπορεί να εκτελεστεί απευθείας: ./prd.json
Σε αυτό το σημείο, έχετε εισέλθει πραγματικά στον "τυπικό κλειστό κύκλο" του ralph-tui:
Απαίτηση (PRD) → Εργασία (prd.json) → Εκτέλεση (run)
Εκτέλεση (run)
Έχοντας το prd.json, η εκτέλεση (run) είναι το επόμενο λογικό βήμα:
ralph-tui run --prd ./prd.json Θα δείτε το TUI να ξεκινά και να μπαίνει σε έναν βρόχο: επιλογή εργασίας → εκτέλεση → αξιολόγηση ολοκλήρωσης → εγγραφή κατάστασης → τέλος ή επόμενος γύρος.
Την πρώτη φορά που το εκτελείτε, συνιστώ ανεπιφύλακτα να προσθέσετε ένα ανώτατο όριο επαναλήψεων, για να το περιορίσετε στην αρχή:
ralph-tui run --prd ./prd.json --iterations 5 Αφού εκτελεστεί, ελέγξτε τις αλλαγές, εκτελέστε δοκιμές και δείτε αν το PRD και η εργασία είναι σύμφωνα με τις προσδοκίες. Αφού επιβεβαιώσετε ότι αυτή η αλυσίδα είναι εντάξει, απελευθερώστε τις επαναλήψεις και μετά προχωρήστε σε headless/remote, αυτός είναι ο σωστός ρυθμός.
Σε αυτό το σημείο, μπορείτε βασικά να επιβεβαιώσετε: αυτός ο βρόχος λειτουργεί πραγματικά.
Πώς να επιλέξετε μοντέλο/Agent; Πρέπει να είμαστε ειλικρινείς για την εξοικονόμηση χρημάτων
Ξέρω ότι πολλοί άνθρωποι ενδιαφέρονται περισσότερο για το: "Μπορώ να μην χρησιμοποιήσω το Claude Code; Μπορώ να χρησιμοποιήσω φθηνότερα μοντέλα;"
Η απάντηση είναι: Ναι.
Το ίδιο το ralph-tui σάς επιτρέπει να καθορίσετε agent και model (υπάρχουν παραδείγματα στην επίσημη τεκμηρίωση run).
Για παράδειγμα, χρησιμοποιώντας το Claude Opus:
ralph-tui run --prd ./prd.json --agent claude --model opus Αλλά ειλικρινά, εγώ ο ίδιος δεν θα χρησιμοποιούσα το Opus για εργασίες όπως "συμπλήρωση δοκιμών, διόρθωση lint", είναι πολύ ακριβό. Η συνήθειά μου είναι να το κάνω σε επίπεδα:
- Φθηνά μοντέλα: Εκτέλεση μεγάλου όγκου επαναλαμβανόμενων εργασιών (συμπλήρωση δοκιμών, συμπλήρωση σχολίων, διόρθωση μορφοποίησης, προσθήκη ορίων)
- Ακριβά μοντέλα: Χρήση μόνο σε κρίσιμα σημεία (προσαρμογή αρχιτεκτονικής, δύσκολα σφάλματα, βασική λογική)
Αν είστε απλός προγραμματιστής, αυτή η προσέγγιση είναι ακόμη πιο σημαντική. Επειδή δεν έχετε τον προϋπολογισμό μιας μεγάλης εταιρείας, πρέπει να διατηρήσετε το κόστος υπό έλεγχο για να μπορείτε να το χρησιμοποιείτε για μεγάλο χρονικό διάστημα.
Θέλετε να είναι ακόμα πιο εύκολο; Αναθέστε και τη "σύνταξη PRD" στον agent
Το ralph-tui έχει ένα σχέδιο που μου αρέσει πολύ: υποστηρίζει skills (που στην ουσία είναι μια σειρά από εξωτερικές εντολές agent).
Ο επίσημος τρόπος εγκατάστασης είναι με το add-skill:
bunx add-skill subsy/ralph-tui --all Ή εγκατάσταση σε έναν συγκεκριμένο agent, όπως το claude-code:
bunx add-skill subsy/ralph-tui -a claude-code -g -y Αφού εγκατασταθεί, μπορείτε να χρησιμοποιήσετε slash commands στη συνεδρία agent:
/ralph-tui-prd /ralph-tui-create-json /ralph-tui-create-beads Αυτό είναι σαν να έχετε εγκαταστήσει ένα plugin στο IDE σας, μόνο που αυτό το plugin είναι για τον agent. Ο σκοπός του είναι να μειώσει τον χρόνο "χειροκίνητης μεταφοράς απαιτήσεων", κάνοντας την απαίτηση → εργασία → εκτέλεση να μοιάζει περισσότερο με μια γραμμή παραγωγής.
Πότε πρέπει να το χρησιμοποιήσετε; Πότε δεν πρέπει να το χρησιμοποιήσετε;Δεν μου αρέσει πολύ η αφήγηση "όλα μπορούν να γίνουν με AI", είναι εύκολο να παραπλανήσει τους ανθρώπους. Ένα εργαλείο είναι ένα εργαλείο, αξίζει μόνο όταν ταιριάζει στο σενάριο.
Σενάρια κατάλληλα για χρήση του ralph-tui
Έχετε πολλή από αυτή τη δουλειά:
- Συμπλήρωση δοκιμών (ειδικά παλιά έργα)
- Διόρθωση lint / format
- Μικρά βήματα αναδιάρθρωσης (σύγκλιση επαναλαμβανόμενου κώδικα)
- Προσθήκη τύπων σε παρτίδες, συμπλήρωση ορίων
- Αποσύνθεση απαιτήσεων και σταδιακή προώθηση σύμφωνα με την ουρά εργασιών
Αυτή η εργασία έχει ένα κοινό σημείο: Πολλές εργασίες, υψηλός βαθμός επανάληψης, αποδεκτή, επαναληπτική προώθηση.
Σενάρια που δεν είναι κατάλληλα για σκληρή χρήση του ralph-tui
Αυτό που θέλετε να κάνετε είναι αυτό:
- Μεγάλη αναδιάρθρωση μίας χρήσης, ασαφή κριτήρια αποδοχής
- Η ίδια η απαίτηση είναι ασαφής, βασιζόμενη στη σιωπηρή γνώση στο μυαλό σας
- Απαιτείται μεγάλη επικοινωνία/επιβεβαίωση μεταξύ ομάδων
- Απαιτείται να κάνετε κρίσεις προϊόντων
Για αυτήν την εργασία, το agent loop θα μεγεθύνει μόνο τη σύγχυση.
Ποια είναι η διαφορά μεταξύ αυτού και του ralph-loop (ralph-claude-code);
Το ralph-claude-code είναι περισσότερο σαν ένα "αυτόματο πιλότο Claude Code": το script το ξεκινά, τρέχει τον κύκλο, η ανίχνευση εξόδου, ο περιορισμός ταχύτητας και ο διακόπτης κυκλώματος είναι όλα εκεί για να σας υποστηρίξουν. Αυτό που θέλετε είναι "γρήγορα", και είναι πολύ γρήγορο.
Το ralph-tui είναι περισσότερο σαν μια "κονσόλα ελέγχου μηχανικής agent loop": δεν κολλάει σε ένα συγκεκριμένο μοντέλο, ούτε σε ένα συγκεκριμένο σύστημα εργασιών. Αυτό που θέλει να λύσει είναι "μακροχρόνια λειτουργία, παρατηρήσιμη, ελεγχόμενη, ανακτήσιμη, απομακρυσμένη" αυτά τα προβλήματα μηχανικής.
Οπότε με ρωτάτε πώς να επιλέξω;
- Είστε χρήστης του Claude Code και θέλετε να το ξεκινήσετε γρήγορα → ralph-claude-code
- Θέλετε να συνδέσετε διαφορετικά μοντέλα, θέλετε να εξοικονομήσετε χρήματα, θέλετε να διαχειριστείτε το loop ως υπηρεσία → ralph-tui
Τέλος: Μην αφήσετε την αποθήκη σας να γίνει εργαστήριο
Έχω μερικούς απαράβατους κανόνες για την εκτέλεση του agent loop, τους γράφω εδώ και τους ακολουθείτε, η πιθανότητα αποτυχίας θα είναι πολύ μικρότερη:
- Τρέξτε σε ένα branch, μην τρελαίνεστε στο main.
- Την πρώτη φορά που τρέχετε, φροντίστε να προσθέσετε --iterations, πρώτα επιβεβαιώστε σε μικρά βήματα ότι δεν θα τρελαθεί.
- Η εργασία πρέπει να είναι αποδεκτή: είτε μπορεί να εκτελέσει δοκιμές, είτε μπορεί να εκτελέσει lint, είτε μπορεί να συγκρίνει αρχεία εξόδου.
- Πρέπει να μάθετε να σταματάτε: όταν δείτε ότι αρχίζει να κάνει κύκλους, είναι πιο έξυπνο να κάνετε παύση παρά να συνεχίσετε να ξοδεύετε χρήματα.
- Φτηνά μοντέλα για βαριά δουλειά, ακριβά μοντέλα για κρίσιμη δουλειά: το κόστος προκύπτει από τη λειτουργία, όχι από την προσευχή.Διεύθυνση έργου: https://github.com/subsy/ralph-tui





