ai-agents-for-beginners

Μηχανική Πλαισίου για Πράκτορες Τεχνητής Νοημοσύνης

Μηχανική Πλαισίου

(Κάντε κλικ στην εικόνα παραπάνω για να δείτε το βίντεο αυτού του μαθήματος)

Η κατανόηση της πολυπλοκότητας της εφαρμογής για την οποία κατασκευάζετε έναν πράκτορα AI είναι σημαντική για τη δημιουργία ενός αξιόπιστου πράκτορα. Χρειαζόμαστε να δημιουργήσουμε Πράκτορες AI που διαχειρίζονται αποτελεσματικά τις πληροφορίες για να ανταποκριθούν σε σύνθετες ανάγκες πέρα από τη μηχανική προτροπών.

Σε αυτό το μάθημα, θα δούμε τι είναι η μηχανική πλαισίου και τον ρόλο της στην κατασκευή πρακτόρων AI.

Εισαγωγή

Αυτό το μάθημα θα καλύψει:

Τι είναι η Μηχανική Πλαισίου και γιατί διαφέρει από τη μηχανική προτροπών.

Στρατηγικές για αποτελεσματική Μηχανική Πλαισίου, συμπεριλαμβανομένου πώς να γράφετε, επιλέγετε, συμπιέζετε και απομονώνετε πληροφορίες.

Συνηθισμένες Αποτυχίες Πλαισίου που μπορούν να εκτροχιάσουν τον πράκτορά σας και πώς να τις διορθώσετε.

Στόχοι Μάθησης

Αφού ολοκληρώσετε αυτό το μάθημα, θα κατανοείτε πώς να:

Ορίζετε τη μηχανική πλαισίου και να τη διαχωρίζετε από τη μηχανική προτροπών.

Εντοπίζετε τα βασικά στοιχεία του πλαισίου στις εφαρμογές Μεγάλων Μοντέλων Γλώσσας (LLM).

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

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

Τι είναι η Μηχανική Πλαισίου;

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

Μηχανική Προτροπών vs Μηχανική Πλαισίου

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

Τύποι Πλαισίου

Τύποι Πλαισίου

Είναι σημαντικό να θυμόμαστε ότι το πλαίσιο δεν είναι ένα μόνο πράγμα. Οι πληροφορίες που χρειάζεται ο Πράκτορας AI μπορεί να προέρχονται από ποικίλες διαφορετικές πηγές και είναι στο χέρι μας να διασφαλίσουμε ότι ο πράκτορας έχει πρόσβαση σε αυτές τις πηγές:

Οι τύποι πλαισίου που ένας πράκτορας AI ενδέχεται να χρειαστεί να διαχειριστεί περιλαμβάνουν:

Οδηγίες: Αυτά είναι σαν τους “κανόνες” του πράκτορα – προτροπές, μηνύματα συστήματος, παραδείγματα few-shot (που δείχνουν στο AI πώς να κάνει κάτι), και περιγραφές εργαλείων που μπορεί να χρησιμοποιήσει. Εδώ εστιάζει η συνύπαρξη της μηχανικής προτροπών με τη μηχανική πλαισίου.

Γνώση: Αυτό καλύπτει γεγονότα, πληροφορίες που ανακτώνται από βάσεις δεδομένων, ή μακροπρόθεσμες αναμνήσεις που έχει συγκεντρώσει ο πράκτορας. Περιλαμβάνει την ενσωμάτωση ενός συστήματος Ανάκτησης Ενισχυμένης Παραγωγής (RAG) αν ένας πράκτορας χρειάζεται πρόσβαση σε διαφορετικά καταστήματα γνώσης και βάσεις δεδομένων.

Εργαλεία: Αυτά είναι οι ορισμοί εξωτερικών λειτουργιών, API και MCP Servers που μπορεί να καλέσει ο πράκτορας, μαζί με την ανατροφοδότηση (αποτελέσματα) που λαμβάνει από τη χρήση τους.

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

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

Στρατηγικές για Αποτελεσματική Μηχανική Πλαισίου

Στρατηγικές Σχεδιασμού

Καλές Πρακτικές Μηχανικής Πλαισίου

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

  1. Ορίστε Σαφή Αποτελέσματα - Τα αποτελέσματα των εργασιών που θα ανατεθούν στους Πράκτορες AI θα πρέπει να ορίζονται με σαφήνεια. Απαντήστε στην ερώτηση - “Πώς θα μοιάζει ο κόσμος όταν ο Πράκτορας AI ολοκληρώσει την εργασία του;” Με άλλα λόγια, ποια αλλαγή, πληροφορία ή απάντηση θα πρέπει να έχει ο χρήστης μετά την αλληλεπίδραση με τον Πράκτορα AI.
  2. Χαρτογραφήστε το Πλαίσιο - Αφού έχετε ορίσει τα αποτελέσματα του Πράκτορα AI, πρέπει να απαντήσετε στην ερώτηση “Τι πληροφορίες χρειάζεται ο Πράκτορας AI για να ολοκληρώσει αυτή την εργασία;”. Με αυτόν τον τρόπο μπορείτε να αρχίσετε να χαρτογραφείτε που βρίσκονται αυτές οι πληροφορίες.
  3. Δημιουργήστε Σωληνώσεις Πλαισίου - Τώρα που γνωρίζετε που βρίσκονται οι πληροφορίες, πρέπει να απαντήσετε στην ερώτηση “Πώς θα πάρει ο Πράκτορας αυτές τις πληροφορίες;”. Αυτό μπορεί να γίνει με διάφορους τρόπους, συμπεριλαμβανομένου του RAG, της χρήσης MCP servers και άλλων εργαλείων.

