ai-agents-for-beginners

Δημιουργία Πρακτόρων Χρήσης Υπολογιστή (CUA)

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

Το μάθημα συνδυάζει το Browser-Use για πλοήγηση με AI, το Playwright και το Πρωτόκολλο Chrome DevTools (CDP) για έλεγχο περιηγητή, το Azure OpenAI για λογική με υποστήριξη όρασης και το Pydantic για δομημένη εξαγωγή.

Εισαγωγή

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

Μαθησιακοί Στόχοι

Μετά την ολοκλήρωση αυτού του μαθήματος, θα γνωρίζετε πώς να:

Δείγμα Κώδικα

Αυτό το μάθημα περιλαμβάνει ένα notebook tutorial:

Απαιτήσεις

Ρύθμιση

Εγκαταστήστε τα πακέτα που χρησιμοποιούνται στο notebook:

pip install browser_use playwright python-dotenv
playwright install chromium

Διαμορφώστε τις μεταβλητές περιβάλλοντος Azure OpenAI που χρησιμοποιούνται από το notebook:

AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=...
# Προαιρετικό: προεπιλογή στην πιο πρόσφατη έκδοση API όταν παραλείπεται
AZURE_OPENAI_API_VERSION=...

Επισκόπηση Αρχιτεκτονικής

Το notebook παρουσιάζει μια υβριδική ροή εργασίας αυτοματοποίησης περιηγητή:

  1. Το Chrome ξεκινά με ενεργοποιημένο CDP έτσι ώστε και το Playwright και το Browser-Use να μοιράζονται την ίδια συνεδρία περιηγητή.
  2. Ένας πράκτορας Browser-Use χειρίζεται ανοιχτές εργασίες πλοήγησης όπως το άνοιγμα του Airbnb, την απόρριψη αναδυόμενων παραθύρων και την αναζήτηση για Στοκχόλμη.
  3. Η ενεργή σελίδα εξετάζεται με ένα δομημένο σχήμα Pydantic για εξαγωγή τίτλων καταχωρίσεων, τιμών ανά βράδυ, αξιολογήσεων και διευθύνσεων URL.
  4. Η λογική Python συγκρίνει τις εξαγόμενες καταχωρίσεις και επισημαίνει το φθηνότερο αποτέλεσμα.

Αυτή η προσέγγιση διατηρεί τη ευέλικτη λογική βασισμένη στην όραση που διαχειρίζεται καλά το Browser-Use, ενώ παράλληλα σας δίνει αυστηρότερο έλεγχο περιηγητή όταν χρειάζεται.

Κύρια Μαθήματα και Καλές Πρακτικές

Πότε να Χρησιμοποιήσετε Πράκτορα έναντι Ηθοποιού

Σενάριο Χρήση Πράκτορα Χρήση Ηθοποιού
Δυναμικά layouts Ναι, το AI μπορεί να προσαρμοστεί σε αλλαγές σελίδας Όχι, σπάει από εύθραυστους επιλογείς
Γνωστή δομή Όχι, ένας πράκτορας είναι πιο αργός από τον άμεσο έλεγχο Ναι, γρήγορος και ακριβής
Εύρεση στοιχείων Ναι, η φυσική γλώσσα λειτουργεί καλά Όχι, απαιτούνται ακριβείς επιλογείς
Έλεγχος χρονοδιάγραμμα Όχι, λιγότερο προβλέψιμο Ναι, πλήρης έλεγχος αναμονών και επαναλήψεων
Πολύπλοκες ροές εργασίας Ναι, διαχειρίζεται απρόβλεπτες καταστάσεις UI Όχι, απαιτεί ρητή διακλάδωση

Καλές Πρακτικές Browser-Use

  1. Ξεκινήστε με πράκτορα για εξερεύνηση και δυναμική πλοήγηση.
  2. Μεταβείτε σε άμεσο έλεγχο σελίδας όταν η αλληλεπίδραση γίνεται προβλέψιμη.
  3. Χρησιμοποιήστε δομημένα μοντέλα εξόδου ώστε τα εξαγόμενα δεδομένα να είναι επικυρωμένα και τύπου ασφαλή.
  4. Προσθέστε καθυστερήσεις στρατηγικά μετά από ενέργειες που προκαλούν ορατές αλλαγές UI.
  5. Καταγράψτε στιγμιότυπα οθόνης κατά τη διάρκεια της επανάληψης ώστε τα σφάλματα να είναι ευκολότερα στην αποσφαλμάτωση.
  6. Περιμένετε ότι οι ιστότοποι θα αλλάζουν και σχεδιάστε στρατηγικές εναλλακτικής για αναδυόμενα παράθυρα και αλλαγές διάταξης.
  7. Αναμείξτε πρότυπα πράκτορα και ηθοποιού για να πάρετε και ευελιξία και ακρίβεια.

