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

Λειτουργίες

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

Υπάρχουν ακριβώς τέσσερις: chat, review, plan, orchestrate. Η ίδια η απαρίθμηση δεν κουβαλά πολιτική. Ό,τι εγγυάται μια λειτουργία δηλώνεται μία φορά, σε ένα προφίλ δυνατοτήτων, από το οποίο προβάλλει κάθε επίπεδο επιβολής:

  1. Επιφάνεια εργαλείων — ποια εργαλεία υπάρχουν καθόλου σε αυτή τη λειτουργία, εκφρασμένα ως μέγιστη βαθμίδα έγκρισης, λίστα επιτρεπόμενων, λίστα απαγορευμένων και σύνολο απορριπτόμενων κλάσεων ενεργειών.
  2. Απαιτούμενο ρήμα εξόδου — τι πρέπει να καλέσει η εκτέλεση για να έχει παραδώσει οτιδήποτε.
  3. Απορριπτόμενες κλάσεις ενεργειών — τι αρνείται οριστικά ο φύλακας ενεργειών.
  4. Στάση του worktree — αν επιτρέπεται η εγγραφή στο worktree. Αυτό επιβάλλεται αφαιρώντας τα εργαλεία μετάλλαξης από την επιφάνεια, κι αυτό είναι που την κάνει να ισχύει σε κάθε κεντρικό υπολογιστή. Όπου ο κεντρικός υπολογιστής διαθέτει sandbox του λειτουργικού συστήματος, η ίδια στάση χαράσσει και τους κανόνες εγγραφής του συστήματος αρχείων — μια λειτουργία μόνο ανάγνωσης προσαρτά το worktree μόνο για ανάγνωση — αλλά αυτό είναι ένα δεύτερο αντίγραφο της εγγύησης, όχι αυτό που κάνει τη δουλειά.
  5. Ενότητα προτροπής συστήματος — ένα παραγόμενο προοίμιο δυνατοτήτων που προκύπτει από την πραγματική υλοποιημένη λίστα εργαλείων, συν χειρόγραφη καθοδήγηση.

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

Συνομιλία — εμφανίζεται ως «Πράκτορας»

Ενότητα με τίτλο «Συνομιλία — εμφανίζεται ως «Πράκτορας»»

Η προεπιλογή και η μόνη λειτουργία χωρίς πρόσθετους περιορισμούς: η πλήρης επιφάνεια εργαλείων μέχρι τη βαθμίδα εκτέλεσης, ένα worktree με δυνατότητα εγγραφής, καμία απορριπτόμενη κλάση ενεργειών και κανένα συμβόλαιο ολοκλήρωσης. Χρησιμοποιήστε τη για υλοποίηση, διορθώσεις σφαλμάτων, ερωτήσεις για την κωδικοβάση και κάθε ad hoc εργασία.

Προσέξτε την ετικέτα: στο πεδίο σύνταξης μηνύματος η λειτουργία εμφανίζεται ως «Πράκτορας», όχι ως «Συνομιλία».

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

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

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

Υπάρχει και ένας δεύτερος, ξεχωριστός δρόμος εξόδου: το exit_plan_mode. Είναι μια αυστηρή πύλη έγκρισης, όχι ρήμα εξόδου — ένας πράκτορας που το καλεί αντί για το submit_plan δεν έχει παραδώσει τίποτα. Η πρώτη κλήση ανοίγει μια διαρκή έγκριση plan_exit και επιστρέφει pending, και ο χώρος παραμένει μόνο για ανάγνωση· οι επαναλαμβανόμενες κλήσεις παραμένουν pending αντί να ανοίξουν δεύτερη πύλη. Μόνο αφού χορηγηθεί η έγκριση μια επόμενη κλήση γυρίζει τον χώρο σε συνομιλία. Μια απόρριψη επιτρέπει στον πράκτορα να ανοίξει ένα νέο αίτημα για αναθεωρημένο σχέδιο.

