აი, ისიც მოვიდა! Ralph TUI, Ralph Loop-ის ვიზუალიზაცია
აი, ისიც მოვიდა! Ralph TUI, Ralph Loop-ის ვიზუალიზაცია
ადრე დავწერე სტატია ralph-loop-ის შესახებ. ბევრმა მეგობარმა, ვინც ის გაუშვა, მსგავსი გამოხმაურება დატოვა: მშვენიერია, Claude Code-ს ახლა შეუძლია დიდი ხნის განმავლობაში მუშაობა. მაგრამ ზოგჯერ, როცა აკვირდებით, თითქოს არაფერი ხდება, გულში ეჭვი გეპარებათ: "წინ მიიწევს თუ ადგილზე ტრიალებს?"
სწორედ ამის გამო ვწვალობდი ბოლო დროს ralph-tui-ზე.

ralph-tui არ არის იძულებით მიბმული Claude Code-ზე. ის მემკვიდრეობით იღებს და ავითარებს ralph loop-ის არსს და ვიზუალურად წარმოაჩენს დავალებების შესრულების პროცესს, რაც მნიშვნელოვნად ამცირებს დიდი მოდელების ხანგრძლივი მუშაობის ბარიერს. თქვენ შეგიძლიათ გამოიყენოთ სხვა აგენტი, სხვა მოდელი, ადგილობრივი, იაფი, ისეთი, რომლის გაშვებაც დიდხანს შეგიძლიათ. ralph-tui-ს არსებობა ჩვენთვის, ჩვეულებრივი ადამიანებისთვის, ავტომატური გადაცემათა კოლოფზე გადასვლას ჰგავს, თანაც კრუიზ კონტროლით.
რა არის ეს?
შეგიძლიათ ralph-tui აღიქვათ, როგორც "AI coding agent-ის ციკლური ორკესტრატორი", უბრალოდ, ის არ კმაყოფილდება მხოლოდ "მუშაობით", ის უფრო ზრუნავს იმაზე, რომ "თქვენ ხედავდეთ, აკონტროლებდეთ და აღადგინოთ".
მისი ძირითადი მუშაობის პრინციპი ძალიან მარტივია:
- თქვენ აძლევთ მას დავალებების დასტას (PRD-დანაც შეიძლება, სხვა დავალებათა სისტემიდანაც)
- ის ირჩევს უმაღლესი პრიორიტეტის მქონეს
- აწყობს prompt-ს
- იძახებს აგენტს შესასრულებლად
- აფასებს, არის თუ არა დავალება დასრულებული
- წერს სტატუსს
- შემდეგ ციკლში აგრძელებს
მთავარია: ამ ყველაფერს ტერმინალში ხედავთ და ნებისმიერ დროს შეგიძლიათ შეაჩეროთ ან გადაიბაროთ. ოფიციალურად, მისი პოზიციონირებაც ძალიან პირდაპირია: აგენტი loop orchestrator ინტერაქტიული TUI-ით და მხარდაჭერით TUI / headless / remote რეჟიმებისთვის.
რატომ ვამბობ, რომ ის უფრო შესაფერისია "გრძელვადიანი გაშვებისთვის"?
სკრიპტის loop-ის გაშვების ყველაზე დიდი პრობლემა ის კი არ არის, რომ ვერ გაეშვება, არამედ ის, რომ არ იცით, სად გაჩერდა.
ხედავთ, რომ ჟურნალები სწრაფად ივსება, ვენტილატორიც ხალისით ტრიალებს, მაგრამ თქვენ მაინც გაურკვევლობაში ხართ:
- ხომ არ იმეორებს ერთი და იმავე შეცდომის გამოსწორებას?
- ხომ არ ცვლის გამუდმებით ერთსა და იმავე კოდის ნაწილს და შემდეგ ისევ აბრუნებს უკან?
- ხომ არ დაასრულა უკვე, უბრალოდ არ გამოსულა?
- ხომ არ გაიჭედა რომელიმე ტესტზე და გაუთავებელ ციკლში შევიდა?

