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

Το μοντέλο πρακτόρων

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

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

Ένας πράκτορας είναι επίσης ένας φάκελος. Ο ορισμός του βρίσκεται στο agents/<slug>/AGENTS.md κάτω από τον κατάλογο δεδομένων του χώρου εργασίας, με τις δεξιότητες που κατέχει να συνδέονται συμβολικά στο agents/<slug>/.agents/skills. Η εγγραφή στη βάση δεδομένων και το αρχείο γράφονται μαζί. Ο αρχικός εφοδιασμός είναι ασφαλής για επαναλήψεις: αν η εγγραφή του πράκτορα υπάρχει ήδη, τα αρχεία στον δίσκο και οι σύνδεσμοι δεξιοτήτων ξαναγράφονται ούτως ή άλλως. Αυτό που τον καλεί στην παραγωγή είναι η δημιουργία χώρου εργασίας, όχι κάθε εκκίνηση του διακομιστή.

Χαρακτηριστικό Τι κάνει
name Σύντομο αναγνωριστικό σε μορφή slug (architect, qa). Επίσης αυτό στο οποίο αντιστοιχίζονται τα @mentions
title Τίτλος εργασίας αναγνώσιμος από άνθρωπο
persona Προσωπικότητα και οδηγίες συμπεριφοράς σε ελεύθερο κείμενο, που εισάγονται ως ενότητα της προτροπής
systemPrompt Προαιρετικές πρόσθετες οδηγίες, που εισάγονται ως ενότητα «Οδηγίες πράκτορα» — δεν αντικαθιστούν το υπόλοιπο της συναρμολογημένης προτροπής
skills Σύνολο ονομάτων δεξιοτήτων χωρίς διάκριση πεζών-κεφαλαίων, που αντικατοπτρίζεται ως σύνδεσμοι δεξιοτήτων στον δίσκο
adapterId Σε ποιον εκτελεστή αποστέλλεται ο πράκτορας. Η τιμή null καταλήγει στον ενσωματωμένο βρόχο
modelId Ποιο μοντέλο μέσα σε αυτόν τον προσαρμογέα
effort Επίπεδο συλλογισμού, από το δικό του λεξιλόγιο του επιλεγμένου μοντέλου
contextSize Παράκαμψη του παραθύρου πλαισίου
silenceTimeoutMinutes Παράκαμψη ανά πράκτορα (1–240) για τον φύλακα σιωπής
reportsTo Αναγνωριστικό γονικού πράκτορα — η αλυσίδα αναφοράς που σχεδιάζει το οργανόγραμμα

Όλα αυτά τα επεξεργάζεστε στις Ρυθμίσεις → Χώρος εργασίας → Πράκτορες. Το Νέος πράκτορας δημιουργεί έναν ανώνυμο πράκτορα που στη συνέχεια συμπληρώνετε.

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

  • Τα ονόματα παρατίθενται στη συναρμολογημένη προτροπή κάτω από επικεφαλίδα «Δεξιότητες». Αυτό είναι το μόνο που κάνει από μόνο του το σύνολο της οντότητας — δεν υπάρχει βιβλιοθήκη προτροπών ανά δεξιότητα που να βασίζεται σε αυτό.
  • Ο κατάλογος κάθε ονομασμένης δεξιότητας (skills/<slug>/SKILL.md στον χώρο εργασίας) συνδέεται στον φάκελο του ίδιου του πράκτορα. Στον ενσωματωμένο μηχανισμό, το frontmatter των συνδεδεμένων δεξιοτήτων φορτώνεται αυτόματα στην προτροπή συστήματος και ο πράκτορας διαβάζει ένα σώμα κατά απαίτηση· πληκτρολογώντας /skill:<name> σε μια συνομιλία φορτώνεται αυτό το σώμα ως οδηγία για τη συγκεκριμένη στροφή.

Οι δεξιότητες που αντλούνται από έξω περνούν, ανάμεσα στη λήψη και την εγγραφή, από σάρωση της αλυσίδας εφοδιασμού που απορρίπτει όταν δεν είναι βέβαιη — κανένα περιεχόμενο δεξιότητας δεν φτάνει στον δίσκο ή σε προτροπή χωρίς ετυμηγορία. Το «έξω» είναι αποθετήρια GitHub που δηλώνετε τα ίδια ως πηγές δεξιοτήτων: δεν υπάρχει επιμελημένο κατάστημα, οπότε τα μεταδεδομένα του ίδιου του αποθετηρίου (η περιγραφή του, τα αστέρια του, το όνομα της δεξιότητας) είναι αναξιόπιστα δεδομένα προβολής και η ετυμηγορία της σάρωσης είναι το μόνο σήμα ασφάλειας. Μια εγκατάσταση κατεβάζει ολόκληρο τον κατάλογο της δεξιότητας, τον καρφιτσώνει στο commit από το οποίο προήλθε μέσα στο skills-lock.json και μια μεταγενέστερη ενημέρωση ξαναπερνά από την πύλη πριν αντικαταστήσει οτιδήποτε. Ο οδηγός βρίσκεται στο εγκατάσταση και διαχείριση δεξιοτήτων.