Ασφαλιστικά Μέτρα για Πράκτορες Περιηγητή

Οι πράκτορες περιηγητή λειτουργούν σε ζωντανές ιστοσελίδες, οπότε χρειάζονται πιο αυστηρά όρια από ένα σκριπτ που καλεί μόνο ένα γνωστό API. Πριν προχωρήσετε από μια επίδειξη notebook σε πραγματική ροή εργασίας, ορίστε τους ελέγχους για το τι ο πράκτορας μπορεί να δει, να κάνει κλικ και να υποβάλει.

  1. Περιορίστε το περιβάλλον περιήγησης. Εκτελέστε τον πράκτορα σε αφιερωμένο προφίλ περιηγητή ή sandbox, και περιορίστε το μόνο στους τομείς που απαιτούνται για την εργασία.
  2. Διαχωρίστε την παρατήρηση από τη δράση. Αφήστε τον πράκτορα να αναζητήσει, να διαβάσει και να εξάγει δεδομένα πρώτα· απαιτήστε ρητή έγκριση πριν υποβάλλει φόρμες, στείλει μηνύματα, κάνει κρατήσεις, πραγματοποιήσει αγορές, διαγράψει αρχεία ή αλλάξει ρυθμίσεις λογαριασμού.
  3. Μην βάζετε μυστικά σε prompts και ίχνη. Μην τοποθετείτε κωδικούς πρόσβασης, στοιχεία πληρωμής, cookies συνεδρίας ή ακατέργαστα προσωπικά δεδομένα στο πλαίσιο του μοντέλου. Αφήστε τον χρήστη να αναλάβει την ταυτοποίηση και να διαγράψει ευαίσθητα πεδία από τα logs.
  4. Θεωρήστε το περιεχόμενο της σελίδας ως μη αξιόπιστη είσοδο. Μια ιστοσελίδα μπορεί να περιέχει οδηγίες που απευθύνονται στον πράκτορα, όχι στον χρήστη. Ο πράκτορας πρέπει να αγνοεί το κείμενο που ζητά να αλλάξει τον στόχο, να αποκαλύψει δεδομένα, να απενεργοποιήσει τα μέτρα ασφαλείας ή να επισκεφτεί άσχετους ιστότοπους.
  5. Χρησιμοποιήστε ντετερμινιστικούς ελέγχους γύρω από ριψοκίνδυνα βήματα. Επαληθεύστε το τρέχον URL, τον τίτλο σελίδας, το επιλεγμένο στοιχείο, την τιμή, τον αποδέκτη και την περίληψη δράσης με κώδικα πριν ζητήσετε από τον χρήστη να εγκρίνει το τελικό βήμα.
  6. Ορίστε προϋπολογισμούς και συνθήκες διακοπής. Περιορίστε τον αριθμό ενεργειών, επαναλήψεων, καρτελών και λεπτών που μπορεί να χρησιμοποιήσει ο πράκτορας. Σταματήστε όταν η κατάσταση της σελίδας είναι ασαφής αντί να συνεχίσετε να κάνετε κλικ.
  7. Καταγράψτε χρήσιμα αποδεικτικά στοιχεία, όχι τα πάντα. Κρατήστε περιλήψεις ενεργειών, χρονικές σφραγίδες, URL, περιγραφές επιλεγμένων στοιχείων και αναφορές στιγμιότυπων οθόνης ώστε οι αποτυχίες να μπορούν να αξιολογηθούν χωρίς να αποθηκεύεται περιεχόμενο σελίδας που δεν χρειάζεται.

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

Εφαρμογές στον Πραγματικό Κόσμο

Παράδειγμα από τον Πραγματικό Κόσμο: Microsoft Project Opal

Ο πράκτορας που δημιουργείτε σε αυτό το μάθημα είναι μια μικρή, τοπική έκδοση ενός πράκτορα χρήσης υπολογιστή (CUA) — ενός προγράμματος που χειρίζεται έναν περιηγητή όπως θα έκανε ένας άνθρωπος. Η Microsoft φέρνει αυτή την ιδέα στον επιχειρησιακό τομέα με το Project Opal (Frontier), μια δυνατότητα στο Microsoft 365 Copilot.

