@-αναφορά πρακτόρων
Αυτός ο οδηγός δείχνει πώς να κάνετε @-αναφορά σε πράκτορες και συνεργάτες μέσα σε έναν χώρο.
Κάντε @-αναφορά σε έναν πράκτορα
Ενότητα με τίτλο «Κάντε @-αναφορά σε έναν πράκτορα»Πληκτρολογήστε @ στο πεδίο σύνταξης και επιλέξτε έναν πράκτορα από την
αυτόματη συμπλήρωση, ή πληκτρολογήστε το όνομα μόνοι σας:
@alice fix the login bugΟ πράκτορας που αναφέρατε προστίθεται στον χώρο ως συμμετέχων, αν δεν είναι ήδη, και αποστέλλεται με το πλαίσιο και τη λειτουργία του χώρου. Οι συμμετέχοντες που δεν αναφέρονται βλέπουν το μήνυμα αλλά δεν αποστέλλονται.
Αν στείλετε ένα μήνυμα χωρίς αναφορά σε πράκτορα, το Control Center επιλέγει μόνο του ποιος θα απαντήσει: τον πράκτορα που μίλησε τελευταίος στη συνομιλία, αλλιώς τον ιδιοκτήτη της συνομιλίας αν υπάρχει, αλλιώς τον πρώτο πράκτορα ανώτατου επιπέδου ανάμεσα στους συμμετέχοντες του χώρου. Σε έναν χώρο με έναν μόνο πράκτορα, αυτός είναι πάντα ο μοναδικός πράκτορας.
Κατανοήστε πώς αντιστοιχίζεται ένα όνομα
Ενότητα με τίτλο «Κατανοήστε πώς αντιστοιχίζεται ένα όνομα»Ένα token αναφοράς αντιστοιχίζεται χωρίς διάκριση πεζών-κεφαλαίων, με
ακριβές όνομα ή πρόθεμα. Έτσι, το @arch φτάνει σε έναν πράκτορα που
ονομάζεται architect και το @Alice φτάνει στο alice.
Δύο συνέπειες που αξίζει να τις προβλέψετε:
- Ένα σύντομο token δεν είναι σφάλμα. Αν δύο πράκτορες μοιράζονται ένα πρόθεμα, κερδίζει ο πρώτος που βρίσκεται και το ποιος είναι αυτός εξαρτάται από τη σειρά — όχι από κάποιον κανόνα επίλυσης ισοπαλίας. Χρησιμοποιείτε το πλήρες όνομα όποτε τα ονόματα επικαλύπτονται.
- Μόνο γράμματα, ψηφία και κάτω παύλες αποτελούν μέρος ενός token. Ο
αναλυτής αντιστοιχίζει το
@(\w+), οπότε το@code-reviewerδιαβάζεται ως το tokencodeκαι το@my agentωςmy. Ένας πράκτορας του οποίου το όνομα περιέχει παύλα, τελεία ή διάστημα δεν μπορεί να αναφερθεί αξιόπιστα — ούτε μέσω της αυτόματης συμπλήρωσης, η οποία εισάγει το όνομα ως απλό κείμενο. Ονομάζετε τους πράκτορες με μία λέξη ή με κάτω παύλες.
Οι αναφορές αφαιρούνται από το κείμενο προτού αυτό φτάσει στον πράκτορα. Ένα
μήνυμα που αποτελείται μόνο από αναφορές (@alice) δεν αποστέλλει επομένως
τίποτα — δώστε του κάτι να κάνει.
Κάντε αναφορά σε πολλούς πράκτορες ταυτόχρονα
Ενότητα με τίτλο «Κάντε αναφορά σε πολλούς πράκτορες ταυτόχρονα»@alice refactor the auth module. @bob write tests for it.Και οι δύο πράκτορες αποστέλλονται παράλληλα στην ίδια συνομιλία και οι δύο λαμβάνουν ολόκληρο το μήνυμα.
Μοιράζονται επίσης τα worktree αυτού του χώρου. Τα worktree των
αποθετηρίων προμηθεύονται ανά χώρο, όχι ανά πράκτορα· κάθε πράκτορας παίρνει τον
δικό του κατάλογο εργασίας επικάλυψης για το AGENTS.md, τις δεξιότητες και τη
διαμόρφωσή του, με τα κοινόχρηστα αποθετήρια συνδεδεμένα με ανάγνωση-εγγραφή.
Έτσι, δύο πράκτορες που αναφέρονται μαζί μπορούν να δουν — και να συγκρουστούν
με — τις αλλαγές ο ένας του άλλου.
Κάντε αναφορά σε έναν συνεργάτη
Ενότητα με τίτλο «Κάντε αναφορά σε έναν συνεργάτη»Κάθε @token που δεν αντιστοιχίζεται με πράκτορα δοκιμάζεται στα ανθρώπινα μέλη
του χώρου εργασίας, με βάση το handle, με τον ίδιο κανόνα ακριβούς ονόματος ή
προθέματος χωρίς διάκριση πεζών-κεφαλαίων.
Μια αναφορά ανθρώπου που επιλύεται δεν αποστέλλει τίποτα. Ταξιδεύει στα μεταδεδομένα του μηνύματος μόνο και μόνο για να μπορεί ο δρομολογητής ειδοποιήσεων να ειδοποιήσει αυτό το άτομο.
Τα ονόματα πρακτόρων δοκιμάζονται πάντα πρώτα και ένα token που το διεκδικεί ένας
πράκτορας δεν προσφέρεται ποτέ στη λίστα μελών — ένα @word μπορεί να επιλυθεί
μόνο σε ένα υποκείμενο.
Τι λαμβάνει ο πράκτορας
Ενότητα με τίτλο «Τι λαμβάνει ο πράκτορας»Ένας πράκτορας που αποστέλλεται λαμβάνει ένα μπλοκ «Summons» στην προτροπή του, το οποίο κατονομάζει ποιος τον κάλεσε και παραθέτει τον κατάλογο του χώρου — τους άλλους πράκτορες (με σήμανση ανώτατου επιπέδου ή υφιστάμενου) και τα ανθρώπινα μέλη — ώστε να ξέρει σε ποιον μπορεί να παραδώσει. Το μπλοκ τού λέει επίσης ότι η αναφορά ενός άλλου πράκτορα στην απάντησή του ξυπνά αυτόν τον πράκτορα και ότι η αναφορά του εαυτού του αγνοείται.
Όταν ένας πράκτορας αναφέρει έναν πράκτορα
Ενότητα με τίτλο «Όταν ένας πράκτορας αναφέρει έναν πράκτορα»Ένας πράκτορας μπορεί να παραδώσει στην απάντησή του. Όταν μια στροφή ολοκληρώνεται καθαρά, οι αναφορές στο κείμενό της επιλύονται, αυτοί οι πράκτορες προστίθενται στον χώρο και αποστέλλονται στην ίδια συνομιλία, με τη στροφή που τους αναφέρει ως προτροπή τους. Μια στροφή που απέτυχε ή διακόπηκε δεν ξυπνά κανέναν — σταμάτησε στη μέση της σκέψης.
Οι κανόνες είναι σκόπιμα αυστηρότεροι από εκείνους του πεδίου σύνταξης, γιατί κανείς δεν παρακολουθεί για να διορθώσει μια λανθασμένη εικασία:
- Μόνο ακριβή ονόματα. Χωρίς αντιστοίχιση προθέματος. Το
@archφτάνει στοarchitectόταν το πληκτρολογεί άνθρωπος· από πράκτορα δεν φτάνει σε κανέναν. Ένα όνομα που ταιριάζει με δύο πράκτορες επίσης δεν φτάνει σε κανέναν. - Ο κώδικας δεν είναι πεζό κείμενο. Οι αναφορές μέσα σε περιφραγμένα μπλοκ ή
σε
`backticks`αγνοούνται, οπότε η παράθεση μιας σημείωσης@Overrideή ενόςpip install foo@1.2είναι ασφαλής. Ένας φράκτης χωρίς τερματισμό αδειάζει ό,τι ακολουθεί. - Ένα
@κολλημένο στο προηγούμενο token δεν είναι αναφορά — ταsam@host.com,pkg/@scopeκαιnode@20δεν επιλύονται σε κανέναν. - Οι παύλες διατηρούνται, οπότε το
@code-reviewerεπιλύεται ως εαυτός και όχι ως το tokencode. - Το πολύ τρεις πράκτορες ανά στροφή. Ένας πράκτορας που απαριθμεί έξι συνεργάτες σε μια σύνοψη τους απαριθμεί, δεν τους καλεί.
Μια αλυσίδα αφύπνισης περιορίζεται όπως ακριβώς και η ανάθεση: βάθος 3, και
ένας πράκτορας που βρίσκεται ήδη στην αλυσίδα δεν μπορεί να ξυπνήσει ξανά από
αυτήν (χωρίς A → B → A). Ένα διατεταγμένο ζεύγος υπόκειται επίσης σε όριο
ρυθμού μεταξύ αλυσίδων. Μια αφύπνιση που απορρίπτεται δημοσιεύει ένα μήνυμα
συστήματος στη συνομιλία που λέει ποια αναφορά δεν παραδόθηκε και γιατί — μια
ανεπίλυτη ονομασία δεν το κάνει, γιατί αλλιώς κάθε @ σε μια πρόταση θα
αφηγούνταν τον εαυτό του.
Για μια παράδοση που δεν πρέπει να εξαρτάται από πεζό κείμενο — μια ανταλλαγή
αιτήματος/απάντησης ή την προσέγγιση ενός πράκτορα έξω από τον χώρο —
χρησιμοποιήστε αντ’ αυτού τα εργαλεία send_to_agent, ask_agent και
delegate_task.