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

Ενορχήστρωση

Ένας μεμονωμένος πράκτορας είναι καλός σε ένα πράγμα. Κάποια αιτήματα είναι μεγαλύτερα από αυτό: «ερεύνησε την αγορά για το X και γράψε ένα έγγραφο τοποθέτησης», «παράδωσε αυτή τη λειτουργία από άκρη σε άκρη», «έλεγξε αυτό το άρθρωμα και διόρθωσε ό,τι βρεις». Μια ενορχήστρωση είναι ο τρόπος με τον οποίο το Control Center χειρίζεται τέτοια αιτήματα: ένας ενορχηστρωτής (συνήθως ο πράκτοράς σας CEO) προτείνει ένα σχέδιο για όλη την ομάδα, το εγκρίνετε μία φορά και ένας ντετερμινιστικός υλοποιητής το μετατρέπει σε μια pipeline που κάνει τη δουλειά.

Βρίσκεται ανάμεσα στους δύο υπάρχοντες τρόπους με τους οποίους γίνεται η δουλειά:

Όταν θέλετε να… Χρησιμοποιήστε
Αναθέσετε μια εργασία σε έναν πράκτορα Ένα μήνυμα σε έναν χώρο
Κωδικοποιήσετε χειροκίνητα μια διαδικασία που ήδη γνωρίζετε Ένα πρότυπο pipeline
Πείτε τον στόχο και αφήσετε την ομάδα να βρει το σχέδιο Μια ενορχήστρωση

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

  • Στόχος: το αίτημά σας σε υψηλό επίπεδο, διατυπωμένο εκ νέου.
  • Ρόλοι: ποιος κάνει τη δουλειά. Κάθε ρόλος είναι είτε ένας υπάρχων πράκτορας που επιλέγετε, είτε μια νέα πρόσληψη που δημιουργεί η ενορχήστρωση κατά την έγκριση.
  • Υπο-εισιτήρια: η εργασία, σπασμένη σε ένα DAG από εισιτήρια.
  • Έρευνα (προαιρετικά): μια φάση έρευνας που εκτελείται πρώτη και τροφοδοτεί τα υπόλοιπα.
  • Συζήτηση (προαιρετικά): ένας οριοθετημένος γύρος όπου κάθε ρόλος δημοσιεύει μια δομημένη θέση πριν ξεκινήσει η εργασία.
  • Σύνθεση: το τελικό βήμα που παράγει το παραδοτέο.
  • Προϋπολογισμός: ένα δηλωμένο ανώτατο όριο κόστους.

Δύο επιφάνειες δείχνουν την ίδια ενορχήστρωση.

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

Το Plan Studio είναι ο επεξεργαστής: ένας καμβάς DAG, ένας επιθεωρητής κόμβων, ένα συρτάρι αναθεώρησης και diff και η γραμμή έγκρισης που φέρει την εκτίμηση. Ανοίγει ως καρτέλα επεξεργαστή απευθείας από αυτή την κάρτα. Στην πλαϊνή στήλη δεν υπάρχει σκόπιμα στοιχείο «Σχέδια»· τα /plans και /plans/:kind/:id υπάρχουν ως απευθείας σύνδεσμοι για κοινοποίηση.

Η έγκριση είναι μόνο για τον χειριστή. Δεν υπάρχει εργαλείο MCP γι’ αυτήν: ένας πράκτορας μπορεί να προτείνει (propose_orchestration), να υποβάλει ένα σχέδιο (submit_plan) ή να δημιουργήσει ένα playbook (run_playbook), αλλά μόνο ένας άνθρωπος εγκρίνει. Οι αναθεωρήσεις που ξεκινά πράκτορας περιορίζονται επιπλέον από περίοδο αναμονής δύο λεπτών, ώστε ένας βρόχος επανασχεδιασμού να συνενώνεται αντί να κατακλύζει τη ροή σας.

Αυτό που μπορείτε να αλλάξετε πριν από την έγκριση είναι ό,τι εκθέτει ο επιθεωρητής κόμβων: να αλλάξετε τον τίτλο ή να ξαναγράψετε ένα υπο-εισιτήριο, να αλλάξετε ποιος ρόλος το κατέχει, να επανασυνδέσετε τις εξαρτήσεις του, να επεξεργαστείτε το σχήμα εξόδου του ή να διαγράψετε τον κόμβο εντελώς. Οι δομικοί κόμβοι (έρευνα, συζήτηση, σύνθεση) και οι κόμβοι που έχουν ήδη εκτελεστεί είναι μόνο για ανάγνωση. Δεν μπορείτε να δεσμεύσετε έναν ρόλο σε έναν συγκεκριμένο επώνυμο πράκτορα και δεν μπορείτε να επεξεργαστείτε τον προϋπολογισμό, από τον επεξεργαστή.

Δύο επεξεργαστές σε ένα σχέδιο επιλύονται με αισιόδοξη ταυτοχρονικότητα, όχι με συγχώνευση. Κάθε επεξεργασία φέρει το base_revision στο οποίο βασίστηκε· μια επεξεργασία που βασίζεται σε παρωχημένη αναθεώρηση απορρίπτεται με «the plan moved on» αντί να πατήσει σιωπηλά πάνω σε κάποιου άλλου. Η επαναφορά δεν είναι διαγραφή — προσθέτει την παλαιότερη πρόταση ως νέα αναθεώρηση, οπότε το χρονολόγιο αναθεωρήσεων μόνο μεγαλώνει.