ralph-tui-ს გამოსავალი ძალიან "საინჟინროა":
- აქვს session-ის კონცეფცია, სტატუსი ინახება დისკზე (.ralph-tui/session.json)
- ავარიის შემთხვევაში შეუძლია გაშვების აღდგენა (crash recovery)
- აქვს დაბლოკვის მექანიზმი, რათა თავიდან აიცილოთ რამდენიმე ინსტანციის ერთდროულად გაშვება და დირექტორიის არევა
- შეუძლია headless რეჟიმში CI-ზე გაშვება, ან თუნდაც remote რეჟიმში შორეულ სერვერზე listener-ის გახსნა და ლოკალური TUI-ით დაკავშირება
ერთი სიტყვით: ის უფრო ჰგავს "თქვენ რომ კოდის მწერალ მუშას მართავდეთ", ვიდრე "სკრიპტის უაზრო ქცევას რომ აკვირდებოდეთ".
როგორ დავაყენოთ
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-ს დაყენებას თქვენს საცავში". ის გააკეთებს შემდეგს:- ავტომატურად ამოიცნობს, თუ რომელი აგენტები გაქვთ დაინსტალირებული თქვენს კომპიუტერში (როგორიცაა Claude Code, OpenCode და ა.შ.)
- ქმნის კონფიგურაციის ფაილს პროექტში: .ralph-tui/config.toml
- აყენებს PRD-ის გენერირების/დავალებების კონვერტაციის შესაბამის skills-ებს (მოგვიანებით ხელით აღარ მოგიწევთ ამის გაკეთება)
პირადად მე გირჩევთ: პირველად ნუ დაიზარებთ, setup აუცილებლად უნდა გაუშვათ.
პროექტის PRD-ის გენერირება
setup-ის გაშვების შემდეგ, შემდეგი ნაბიჯი არის ოფიციალური სახელმძღვანელოს ყველაზე მნიშვნელოვანი ნაწილი, რომელიც ასევე ყველაზე შესაფერისია დემო-სთვის: create-prd.
ralph-tui create-prd --chat ბრძანება დაიწყებს დიალოგურ პროცესს, ისევე როგორც პროდუქტის მენეჯერი, რომელიც გკითხავთ მოთხოვნების მიზნებს, საზღვრებს და მიღების კრიტერიუმებს. კითხვების დასრულების შემდეგ, ის პირდაპირ გამოიტანს ორ რამეს პროექტში (ეს არის მთავარი):
- PRD-ის markdown ფაილი: ./tasks/prd-feature.md
- დავალების ფაილი, რომელიც პირდაპირ შესრულებადია: ./prd.json
ამ ეტაპზე თქვენ ნამდვილად შეხვალთ ralph-tui-ს "სტანდარტულ ციკლში":
მოთხოვნა (PRD) → დავალება (prd.json) → შესრულება (run)
გაშვება
prd.json-ის არსებობის შემთხვევაში, run ბუნებრივია:
ralph-tui run --prd ./prd.json თქვენ ნახავთ TUI-ს, რომელიც დაიწყებს ციკლს: დავალების არჩევა → შესრულება → დასრულების შეფასება → სტატუსის ჩაწერა → დასრულება ან შემდეგი რაუნდი.
პირველად გაშვებისას, გირჩევთ, დაამატოთ გამეორების ლიმიტი, ჯერ გალიაში ჩაკეტოთ:
ralph-tui run --prd ./prd.json --iterations 5 გაშვების შემდეგ, ნახეთ ცვლილებები, გაუშვით ტესტები, ნახეთ, შეესაბამება თუ არა PRD და დავალება მოლოდინებს. დარწმუნდით, რომ ეს ჯაჭვი მუშაობს, შემდეგ გაათავისუფლეთ iterations, შემდეგ headless/remote, ეს არის საიმედო რიტმი.
ამ დროს თქვენ ძირითადად შეძლებთ დაადასტუროთ: ეს ციკლი ნამდვილად მუშაობს.
მოდელი/აგენტი როგორ ავირჩიოთ? ფულის დაზოგვის შესახებ სიმართლე უნდა ითქვას
ვიცი, რომ ბევრს ყველაზე მეტად აინტერესებს: "შემიძლია თუ არა Claude Code-ის გარეშე? შემიძლია თუ არა იაფი მოდელების გამოყენება?"
პასუხი არის: კი.
ralph-tui თავად გაძლევთ საშუალებას მიუთითოთ აგენტი და მოდელი (ოფიციალურ run დოკუმენტაციაში არის მაგალითები).
მაგალითად, Claude Opus-ის გამოყენება:
ralph-tui run --prd ./prd.json --agent claude --model opus მაგრამ გულწრფელად გითხრათ, მე თვითონ არ გამოვიყენებ Opus-ს "ტესტების შევსებისთვის, lint-ის გამოსასწორებლად" ამ ტიპის სამუშაოსთვის, ძალიან ძვირია. ჩემი ჩვევაა ფენებად დაყოფა:
- იაფი მოდელები: გაუშვით დიდი რაოდენობით განმეორებადი სამუშაო (ტესტების შევსება, კომენტარების დამატება, ფორმატის გასწორება, საზღვრების დამატება)
- ძვირი მოდელები: მხოლოდ საკვანძო მომენტებში გამოდიან (არქიტექტურის კორექტირება, რთული შეცდომები, ძირითადი ლოგიკა)
თუ ჩვეულებრივი დეველოპერი ხართ, ეს მიდგომა უფრო მნიშვნელოვანია. რადგან თქვენ არ გაქვთ დიდი კომპანიის ბიუჯეტი, თქვენ უნდა გახადოთ ხარჯები კონტროლირებადი, რათა დიდხანს გაძლოთ.
გსურთ უფრო სასიამოვნო გამოცდილება? "PRD-ის დაწერა" ასევე აგენტს მიანდეთ
ralph-tui-ს აქვს დიზაინი, რომელიც მე ძალიან მომწონს: ის მხარს უჭერს skills-ებს (მარტივად რომ ვთქვათ, ეს არის აგენტის დამატებითი ბრძანებების ნაკრები).
ოფიციალური ინსტალაციის მეთოდია add-skill-ის გამოყენება:
bunx add-skill subsy/ralph-tui --all ან დააინსტალირეთ კონკრეტულ აგენტზე, მაგალითად claude-code:
bunx add-skill subsy/ralph-tui -a claude-code -g -y ინსტალაციის შემდეგ, შეგიძლიათ გამოიყენოთ slash ბრძანება აგენტის სესიაში:
/ralph-tui-prd /ralph-tui-create-json /ralph-tui-create-beads ეს ძალიან ჰგავს IDE-ში დანამატის დაყენებას, მხოლოდ ეს დანამატი განკუთვნილია აგენტისთვის. მისი მნიშვნელობა არის "მოთხოვნების ხელით გადატანის" დროის შემცირება, რათა მოთხოვნა → დავალება → შესრულება უფრო ჰგავდეს კონვეიერს.
როდის უნდა გამოიყენოთ ის? როდის არ უნდა გამოიყენოთ?მე არ მომწონს ისეთი ნარატივი, რომ "ყველაფრის გაკეთება AI-ს შეუძლია", რადგან ის ადვილად შეცდომაში შეჰყავს ხალხს. ინსტრუმენტი მხოლოდ ინსტრუმენტია და ღირებულია მხოლოდ შესაფერის სცენარში.
სცენარები, როდესაც ralph-tui გამოსადეგია
თქვენ გაქვთ მსგავსი სამუშაოების დასტა:
- ტესტირების შევსება (განსაკუთრებით ძველ პროექტებში)
- lint / format-ის გასწორება
- მცირე ნაბიჯებით რეფაქტორინგი (გამეორებადი კოდის კონვერგენცია)
- ტიპების მასობრივი დამატება, საზღვრების შევსება
- მოთხოვნების დაშლა და ამოცანების რიგის მიხედვით ნელ-ნელა წინ წაწევა
ამ ტიპის სამუშაოებს აქვთ საერთო მახასიათებელი: ბევრი ამოცანა, მაღალი განმეორებადობა, მიღება შესაძლებელია, შესაძლებელია განმეორებითი წინსვლა.
სცენარები, როდესაც ralph-tui-ს ძალდატანებით გამოყენება არ არის მიზანშეწონილი
თქვენ აკეთებთ შემდეგს:
- ერთჯერადი დიდი რეფაქტორინგი, მიღების სტანდარტები გაურკვეველია
- მოთხოვნა თავისთავად ბუნდოვანია, ეყრდნობა თქვენს გონებაში არსებულ იმპლიციტურ ცოდნას
- საჭიროა გუნდებს შორის დიდი რაოდენობით კომუნიკაცია/დადასტურება
- საჭიროა პროდუქტის შეფასება
ამ ტიპის ამოცანებში, agent loop მხოლოდ გაზრდის არეულობას.
რით განსხვავდება ის ralph-loop-ისგან (ralph-claude-code)?
ralph-claude-code უფრო ჰგავს "Claude Code-ის ავტოპილოტის დანამატს": სკრიპტი მას ააქტიურებს, აწარმოებს ციკლს, გამოსვლის დეტექცია, შეზღუდვა, ამომრთველი ყველაფერს უზრუნველყოფს. თუ გჭირდებათ "სწრაფად", ის ძალიან სწრაფია.
ralph-tui უფრო ჰგავს "agent loop-ის საინჟინრო კონსოლს": ის არ აფიქსირებს კონკრეტულ მოდელს და არც კონკრეტულ ამოცანების სისტემას. მას სურს გადაჭრას "გრძელვადიანი გაშვება, დაკვირვებადი, კონტროლირებადი, აღდგენადი, დისტანციური" ეს საინჟინრო პრობლემები.
მაშ, რას ირჩევთ?
- თქვენ ხართ Claude Code-ის მომხმარებელი და გსურთ სწრაფად გაუშვათ ის → ralph-claude-code
- გსურთ სხვადასხვა მოდელების დაკავშირება, ფულის დაზოგვა, loop-ის სერვისად მართვა → ralph-tui
ბოლოს: ნუ მისცემთ მას თქვენი საცავის ლაბორატორიად გამოყენების უფლებას
მე თვითონ მაქვს რამდენიმე რკინის წესი agent loop-ის გაშვებისას, დავწერე აქ, რომ დაიცვათ და ავარიის ალბათობა გაცილებით ნაკლები იქნება:
- გაუშვით განშტოებაზე, ნუ გარისკავთ main-ზე.
- პირველად გაშვებისას აუცილებლად დაამატეთ --iterations, ჯერ მცირე ნაბიჯებით დარწმუნდით, რომ ის არ გაგიჟდება.
- ამოცანა უნდა იყოს მისაღები: ან შეუძლია ტესტების გაშვება, ან შეუძლია lint-ის გაშვება, ან შეუძლია გამომავალი ფაილების შედარება.
- თქვენ უნდა ისწავლოთ გაჩერება: როდესაც ხედავთ, რომ ის წრეზე იწყებს სიარულს, შეჩერება უფრო ჭკვიანურია, ვიდრე ფულის დაწვა.
- იაფი მოდელები აკეთებენ უხეშ სამუშაოს, ძვირი მოდელები აკეთებენ კრიტიკულ სამუშაოს: ღირებულება ოპერირებით მიიღწევა და არა ლოცვით.პროექტის მისამართი: https://github.com/subsy/ralph-tui