Ένα αποθετήριο μπορεί να φέρει δικές του δεξιότητες, σε οποιαδήποτε από τις συμβατικές θέσεις (.agents/skills/, .claude/skills/, .opencode/skills/). Ένας χώρος κάνει checkout σε κάθε συνδεδεμένο αποθετήριο δίπλα-δίπλα κάτω από το repos/<name>/, αλλά ένας πράκτορας εργάζεται σε ένα αποθετήριο τη φορά — οπότε φέρει μόνο τις δεξιότητες εκείνου του αποθετηρίου, και αυτές αλλάζουν όταν μετακινείται.

Ποιο αποθετήριο είναι ενεργό συνάγεται από τα αρχεία που αγγίζει ο πράκτορας: γράφοντας ένα αρχείο κάτω από το repos/<name>/ αυτό γίνεται το ενεργό αποθετήριο, ενώ η απλή ανάγνωση από άλλα αποθετήρια όχι, οπότε το κυνήγι ενός συμβόλου σε μια γειτονική υπηρεσία δεν αλλάζει ποτέ το σύνολο εν μέσω μιας εργασίας. Σε έναν χώρο με ένα μόνο αποθετήριο, η απάντηση είναι γνωστή πριν από την πρώτη στροφή.

Ο περιορισμός της εμβέλειας είναι απόφαση προϋπολογισμού πλαισίου. Ο κατάλογος δεξιοτήτων βρίσκεται στην προτροπή σε κάθε στροφή, ενώ τα σώματα όχι, οπότε η παράθεση των δεξιοτήτων όλων των αποθετηρίων ταυτόχρονα κοστίζει tokens συνεχώς — και μια δεξιότητα testing από μια υπηρεσία παραπλανά ενεργά όταν η δουλειά γίνεται σε άλλη. Η ίδια λογική εξηγεί γιατί ο κατάλογος ενός πράκτορα περιέχει ένα αποθετήριο, ενώ το πεδίο σύνταξης μηνυμάτων δεν περιορίζεται έτσι: το να ονομάσετε εσείς μια δεξιότητα είναι μία ρητή ενέργεια, οπότε το /skill:<repo>:<name> φτάνει σε οποιοδήποτε αποθετήριο του χώρου.

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

Ένας πράκτορας δεν φέρει δικές του σημαίες δικαιωμάτων. Το αν μπορεί να δημιουργήσει commit, να κάνει push, να ανοίξει pull request, να γράψει σε εξωτερικό tracker ή να φτάσει στο δίκτυο το αποφασίζουν οι περιορισμοί ενεργειών — αποδοχή, ερώτηση πρώτα ή απόρριψη, σε πεδίο εφαρμογής χώρου εργασίας, πράκτορα ή χώρου — και οι ίδιοι κανόνες ισχύουν όποιος προσαρμογέας κι αν τον εκτελεί.

Ό,τι παραδίδεται σε μια εκτέλεση δεν αλλάζει με αυτούς τους κανόνες. Μια εκτέλεση σε worktree του GitHub παίρνει πάντα token του GitHub μόνο για ανάγνωση, και για ένα push γίνεται ερώτηση τη στιγμή που συμβαίνει: η διαμόρφωση git του πράκτορα στέλνει κάθε push προς το GitHub μέσω του Control Center, το οποίο εφαρμόζει τον κανόνα Push σε απομακρυσμένο πριν το προωθήσει.

Δείτε το Sandbox και ασφάλεια για το πώς λειτουργεί αυτό, συμπεριλαμβανομένου του τι επιβάλλεται και τι όχι στο επίπεδο του συστήματος αρχείων.

Ο προσαρμογέας καθορίζει τι μπορεί να επιβληθεί

Ενότητα με τίτλο «Ο προσαρμογέας καθορίζει τι μπορεί να επιβληθεί»

Το πεδίο με τις περισσότερες συνέπειες σε έναν πράκτορα είναι ο προσαρμογέας του, γιατί το μέσο μεταφοράς του προσαρμογέα καθορίζει πόση από την πολιτική του Control Center είναι πραγματικά δυνατό να επιβληθεί.