Για να βγείτε μόνοι σας από τη λειτουργία σχεδίου, αλλάξτε το αναπτυσσόμενο μενού του πεδίου σύνταξης (ή πατήστε Shift+Tab). Το exit_plan_mode αποφασίζεται με το εργαλείο MCP decide_approval. Οι γραμμές «έγκριση πράκτορα» στα Εισερχόμενα είναι κάτι διαφορετικό: προτροπές επιβεβαίωσης ανά στροφή από έναν πράκτορα που εκτελείται.

Έλεγχος — μόνο ανάγνωση, χωρίς συμβόλαιο

Ενότητα με τίτλο «Έλεγχος — μόνο ανάγνωση, χωρίς συμβόλαιο»

Η λειτουργία ελέγχου είναι για έλεγχο PR. Κάνει το worktree μόνο για ανάγνωση, περιορίζει την επιφάνεια εργαλείων κάτω από τη βαθμίδα εκτέλεσης και εφαρμόζει μια επιμελημένη λίστα επιτρεπόμενων εργαλείων ελέγχου, εισιτηρίων και επικοινωνίας. Ένας χώρος που ανοίγει για ένα pull request δημιουργείται αυτόματα σε λειτουργία ελέγχου.

Η έξοδος του πράκτορα είναι δομημένα ευρήματα — κόμβοι ελέγχου — και, όταν ένας έλεγχος οριστικοποιηθεί, μια ετυμηγορία. Ένας κόμβος φέρει ένα είδος (bug, suggestion, recommendation, question ή ticket), προτεραιότητα από P0 (μπλοκάρει την κυκλοφορία) έως P3 (καλό να υπάρχει), αυτοαξιολογούμενη βεβαιότητα, προαιρετική άγκυρα (αρχείο συν εύρος γραμμών· οι σημειώσεις σε όλο το αποθετήριο δεν έχουν καμία) και κατάσταση κύκλου ζωής που κινείται από open σε consensusReady μόλις την επιβεβαιώσει ένας ομότιμος — ποτέ ο συντάκτης. Ένα εύρημα του οποίου η προτεραιότητα ή η βεβαιότητα λείπει ή είναι εκτός εύρους απορρίπτεται στο όριο ανάγνωσης αντί να μολύνει την ετυμηγορία.

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

Σε αντίθεση με το σχέδιο και την ενορχήστρωση, ο έλεγχος δεν φέρει κανένα συμβόλαιο ολοκλήρωσης. Τα ευρήματα συσσωρεύονται μέσω του add_review_node και δημοσιεύονται από το finalize_review, και τα δύο μπορούν νόμιμα να κληθούν μηδέν φορές — ένας πράκτορας pipeline που εκτελείται σε λειτουργία ελέγχου μπορεί να βρίσκεται εκεί για να ολοκληρώσει ένα εισιτήριο αντ’ αυτού.

Ενορχήστρωση — μόνο ανάγνωση, προτείνει ομάδα

Ενότητα με τίτλο «Ενορχήστρωση — μόνο ανάγνωση, προτείνει ομάδα»

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

Τίποτα στην πρόταση δεν εκτελείται μέχρι να την εγκρίνετε. Με την έγκριση, ένας ντετερμινιστικός μηχανισμός υλοποίησης προσλαμβάνει τους πράκτορες, δημιουργεί τα εισιτήρια και ένα έργο και εκτελεί ένα παραγόμενο pipeline. Η έγκριση είναι αποκλειστικά του χειριστή: δεν υπάρχει εργαλείο MCP γι’ αυτή, οπότε ένας πράκτορας μπορεί να προτείνει αλλά ποτέ να εγκρίνει το δικό του σχέδιο. Οι επαναπροτάσεις που ξεκινά πράκτορας περιορίζονται από περίοδο ψύξης δύο λεπτών, οπότε διαδοχικοί επανασχεδιασμοί απορρίπτονται και τους ζητείται να συνενωθούν. Δείτε την Ενορχήστρωση.