Με το Project Opal, περιγράφετε μια εργασία και ο πράκτορας λειτουργεί εκ μέρους σας χρησιμοποιώντας χρήση υπολογιστή σε έναν ασφαλή Windows 365 Cloud PC, λειτουργώντας μέσα από τις εφαρμογές, τους ιστότοπους και τα δεδομένα βασισμένα σε περιηγητή του οργανισμού σας. Λειτουργεί ασύγχρονα στο παρασκήνιο, και μπορείτε να καθοδηγήσετε την εργασία ή να αναλάβετε τον έλεγχο οποιαδήποτε στιγμή. Παραδείγματα εργασιών περιλαμβάνουν:

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

Έννοια σε αυτό το μάθημα Πώς το Project Opal την εφαρμόζει
Άνθρωπος στη διαδικασία (Μάθημα 06) Το Opal σταματά για διαπιστευτήρια σύνδεσης, ευαίσθητα δεδομένα ή ασαφείς οδηγίες, και ποτέ δεν εισάγει κωδικούς ή δεν υποβάλλει φόρμες χωρίς ρητή επιβεβαίωση. Μπορείτε να αναλάβετε τον έλεγχο και να επιστρέψετε τον έλεγχο κατά τη διάρκεια της εργασίας.
Αξιόπιστοι & ασφαλείς πράκτορες (Μαθήματα 06 & 18) Εκτελείται σε απομονωμένο Windows 365 Cloud PC, είναι μόνο για περιηγητή από προεπιλογή (άλλες προσβάσεις υπολογιστή αποκλείονται, επιβαλλόμενο μέσω Intune), χρησιμοποιεί την ταυτότητά σας ώστε να έχει πρόσβαση μόνο σε όσα έχετε εξουσιοδότηση, και καταγράφει κάθε ενέργεια για έλεγχο.
Σχεδιασμός & αυτογνωσία (Μαθήματα 07 & 09) Το Opal δημιουργεί πρώτα ένα σχέδιο για την εργασία, επιβλέποντας την δική του λογική σε κάθε βήμα και σταματώντας αν ανιχνεύσει ύποπτη δραστηριότητα.
Επαναχρησιμοποιήσιμες ικανότητες / εργαλεία (Μάθημα 04) Οι Δεξιότητες σας επιτρέπουν να γράφετε οδηγίες για επαναλαμβανόμενες εργασίες (εισαγόμενες από .md αρχείο ή δημιουργημένες με το Opal) και να τις ξαναχρησιμοποιείτε σε συνομιλίες.

Διαθεσιμότητα: Το Project Opal είναι επί του παρόντος διαθέσιμο σε χρήστες στο πρόγραμμα πρώιμης πρόσβασης Frontier με συνδρομή Microsoft 365 Copilot, και ο διαχειριστής σας πρέπει να ολοκληρώσει τη ρύθμιση. Επειδή είναι πειραματική δυνατότητα Frontier, οι δυνατότητες ενδέχεται να αλλάξουν με τον χρόνο.

Έλεγχος Γνώσεων

Δοκιμάστε την κατανόησή σας πριν προχωρήσετε στο επόμενο μάθημα.

1. Πότε ένας πράκτορας χρήσης υπολογιστή βασισμένος σε περιηγητή είναι καλύτερη επιλογή από μια ροή εργασίας μόνο με API;

Απάντηση Χρησιμοποιήστε έναν πράκτορα περιηγητή όταν η εργασία εξαρτάται από το τι είναι ορατό σε ένα web UI, ο ιστότοπος δεν εκθέτει το απαιτούμενο API ή η σελίδα αλλάζει αρκετά συχνά ώστε η σταθερή λογική API ή επιλογέα να είναι ευάλωτη. Αν υπάρχει σταθερό API για την ίδια εργασία, προτιμήστε το API επειδή συνήθως είναι πιο γρήγορο, πιο εύκολο στη δοκιμή και πιο ασφαλές.

2. Σε μια υβριδική ροή εργασίας, ποια μέρη πρέπει να χειρίζεται ο πράκτορας και ποια μέρη πρέπει να χειρίζεται ο άμεσος κώδικας Playwright;

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

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

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

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

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

5. Ποια αποδεικτικά στοιχεία είναι χρήσιμα να κρατάτε όταν τρέχει ένας πράκτορας περιηγητή, και τι πρέπει να αποφεύγετε;

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

Επιπλέον Πόροι

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

Εξερευνώντας το Microsoft Agent Framework

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

Ανάπτυξη Κλιμακούμενων Πρακτόρων


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