GEODE
Autonomous Agent Harness
Από την παρατήρηση στην επόμενη ενέργεια.
Ένα τοπικό πλαίσιο αυτόνομου πράκτορα στο οποίο ανατίθενται έρευνα, εργασίες με αρχεία και προγραμματισμένες εργασίες.
Η πρόταση διακοπής του μοντέλου γίνεται ολοκλήρωση μόνο μέσω επαλήθευσης.
Σε μια παραδοτέα διακοπή, το μοντέλο που ζητά να σταματήσει περνά παρ' όλα αυτά από επαλήθευση ολοκλήρωσης. Το αποτέλεσμα είναι ολοκλήρωση, συνέχιση εντός προϋπολογισμού ή αναμονή αναθεώρησης. Τα όρια εκτέλεσης, οι ακυρώσεις και τα σφάλματα καταλήγουν σε χωριστή κατάσταση διακοπής.
Επαλήθευση → ολοκλήρωση
Μόνο μια παραδοτέα διακοπή περνά από PreVerify → κρίση → PostVerify → Stop. Ούτε η πρόταση διακοπής του μοντέλου ούτε μια οδηγία hook αποτελεί από μόνη της ολοκλήρωση.
arun · γύρος μοντέλου
loop/agent_loop.pyδεδομένα: πρόταση διακοπήςπαραδοτέα διακοπή · natural κ.λπ.loop/_guards.py · models.pyΌταν το μοντέλο απαντά με κείμενο χωρίς κλήση εργαλείου, ο γύρος γίνεται υποψήφια διακοπή natural (forced_text στον τελευταίο επιτρεπόμενο κύκλο). Η πρόταση διακοπής του μοντέλου δεν είναι ακόμη ολοκλήρωση.
παραδοτέα διακοπή · natural κ.λπ.
loop/_guards.py · models.pyδεδομένα: υποψήφια ολοκλήρωσηfinalize_and_return_asyncloop/_lifecycle.pyΜόνο οι natural, forced_text και actionable_partial είναι παραδοτέες διακοπές, και μόνο αυτές προχωρούν σε δημόσια επαλήθευση.
finalize_and_return_async
loop/_lifecycle.pyεκτέλεση · κρίση: PreVerifyPreVerify · STRENGTHENcore/hooks/public.pyΜε το STRENGTHEN, το PreVerify hook μπορεί μόνο να προσθέσει απαιτήσεις και κωδικούς ελλείψεων. Μπορεί να κάνει την ετυμηγορία αυστηρότερη, ποτέ να την περάσει.
finalize_and_return_async
loop/_lifecycle.pyεκτέλεση · κρίση: verify_turn_asyncδομικός έλεγχος · empty_turncore/agent/verify.pyΠρώτα έρχεται ένας δομικός έλεγχος (κενός γύρος, model_action_required). Μια μη επιδιορθώσιμη δομική αποτυχία παρακάμπτει τη σημασιολογική κρίση. Παλιές ρυθμίσεις όπως off ή rule_based ερμηνεύονται ως llm_judge και δεν μπορούν να απενεργοποιήσουν την ετυμηγορία.
σημασιολογική κρίση · LLM ή Jev
core/agent/verify.pyδεδομένα: αίτημα κρίσηςΜοντέλο-κριτήςΟ επιλεγμένος κριτής (LLM judge από προεπιλογή, Jev Choice όταν επιλεγεί) καλείται μία φορά, χωρίς εργαλεία, για το πολύ 120 δευτερόλεπτα και ποτέ πέρα από τον εναπομείναντα χρονικό προϋπολογισμό. Ένας υποψήφιος που ενδέχεται να περιέχει προσωπικές παρατηρήσεις δεν αποστέλλεται σε βοηθητικό κριτή.
σημασιολογική κρίση · LLM ή Jev
core/agent/verify.pyδεδομένα: passed · rubric_missespolicy_action · ανάγνωση της ετυμηγορίαςloop/_lifecycle.pyΗ ετυμηγορία περιέχει επιτυχία ή αποτυχία, κωδικούς ελλείψεων, ένα reflection για την επόμενη προσπάθεια και το αν αξίζει νέα προσπάθεια. Μια σημασιολογική επιτυχία δεν καλύπτει ποτέ έναν αποτυχημένο δομικό έλεγχο.
policy_action · ανάγνωση της ετυμηγορίας
loop/_lifecycle.pyεκτέλεση · κρίση: Απόφαση PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyΤο PostVerify hook αποφασίζει ACCEPT, REVISE ή ESCALATE. Ένα ACCEPT για υποψήφιο που απέτυχε στην επαλήθευση γίνεται escalate. Χωρίς απόφαση ισχύει η προεπιλογή του περιβάλλοντος εκτέλεσης (επιτυχία → accept, επαναλήψιμο → revise, αλλιώς escalate).
policy_action · ανάγνωση της ετυμηγορίας
loop/_lifecycle.pyεκτέλεση · κρίση: Stop · CONTINUEStop · CONTINUEcore/hooks/public.pyΜόνο όταν δεν γίνεται escalate μπορεί η οδηγία CONTINUE του Stop hook να ζητήσει συνέχιση επιδιόρθωσης. Μια οδηγία hook είναι είσοδος για την επόμενη προσπάθεια, όχι εξουσία.
policy_action · ανάγνωση της ετυμηγορίας
loop/_lifecycle.pyδεδομένα: completed · αποθηκεύτηκεcheckpoint · κατάσταση συνεδρίαςmemory · observabilityΣε επιτυχία και accept, οι συνεχιζόμενες προσπάθειες συγχωνεύονται, το αποτέλεσμα αποθηκεύεται και η συνεδρία καταγράφεται ως completed.
finalize_and_return_async
loop/_lifecycle.pyδεδομένα: απάντησηIPC · καλών μέσω CLIΕπιστρέφει την τελική απάντηση όταν ολοκληρωθεί, μια κενή απάντηση με EXTERNAL_VERIFICATION_REQUIRED όταν περιμένει αναθεώρηση, και την αιτία διακοπής σε διακοπή χωρίς επαλήθευση.
Επιδιόρθωση εντός προϋπολογισμού
Μια επιδιορθώσιμη αποτυχία συνεχίζει το ίδιο αίτημα. Ο προεπιλεγμένος προϋπολογισμός είναι δύο προσπάθειες. Όταν εξαντληθεί, ο υποψήφιος περιμένει αναθεώρηση.
σημασιολογική κρίση · LLM ή Jev
core/agent/verify.pyδεδομένα: passed · rubric_missespolicy_action · ανάγνωση της ετυμηγορίαςloop/_lifecycle.pyΗ ετυμηγορία περιέχει επιτυχία ή αποτυχία, κωδικούς ελλείψεων, ένα reflection για την επόμενη προσπάθεια και το αν αξίζει νέα προσπάθεια. Μια σημασιολογική επιτυχία δεν καλύπτει ποτέ έναν αποτυχημένο δομικό έλεγχο.
policy_action · ανάγνωση της ετυμηγορίας
loop/_lifecycle.pyεκτέλεση · κρίση: Απόφαση PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyΤο PostVerify hook αποφασίζει ACCEPT, REVISE ή ESCALATE. Ένα ACCEPT για υποψήφιο που απέτυχε στην επαλήθευση γίνεται escalate. Χωρίς απόφαση ισχύει η προεπιλογή του περιβάλλοντος εκτέλεσης (επιτυχία → accept, επαναλήψιμο → revise, αλλιώς escalate).
policy_action · ανάγνωση της ετυμηγορίας
loop/_lifecycle.pyεκτέλεση · κρίση: Stop · CONTINUEStop · CONTINUEcore/hooks/public.pyΜόνο όταν δεν γίνεται escalate μπορεί η οδηγία CONTINUE του Stop hook να ζητήσει συνέχιση επιδιόρθωσης. Μια οδηγία hook είναι είσοδος για την επόμενη προσπάθεια, όχι εξουσία.
προϋπολογισμός continuation · προεπιλογή 2
loop/_lifecycle.pyεκτέλεση · κρίση: επιδιόρθωση · προσπάθεια +1_arun_once · συνέχιση επιδιόρθωσηςloop/agent_loop.pyΜε οδηγία επιδιόρθωσης, και μόνο όσο ο αριθμός της προσπάθειας είναι κάτω από τον προϋπολογισμό (δύο από προεπιλογή), το ίδιο αίτημα συνεχίζεται. Στο όριο του προϋπολογισμού γίνεται escalate_budget_exhausted και περιμένει αναθεώρηση.
Αναμονή αναθεώρησης
Μια μη αξιοποιήσιμη ετυμηγορία, μια απόπειρα να μετατραπεί αποτυχία σε επιτυχία ή ένας εξαντλημένος προϋπολογισμός αποκρύπτει τον υποψήφιο και θέτει τη συνεδρία σε παύση.
verification_error · κλειστή αποτυχία
core/agent/verify.pyαποτυχία · χωρίς ετυμηγορία: verification_errorpolicy_action · ανάγνωση της ετυμηγορίαςloop/_lifecycle.pyΈνας κριτής που λείπει, μια λήξη χρόνου ή μια άκυρη απάντηση γίνεται verification_error: ούτε επιτυχία ούτε σήμα επιδιόρθωσης. Μια μη αξιοποιήσιμη ετυμηγορία δεν υποκαθιστά ποτέ την επιτυχία.
policy_action · ανάγνωση της ετυμηγορίας
loop/_lifecycle.pyεκτέλεση · κρίση: Απόφαση PostVerifyPostVerify · ACCEPT · REVISE · ESCALATEcore/hooks/public.pyΤο PostVerify hook αποφασίζει ACCEPT, REVISE ή ESCALATE. Ένα ACCEPT για υποψήφιο που απέτυχε στην επαλήθευση γίνεται escalate. Χωρίς απόφαση ισχύει η προεπιλογή του περιβάλλοντος εκτέλεσης (επιτυχία → accept, επαναλήψιμο → revise, αλλιώς escalate).
policy_action · ανάγνωση της ετυμηγορίας
loop/_lifecycle.pyεκτέλεση · κρίση: ESCALATE · pendingΕξωτερικός αναθεωρητήςΟ υποψήφιος κρατιέται ως pending_text και αποκρύπτεται από τις κανονικές απαντήσεις, το checkpoint αποθηκεύεται και η συνεδρία τίθεται σε παύση. Κανένας εξωτερικός αναθεωρητής δεν ειδοποιείται αυτόματα.
policy_action · ανάγνωση της ετυμηγορίας
loop/_lifecycle.pyκαταγραφή · παρατήρηση: ετυμηγορία · γραμμές τεκμηρίωνtimeline · γραμμές αποφάσεων ledgermemory · observabilityΤο timeline δέχεται γραμμές απόφασης, τεκμηρίων και pending, και το evidence ledger μια γραμμή verification_policy. Είναι καταγραφές best-effort, όχι απόδειξη εξωτερικής επίδρασης.
Διακοπές χωρίς επαλήθευση
Οι διακοπές λόγω ακύρωσης, ορίου και υποδομής και οι εκτελέσεις control workflow αποθηκεύονται χωρίς δημόσια επαλήθευση.
arun · γύρος μοντέλου
loop/agent_loop.pyεκτέλεση · κρίση: φρουροί · όριαδιακοπή λόγω αποτυχίας · ορίου · ακύρωσηςloop/_guards.py · models.pyΦρουροί όπως τα όρια κύκλων, χρόνου, κόστους και συμφραζομένων, η ακύρωση και η ανίχνευση επαναλαμβανόμενων αποτυχιών τερματίζουν τον γύρο με ένα μέλος του κλειστού συνόλου TerminationReason. Ένα όριο απενεργοποιημένο στις ρυθμίσεις δεν επιβάλλεται πάντα.
διακοπή λόγω αποτυχίας · ορίου · ακύρωσης
loop/_guards.py · models.pyαποτυχία · χωρίς ετυμηγορία: διακοπή λόγω αποτυχίας · ακύρωσηςfinalize_and_return_asyncloop/_lifecycle.pyΟι διακοπές λόγω ακύρωσης, υποδομής και ορίου δεν έχουν υποψήφιο προς επαλήθευση, γι' αυτό αποθηκεύονται χωρίς δημόσια επαλήθευση.
control workflow · παράλειψη δημόσιας επαλήθευσης
ipc_server/poller.pyεκτέλεση · κρίση: παράλειψη δημόσιας επαλήθευσηςfinalize_and_return_asyncloop/_lifecycle.pyΌταν μια κλήση IPC ζητά παράλειψη της δημόσιας επαλήθευσης ή όταν είναι ενεργό ένα control workflow, η δημόσια επαλήθευση απενεργοποιείται μόνο για εκείνη την εκτέλεση και η προηγούμενη τιμή επανέρχεται έπειτα.
finalize_and_return_async
loop/_lifecycle.pyδεδομένα: μόνο αποθήκευση · χωρίς επαλήθευσηcheckpoint · κατάσταση συνεδρίαςmemory · observabilityΜια διακοπή χωρίς επαλήθευση αποθηκεύει παρ' όλα αυτά το αποτέλεσμα και το checkpoint της και εκπέμπει τα συμβάντα τέλους συνεδρίας.
finalize_and_return_async
loop/_lifecycle.pyδεδομένα: απάντησηIPC · καλών μέσω CLIΕπιστρέφει την τελική απάντηση όταν ολοκληρωθεί, μια κενή απάντηση με EXTERNAL_VERIFICATION_REQUIRED όταν περιμένει αναθεώρηση, και την αιτία διακοπής σε διακοπή χωρίς επαλήθευση.
Κάθε σύνδεση με το ίδιο πάχος. Επιλέξτε μια ροή για να επισημανθεί μόνο η διαδρομή της, με αριθμημένα βήματα.
- Συνεχής · η κατεύθυνση ροής αιτημάτων, υποψηφίων και αποτελεσμάτων
- Διακεκομμένη · εκτέλεση, κρίση, εξουσιοδότηση, ρύθμιση
- Μακριά παύλα-τελεία · καταγραφές και παρατήρηση, χωριστά από την ετυμηγορία
- Κοντή παύλα · αποτυχία ή μη αξιοποιήσιμη ετυμηγορία
- Παχιά μαύρη γραμμή · η επιλεγμένη ροή, οι αριθμοί δίνουν τη σειρά
- Κουτί · όριο κώδικα ή καταγραφής, με τη διαδρομή του στην κεφαλίδα
- Εσωτερικό τσιπ · στοιχείο σε αυτό το όριο
- Διακεκομμένο κουτί · εκτός αυτού του ορίου
- βρόχος · finalization
- διακοπές · hooks · ετυμηγορία
- αποθήκευση · καταγραφές
- Είσοδος IPC
Σχεδιάζονται μόνο διαδρομές κλήσεων στο σταθερό commit 9e2c041. Η επιτυχία ενός κριτή είναι ξεχωριστή από την επιτυχία ενός εξωτερικού επαληθευτή benchmark. Η ολοκλήρωση εδώ είναι απόφαση μέσα στο περιβάλλον εκτέλεσης.
- Μηχανή κρίσης
- Η προεπιλογή είναι το LLM judge. Το Jev Choice κρίνει μόνο όταν το judgment_engine οριστεί σε jev. Σε κάθε περίπτωση, ένας μη αξιοποιήσιμος κριτής δίνει verification_error, ποτέ επιτυχία.
- Τι επιτρέπεται στα hooks
- Το PreVerify μπορεί μόνο να κάνει την ετυμηγορία αυστηρότερη, το PostVerify δεν μπορεί να περάσει έναν αποτυχημένο υποψήφιο, και το Stop μπορεί να ζητήσει συνέχιση μόνο όταν δεν γίνεται escalate.
- Αναμονή αναθεώρησης
- Η αναμονή αναθεώρησης καταγράφει ότι χρειάζεται εξωτερική απόφαση. Δεν ειδοποιεί κανέναν και δεν σημαίνει ότι το αποτέλεσμα εγκρίθηκε.