Πρακτικές Στρατηγικές

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

Διαχείριση Πλαισίου

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

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

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

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

  4. Συστήματα Πολυ-πρακτόρων Η ανάπτυξη συστημάτων με πολλούς πράκτορες είναι μια μορφή μηχανικής πλαισίου, καθώς κάθε πράκτορας έχει το δικό του παράθυρο πλαισίου. Ο τρόπος με τον οποίο αυτό το πλαίσιο μοιράζεται και μεταβιβάζεται σε διαφορετικούς πράκτορες είναι κάτι που πρέπει να σχεδιαστεί κατά την κατασκευή αυτών των συστημάτων.

  5. Περιβάλλοντα Sandbox Αν ένας πράκτορας χρειάζεται να εκτελέσει κάποιον κώδικα ή να επεξεργαστεί μεγάλο όγκο πληροφοριών σε ένα έγγραφο, αυτό μπορεί να απαιτεί πολλά tokens για την επεξεργασία αποτελεσμάτων. Αντί να είναι όλα αυτά αποθηκευμένα στο παράθυρο πλαισίου, ο πράκτορας μπορεί να χρησιμοποιήσει ένα περιβάλλον sandbox που μπορεί να εκτελέσει αυτόν τον κώδικα και να διαβάσει μόνο τα αποτελέσματα και άλλες σχετικές πληροφορίες.

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

Έλεγχος Πλαισίου

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

Ο πράκτορας φόρτωσε υπερβολικό πλαίσιο, λάθος πλαίσιο, ή έχασε πλαίσιο που χρειαζόταν;

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

Στόχος δεν είναι να κρατήσουμε περισσότερο πλαίσιο. Είναι να αφήσουμε αρκετά στοιχεία ώστε ένας προγραμματιστής να μπορεί να καταλάβει ποια στρατηγική πλαισίου εφαρμόστηκε και αν άλλαξε την επόμενη κλήση μοντέλου με τον επιθυμητό τρόπο.

Παράδειγμα Μηχανικής Πλαισίου

Ας πούμε ότι θέλουμε ένας Πράκτορας AI να “Κλείσει ένα ταξίδι στο Παρίσι για μένα.”

• Ένας απλός πράκτορας που χρησιμοποιεί μόνο μηχανική προτροπών μπορεί απλώς να απαντήσει: “Εντάξει, πότε θα θέλατε να πάτε στο Παρίσι;”. Επεξεργάστηκε μόνο την άμεση ερώτησή σας τη στιγμή που την κάνατε.

• Ένας πράκτορας που χρησιμοποιεί τις στρατηγικές μηχανικής πλαισίου που καλύφθηκαν θα έκανε πολύ περισσότερα. Πριν καν απαντήσει, το σύστημα μπορεί:

  ◦ Να ελέγξει το ημερολόγιό σας για διαθέσιμες ημερομηνίες (ανακτώντας πραγματικά δεδομένα).

 ◦ Να ανακαλέσει προηγούμενες ταξιδιωτικές προτιμήσεις (από τη μακροπρόθεσμη μνήμη) όπως η προτιμώμενη αεροπορική εταιρεία, ο προϋπολογισμός ή αν προτιμάτε απευθείας πτήσεις.

 ◦ Να εντοπίσει διαθέσιμα εργαλεία για κράτηση πτήσεων και ξενοδοχείων.

Συνηθισμένες Αποτυχίες Πλαισίου

Δηλητηρίαση Πλαισίου

Τι είναι: Όταν μια ψευδαίσθηση (ψευδείς πληροφορίες που παράγονται από το LLM) ή ένα λάθος εισέρχεται στο πλαίσιο και αναφέρεται επανειλημμένα, προκαλώντας τον πράκτορα να επιδιώκει αδύνατους στόχους ή να αναπτύσσει ανοησίες στρατηγικές.

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

Παράδειγμα Κράτησης Ταξιδιού: Ο πράκτοράς σας δημιουργεί ψευδή απευθείας πτήση από ένα μικρό τοπικό αεροδρόμιο σε μια μεγάλη διεθνή πόλη που στην πραγματικότητα δεν προσφέρει διεθνείς πτήσεις. Αυτή η ανύπαρκτη λεπτομέρεια πτήσης αποθηκεύεται στο πλαίσιο. Αργότερα, όταν ζητάτε από τον πράκτορα να κάνει κράτηση, προσπαθεί επανειλημμένα να βρει εισιτήρια για αυτήν την αδύνατη διαδρομή, οδηγώντας σε επανειλημμένα λάθη.