Το ίδιο το ρήμα εξόδου μιας λειτουργίας δεν μπορεί ποτέ να απορριφθεί. Τα submit_plan και propose_orchestration είναι καρφιτσωμένα στην επιφάνεια εργαλείων και προεγκρίνονται, προσπερνώντας εξίσου το φίλτρο εργαλείων, την πύλη έγκρισης και τον φύλακα ενεργειών, ώστε ο δείκτης αυτονομίας ανά χώρο να μην μπορεί να φιμώσει το παραδοτέο μιας λειτουργίας. Το ask_user του ενσωματωμένου μηχανισμού είναι καρφιτσωμένο για τον ίδιο λόγο: είναι ο τρόπος με τον οποίο μια εκτέλεση φτάνει στον χειριστή, οπότε το να το βάλουμε σε πύλη θα αδιεξόδευε μια εκτέλεση που χρειάζεται να ρωτήσει κάτι. Είναι βαθμίδας ανάγνωσης, οπότε κάθε λειτουργία μόνο ανάγνωσης το διατηρεί, και εξαιρείται από το περίβλημα έγκρισης — μια προτροπή μπροστά από μια προτροπή αποτυγχάνει με απόρριψη όταν δεν είναι συνδεδεμένος κανένας εγκριτής, κάτι που θα απέκλειε από έναν πράκτορα την ίδια την πράξη της ερώτησης.

Οι λειτουργίες μόνο ανάγνωσης δεν απαγορεύουν την πρόσβαση στο δίκτυο ή στα μυστικά. Οι κλάσεις ενεργειών που απορρίπτουν ο έλεγχος, το σχέδιο και η ενορχήστρωση είναι εκείνες που αλλάζουν τον κόσμο: διαγραφή αρχείων, εγγραφές έξω από το worktree, commits, pushes, δημιουργία και δημοσίευση PR, εγγραφές συγχρονισμού προμηθευτών, εγκαταστάσεις πακέτων, εκκίνηση διεργασιών, μετάλλαξη χώρου εργασίας και έλεγχος περιβλήματος. Η έξοδος δικτύου και η πρόσβαση σε μυστικά παραμένουν στις προεπιλογές τους σκόπιμα — η έρευνα είναι το όλο νόημα μιας λειτουργίας μόνο ανάγνωσης.

Το αναπτυσσόμενο μενού λειτουργίας του πεδίου σύνταξης προσφέρει τρεις επιλογές: Πράκτορας (συνομιλία), Σχέδιο και Ενορχήστρωση. Το review δεν επιλέγεται από τον χρήστη — το ορίζει το σύστημα όταν δημιουργείται ένας χώρος ελέγχου PR και τα βήματα pipeline.

Ένας κόμβος pipeline που ανοίγει χώρο μπορεί να καρφιτσώσει τη λειτουργία αυτού του δωματίου με κλειδί extras['mode'] (chat, review ή plan). Το κλειδί απαιτεί ακριβή αντιστοίχιση: οποιαδήποτε άλλη γραφή — συμπεριλαμβανομένου του orchestrate — αγνοείται σιωπηλά και το δωμάτιο παίρνει την προεπιλογή του σώματος (review στο σώμα δημιουργίας χώρου). Ένα βήμα πράκτορα μπαίνει σε δωμάτιο που δεν δημιούργησε και δεν επαναρυθμίζει τα δικαιώματά του.

Η ίδια η επίλυση είναι απλή. Ο αποστολέας διαβάζει τη στήλη mode του χώρου· μια αποστολή χωρίς χώρο — μια μεμονωμένη εκτέλεση, μια κλήση CLI ή ένα αναγνωριστικό χώρου από άλλον χώρο εργασίας, που απλώς δεν βρίσκεται στο αρχείο βάσης δεδομένων αυτού του χώρου εργασίας — επιλύεται σε chat. Η αλλαγή της λειτουργίας ισχύει από την επόμενη στροφή.

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

Στο μέσο μεταφοράς Claude Code, μια λειτουργία που δεν είναι συνομιλία περνά ως --permission-mode plan. Το Claude το σέβεται κατά σύμβαση· τα δικά του εργαλεία ανάγνωσης, εγγραφής και επεξεργασίας εκτελούνται αθέατα και τις εντολές κελύφους του τις ελέγχει μόνο ένα hook που διαβάζει τη γραμμή εντολών. Για αυτό το μέσο μεταφοράς η λειτουργία είναι καθοδήγηση, όχι όριο του Control Center — δείτε το Το μοντέλο πρακτόρων.

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