Η εκτίμηση στη γραμμή έγκρισης χτίζεται από το πραγματικό ιστορικό ολοκληρωμένων εκτελέσεων κάθε ρόλου, ως εύρος ενδοτεταρτημορίου (p25–p75). Τα σύνολα κόστους αθροίζουν τους κόμβους που μπορούν να εκτιμηθούν· η διάρκεια είναι η κρίσιμη διαδρομή μέσα στο DAG και όχι το άθροισμα (οι παράλληλοι κλάδοι επικαλύπτονται).

Ένας κόμβος του οποίου ο ρόλος δεν έχει ιστορικό ολοκληρωμένων εκτελέσεων αναφέρει sampleSize: 0 και εύρη null. Αυτό εμφανίζεται ακριβώς έτσι — άγνωστο — ποτέ ως κατασκευασμένη σημειακή τιμή, γιατί μια εκτίμηση που δεν μπορείτε να εμπιστευτείτε είναι χειρότερη από καμία εκτίμηση. Όταν κάποιοι κόμβοι έχουν ιστορικό και κάποιοι όχι, το σύνολο επισημαίνεται ως μερικό. Η ακτίνα επίδρασης εμφανίζεται μόνο όταν ένας κόμβος δηλώνει αναφορές προέλευσης symbol ή file· ένας κόμβος χωρίς αυτές παραμένει «άγνωστος» αντί να συναχθεί από το κείμενο.

Μία έγκριση και μετά ντετερμινιστική εκτέλεση

Ενότητα με τίτλο «Μία έγκριση και μετά ντετερμινιστική εκτέλεση»

Αυτή είναι η βασική ιδέα: ο πράκτορας σχεδιάζει· μια ντετερμινιστική συνάρτηση εκτελεί. Όταν εγκρίνετε, το OrchestrationMaterializer, μια καθαρή συνάρτηση χωρίς LLM και χωρίς I/O, μετατρέπει την πρόταση σε μια πραγματική pipeline. Με την ίδια πρόταση και τους ίδιους επιλυμένους ρόλους, παράγει πάντα το ίδιο DAG. Αυτό έχει σημασία επειδή η παραγόμενη pipeline κληρονομεί όλα όσα κάνει ήδη δωρεάν ο μηχανισμός: αναστολή και συνέχιση μετά από επανεκκινήσεις, ανάκαμψη από κατάρρευση, συγκεντρωτικά κόστους και token ανά εκτέλεση και τη διεπαφή λεπτομερειών εκτέλεσης.

Η έγκριση δημιουργεί επίσης τον σκελετό που χρειάζεται η εργασία:

  • προσλαμβάνει όποιους ρόλους έχουν σημειωθεί ως νέοι (και καταγράφει τα αναγνωριστικά των πρακτόρων που προσλήφθηκαν, ώστε μια κατάρρευση στη μέση της έγκρισης να συνεχίζεται χωρίς διπλές προσλήψεις)
  • μια ομάδα που ομαδοποιεί τους ρόλους
  • ένα έργο στο οποίο καταχωρίζεται το γονικό εισιτήριο
  • το πρότυπο pipeline + εκτέλεση που τα κινεί όλα
proposed → approved → executing → synthesizing → completed
↘ ↘ failed
↘ ↘ cancelled
Κατάσταση Σημασία
proposed Το σχέδιο είναι έτοιμο και περιμένει τη μία εκ των προτέρων έγκρισή σας
approved Το εγκρίνατε· η υλοποίηση βρίσκεται σε εξέλιξη (προσλήψεις, ομάδα, έργο, pipeline)
executing Η παραγόμενη pipeline εκτελείται: υπο-εισιτήρια, συζήτηση, εργασία
synthesizing Τα υπο-εισιτήρια ολοκληρώθηκαν· το βήμα σύνθεσης παράγει το παραδοτέο
completed Έτοιμο: το γονικό εισιτήριο επισημαίνεται ως ολοκληρωμένο και το παραδοτέο αναρτάται στον κοινόχρηστο χώρο
failed Η υλοποίηση απέτυχε ή η εκτέλεση της παραγόμενης pipeline απέτυχε
cancelled Το ακυρώσατε

Ένας μονότονα αύξων αριθμός αναθεώρησης παρακολουθεί την πρόταση καθώς ο ενορχηστρωτής την αναθεωρεί όσο βρίσκεται ακόμη σε κατάσταση proposed· η εφαρμογή καταγράφει ποια αναθεώρηση εγκρίνατε. Το propose_orchestration απορρίπτει μια αναθεώρηση μόλις η κατάσταση δεν είναι πλέον proposed.

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

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

Μπορείτε να ακυρώσετε μια ενορχήστρωση οποιαδήποτε στιγμή· η ακύρωση τερματίζει την εργασία που βρίσκεται σε εξέλιξη.