Λύση: Εφαρμόστε ένα βήμα που επικυρώνει την ύπαρξη πτήσεων και διαδρομών με ένα πραγματικού χρόνου API πριν προσθέσετε τη λεπτομέρεια της πτήσης στο πλαίσιο εργασίας του πράκτορα. Αν η επικύρωση αποτύχει, οι εσφαλμένες πληροφορίες “μπλοκάρονται” και δεν χρησιμοποιούνται περαιτέρω.

Απόσπαση Πλαισίου

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

Τι να κάνετε: Χρησιμοποιήστε συνοψίση πλαισίου. Περιοδικά συμπιέστε τις συσσωρευμένες πληροφορίες σε συντομότερες περιλήψεις, διατηρώντας σημαντικές λεπτομέρειες ενώ αφαιρείτε την επαναλαμβανόμενη ιστορία. Αυτό βοηθά να “επαναρυθμιστεί” η εστίαση.

Παράδειγμα Κράτησης Ταξιδιού: Έχετε συζητήσει για πολύ καιρό διάφορους προορισμούς ονείρου, συμπεριλαμβανομένης μιας λεπτομερούς αφήγησης του ταξιδιού με σακίδιο από δύο χρόνια πριν. Όταν τελικά ζητάτε “βρείτε μου μια φτηνή πτήση για τον επόμενο μήνα”, ο πράκτορας αποσπάται από τις παλιές, άσχετες λεπτομέρειες και συνεχίζει να ρωτά για τον εξοπλισμό σακιδίου ή προηγούμενα δρομολόγια, παραβλέποντας την τρέχουσα αίτηση.

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

Σύγχυση Πλαισίου

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

Τι να κάνετε: Εφαρμόστε διαχείριση φορτίου εργαλείων χρησιμοποιώντας τεχνικές RAG. Αποθηκεύστε περιγραφές εργαλείων σε βάση δεδομένων διανυσμάτων και επιλέξτε μόνο τα πιο σχετικά εργαλεία για κάθε συγκεκριμένη εργασία. Έρευνες δείχνουν ότι το όριο είναι λιγότερα από 30 εργαλεία.

Παράδειγμα Κράτησης Ταξιδιού: Ο πράκτοράς σας έχει πρόσβαση σε δεκάδες εργαλεία: book_flight, book_hotel, rent_car, find_tours, currency_converter, weather_forecast, restaurant_reservations, κλπ. Ρωτάτε, “Ποιος είναι ο καλύτερος τρόπος να μετακινηθώ στο Παρίσι;” Λόγω του μεγάλου πλήθους εργαλείων, ο πράκτορας μπερδεύεται και προσπαθεί να καλέσει το book_flight μέσα στο Παρίσι, ή να ενοικιάσει αυτοκίνητο παρά το ότι προτιμάτε τα δημόσια μέσα μεταφοράς, επειδή οι περιγραφές των εργαλείων μπορεί να επικαλύπτονται ή απλώς δεν μπορεί να διακρίνει ποιο είναι το καλύτερο.

Λύση: Χρησιμοποιήστε RAG πάνω σε περιγραφές εργαλείων. Όταν ρωτάτε για τη μετακίνηση στο Παρίσι, το σύστημα ανακτά δυναμικά μόνο τα πιο σχετικά εργαλεία όπως rent_car ή public_transport_info βασισμένα στο ερώτημά σας, παρουσιάζοντας ένα εστιασμένο “φορτίο” εργαλείων στο LLM.

Σύγκρουση Πλαισίου

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

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

Παράδειγμα Κράτησης Ταξιδιού: Αρχικά λέτε στον πράκτορά σας, “Θέλω να πετάξω στην οικονομική θέση.” Αργότερα στη συζήτηση, αλλάζετε γνώμη και λέτε, “Στην πραγματικότητα, για αυτό το ταξίδι, ας πάμε στην επιχειρηματική θέση.” Εάν και οι δύο οδηγίες παραμείνουν στο πλαίσιο, ο πράκτορας μπορεί να λάβει αντικρουόμενα αποτελέσματα αναζήτησης ή να μπερδευτεί σχετικά με το ποια προτίμηση να προτεραιοποιήσει.

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

Έχετε Περισσότερες Ερωτήσεις για τη Μηχανική του Πλαισίου;

Εγγραφείτε στο Microsoft Foundry Discord για να συναντήσετε άλλους μαθητές, να παρακολουθήσετε ώρες γραφείου και να απαντηθούν οι ερωτήσεις σας για τους Πράκτορες Τεχνητής Νοημοσύνης.

Προηγούμενο Μάθημα

Πρακτορικά Πρωτόκολλα

Επόμενο Μάθημα

Μνήμη για Πράκτορες Τεχνητής Νοημοσύνης


Αποποίηση ευθυνών: Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη Co-op Translator. Ενώ επιδιώκουμε την ακρίβεια, παρακαλούμε να έχετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη μητρική του γλώσσα πρέπει να θεωρείται η αυθεντική πηγή. Για κρίσιμες πληροφορίες, συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν φέρουμε ευθύνη για τυχόν παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.