Μέσο μεταφοράς Προσαρμογείς Τι επιβάλλει το Control Center
Ενσωματωμένος μηχανισμός Control Center (ενσωματωμένο) Τα πάντα. Η επιφάνεια εργαλείων χτίζεται από τη λειτουργία, οπότε ένα μη επιτρεπτό εργαλείο είναι αόρατο και όχι απλώς απορριπτέο· κάθε κλήση περνά από την πύλη έγκρισης και τους περιορισμούς ενεργειών· το συμβόλαιο ολοκλήρωσης μπορεί να παρακινήσει και στη συνέχεια να αποτύχει μια εκτέλεση που τελειώνει χωρίς το παραδοτέο της
Claude CLI Claude Code Τα εργαλεία mcp__* που του σερβίρονται, καθώς και οι εντολές Bash του, τις οποίες ένα hook στέλνει στην πολιτική ενεργειών πριν εκτελεστούν. Τα δικά του εργαλεία ανάγνωσης, εγγραφής και επεξεργασίας ζουν στη διεργασία του και εκτελούνται αθέατα — και εκκινείται με --dangerously-skip-permissions, γιατί το μη διαδραστικό claude -p θα μπλόκαρε διαφορετικά για πάντα στη δική του προτροπή

Συγκεκριμένα, μόνο ο ενσωματωμένος μηχανισμός υποστηρίζει υποπράκτορες, καθοδήγηση στη μέση της εκτέλεσης, παύση και συνέχιση (άρα και ανάληψη ελέγχου) και δομική επιβολή λειτουργίας. Το Claude Code δεν έχει τίποτα από αυτά.

Ένας πράκτορας χωρίς προσαρμογέα καταλήγει στο Control Center (ενσωματωμένο) — τον βρόχο μέσα στον διακομιστή, οπότε δεν υπάρχει CLI προς εγκατάσταση — και το αρχείο καταγραφής εκτέλεσής του γράφει cc-harness. Κάθε πράκτορας που τροφοδοτείται αρχικά δημιουργείται χωρίς προσαρμογέα ή μοντέλο, οπότε και οι πέντε πράκτορες ενός νέου χώρου εργασίας εκτελούνται εκεί, στο προεπιλεγμένο μοντέλο της Anthropic, μέχρι να ορίσετε προσαρμογέα και μοντέλο για κάθε πράκτορα. Η επιλογή «προεπιλεγμένος προσαρμογέας» της εισαγωγής είναι προτίμηση της πλευράς του πελάτη που ο διακομιστής δεν διαβάζει ποτέ και δεν εφαρμόζεται αναδρομικά σε πράκτορες που έχουν ήδη δημιουργηθεί.

  • Τροφοδοτούνται μαζί με τον χώρο εργασίας. Κάθε χώρος εργασίας — όχι μόνο ο πρώτος — αποκτά έναν CEO και τέσσερις ειδικούς (qa, architect, engineer, librarian) που αναφέρονται σε αυτόν, με τρόπο ασφαλή για επαναλήψεις στο παρασκήνιο όταν δημιουργείται ο χώρος εργασίας. Δείτε το Χώροι εργασίας και απομόνωση.
  • Προστίθενται με το χέρι στις Ρυθμίσεις → Χώρος εργασίας → Πράκτορες. Το να ζητήσετε από έναν πράκτορα να προσλάβει έναν συνάδελφο δεν δημιουργεί εγγραφή· χρησιμοποιήστε αυτή την οθόνη.

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

Κατάσταση Σημασία
neverRun Δεν υπάρχει αρχείο καταγραφής εκτέλεσης
running Τουλάχιστον μία εκτέλεση βρίσκεται αυτή τη στιγμή σε εξέλιξη
failed Η πιο πρόσφατη εκτέλεση παρουσίασε σφάλμα ή η ζωτικότητά της είναι αποτυχημένη ή νεκρή
blocked Η ζωτικότητα της πιο πρόσφατης εκτέλεσης είναι μπλοκαρισμένη, κολλημένη ή σε βρόχο
idle Όλα τα υπόλοιπα — ο πράκτορας έχει εκτελεστεί στο παρελθόν και δεν έχει τίποτα σε εξέλιξη

Δύο ακόμη καταστάσεις, οι queued και succeeded, υπάρχουν για μεμονωμένες εκτελέσεις στο δέντρο εκτελέσεων της συνομιλίας· ο κατάλογος δεν τις παράγει ποτέ, γιατί το ότι μια ολοκληρωμένη εκτέλεση είναι πράσινη είναι γεγονός για την εκτέλεση, όχι για τον πράκτορα.

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