ai-agents-for-beginners

Πράκτορες AI στην Παραγωγή: Παρατηρησιμότητα & Αξιολόγηση

Πράκτορες AI στην Παραγωγή

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

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

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

Ο στόχος είναι να σας εξοπλίσει με τη γνώση για να μετατρέψετε τους “μαύρους κουτιούς” πράκτορές σας σε διαφανή, διαχειρίσιμα και αξιόπιστα συστήματα.

Σημείωση: Είναι σημαντικό να αναπτύσσετε Πράκτορες AI που είναι ασφαλείς και αξιόπιστοι. Δείτε επίσης το μάθημα Building Trustworthy AI Agents.

Ιχνη και Spans

Εργαλεία παρατηρησιμότητας όπως το Langfuse ή το Microsoft Foundry συνήθως αναπαριστούν τις εκτελέσεις πράκτορα ως ιχνη (traces) και spans.

Δέντρο ιχνών στο Langfuse

Χωρίς παρατηρησιμότητα, ένας πράκτορας AI μπορεί να μοιάζει σαν “μαύρο κουτί” - το εσωτερικό του και η λογική του είναι αδιαφανή, γεγονός που δυσχεραίνει τη διάγνωση προβλημάτων ή τη βελτιστοποίηση της απόδοσης. Με την παρατηρησιμότητα, οι πράκτορες γίνονται “γυάλινα κουτιά”, προσφέροντας διαφάνεια που είναι ζωτικής σημασίας για την οικοδόμηση εμπιστοσύνης και τη διασφάλιση ότι λειτουργούν όπως προορίζεται.

Γιατί η Παρατηρησιμότητα Είναι Σημαντική σε Περιβάλλοντα Παραγωγής

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

Κύρια Μετρικά προς Παρακολούθηση

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

Ακολουθούν μερικές από τις πιο κοινές μετρικές που παρακολουθούν τα εργαλεία παρατηρησιμότητας:

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

Κόστη: Ποιο είναι το κόστος ανά εκτέλεση πράκτορα; Οι πράκτορες AI βασίζονται σε κλήσεις LLM που χρεώνονται ανά token ή εξωτερικές APIs. Η συχνή χρήση εργαλείων ή πολλαπλά prompts μπορεί να αυξήσει ραγδαία τα έξοδα. Για παράδειγμα, αν ένας πράκτορας καλεί ένα LLM πέντε φορές για βελτίωση οριακής ποιότητας, πρέπει να αξιολογήσετε εάν το κόστος δικαιολογείται ή αν μπορείτε να μειώσετε τον αριθμό των κλήσεων ή να χρησιμοποιήσετε ένα φθηνότερο μοντέλο. Η παρακολούθηση σε πραγματικό χρόνο μπορεί επίσης να βοηθήσει στον εντοπισμό απροσδόκητων αιχμών (π.χ. σφάλματα που προκαλούν υπερβολικούς βρόχους API).

Σφάλματα Αιτημάτων: Πόσες αιτήσεις απέτυχαν; Αυτό μπορεί να περιλαμβάνει σφάλματα API ή αποτυχημένες κλήσεις εργαλείων. Για να κάνετε τον πράκτορά σας πιο ανθεκτικό σε παραγωγή, μπορείτε να ρυθμίσετε εφεδρικές λύσεις ή επαναλήψεις. Π.χ. αν ο πάροχος LLM A είναι εκτός λειτουργίας, μεταβαίνετε στον πάροχο LLM B ως εφεδρεία.

Ανατροφοδότηση Χρηστών: Η εφαρμογή άμεσων αξιολογήσεων από χρήστες παρέχει πολύτιμες πληροφορίες. Αυτό μπορεί να περιλαμβάνει ρητές βαθμολογίες (👍thumbs-up/👎down, ⭐1-5 αστέρια) ή κείμενα σχολίων. Συνεπής αρνητική ανατροφοδότηση θα πρέπει να σας προειδοποιεί καθώς αυτό είναι ένδειξη ότι ο πράκτορας δεν λειτουργεί όπως αναμένεται.

Συνηγορική Ανατροφοδότηση Χρηστών (Implicit User Feedback): Η συμπεριφορά των χρηστών παρέχει έμμεση ανατροφοδότηση ακόμα και χωρίς ρητές αξιολογήσεις. Αυτό μπορεί να περιλαμβάνει άμεση επαναδιατύπωση ερωτήσεων, επαναλαμβανόμενα ερωτήματα ή το πάτημα κουμπιού επανάληψης. Π.χ. αν βλέπετε ότι οι χρήστες επαναλαμβάνουν την ίδια ερώτηση, αυτό είναι ένδειξη ότι ο πράκτορας δεν λειτουργεί όπως αναμένεται.

Ακρίβεια: Πόσο συχνά ο πράκτορας παράγει σωστά ή επιθυμητά αποτελέσματα; Οι ορισμοί της ακρίβειας διαφέρουν (π.χ. ορθότητα επίλυσης προβλημάτων, ακρίβεια ανάκτησης πληροφοριών, ικανοποίηση χρήστη). Το πρώτο βήμα είναι να ορίσετε πώς μοιάζει η επιτυχία για τον πράκτορά σας. Μπορείτε να παρακολουθήσετε την ακρίβεια μέσω αυτοματοποιημένων ελέγχων, βαθμολογιών αξιολόγησης ή ετικετών ολοκλήρωσης εργασιών. Για παράδειγμα, επισημαίνοντας ιχνη ως “επιτυχές” ή “αποτυχία”.

Αυτοματοποιημένα Μετρικά Αξιολόγησης: Μπορείτε επίσης να ρυθμίσετε αυτοματοποιημένες αξιολογήσεις. Για παράδειγμα, μπορείτε να χρησιμοποιήσετε ένα LLM για να βαθμολογήσει την έξοδο του πράκτορα, π.χ. αν είναι βοηθητική, ακριβής ή όχι. Υπάρχουν επίσης διάφορες βιβλιοθήκες ανοικτού κώδικα που βοηθούν στη βαθμολόγηση διαφορετικών πτυχών του πράκτορα. Π.χ. RAGAS για RAG agents ή LLM Guard για την ανίχνευση βλαβερής γλώσσας ή έγχυσης prompts.

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

Ενσωματώστε Παρακολούθηση στον Πράκτορά σας

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

OpenTelemetry (OTel): Το OpenTelemetry έχει αναδειχθεί ως βιομηχανικό πρότυπο για την παρατηρησιμότητα LLM. Παρέχει ένα σύνολο API, SDK και εργαλείων για τη δημιουργία, συλλογή και εξαγωγή τηλεμετρικών δεδομένων.

Υπάρχουν πολλές βιβλιοθήκες instrumentation που τυλίγουν υπάρχοντα frameworks πρακτόρων και καθιστούν εύκολη την εξαγωγή OpenTelemetry spans σε ένα εργαλείο παρατηρησιμότητας. Το Microsoft Agent Framework ενσωματώνεται με το OpenTelemetry εγγενώς. Παρακάτω υπάρχει ένα παράδειγμα για την ενσωμάτωση ενός πράκτορα MAF:

from agent_framework.observability import get_tracer, get_meter

tracer = get_tracer()
meter = get_meter()

with tracer.start_as_current_span("agent_run"):
    # Η εκτέλεση του πράκτορα καταγράφεται αυτόματα
    pass

Το παραδειγματικό notebook σε αυτό το κεφάλαιο θα δείξει πώς να ενσωματώσετε τον πράκτορά σας MAF.

Χειροκίνητη Δημιουργία Spans: Ενώ οι βιβλιοθήκες instrumentation παρέχουν μια καλή βάση, υπάρχουν συχνά περιπτώσεις όπου απαιτούνται πιο λεπτομερείς ή προσαρμοσμένες πληροφορίες. Μπορείτε να δημιουργήσετε χειροκίνητα spans για να προσθέσετε προσαρμοσμένη λογική εφαρμογής. Το πιο σημαντικό, μπορούν να εμπλουτίσουν αυτόματα ή χειροκίνητα δημιουργημένα spans με προσαρμοσμένα attributes (γνωστά και ως tags ή metadata). Αυτά τα attributes μπορούν να περιλαμβάνουν επιχειρηματικά δεδομένα, ενδιάμεσους υπολογισμούς ή οποιοδήποτε πλαίσιο μπορεί να είναι χρήσιμο για debugging ή ανάλυση, όπως user_id, session_id, ή model_version.

Παράδειγμα δημιουργίας ιχνών και spans χειροκίνητα με το Langfuse Python SDK:

from langfuse import get_client
 
langfuse = get_client()
 
span = langfuse.start_span(name="my-span")
 
span.end()

Αξιολόγηση Πράκτορα

Η παρατηρησιμότητα μας δίνει μετρικά, αλλά η αξιολόγηση είναι η διαδικασία ανάλυσης αυτών των δεδομένων (και η εκτέλεση δοκιμών) για να προσδιορίσουμε πόσο καλά αποδίδει ένας πράκτορας AI και πώς μπορεί να βελτιωθεί. Με άλλα λόγια, μόλις έχετε αυτά τα ίχνη και μετρικά, πώς τα χρησιμοποιείτε για να κρίνετε τον πράκτορα και να λάβετε αποφάσεις;

Η τακτική αξιολόγηση είναι σημαντική επειδή οι πράκτορες AI είναι συχνά μη-ντετερμινιστικοί και μπορούν να εξελιχθούν (μέσω ενημερώσεων ή μετατόπισης συμπεριφοράς μοντέλου) – χωρίς αξιολόγηση, δεν θα γνωρίζατε αν ο «έξυπνος πράκτορας» σας κάνει καλά τη δουλειά του ή αν έχει υποστεί παλινδρόμηση.

Υπάρχουν δύο κατηγορίες αξιολογήσεων για πράκτορες AI: online αξιολόγηση και offline αξιολόγηση. Και οι δύο είναι πολύτιμες και αλληλοσυμπληρώνονται. Συνήθως ξεκινάμε με την offline αξιολόγηση, καθώς αυτό είναι το ελάχιστο απαραίτητο βήμα πριν την ανάπτυξη οποιουδήποτε πράκτορα.

Offline Αξιολόγηση

Στοιχεία συνόλου δεδομένων στο Langfuse

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

Για παράδειγμα, αν δημιουργήσατε έναν πράκτορα επίλυσης μαθηματικών προβλημάτων, μπορεί να έχετε ένα test dataset με 100 προβλήματα με γνωστές απαντήσεις. Η offline αξιολόγηση γίνεται συχνά κατά την ανάπτυξη (και μπορεί να είναι μέρος των CI/CD pipelines) για να ελέγχετε βελτιώσεις ή να προστατεύετε από παλινδρομήσεις. Το όφελος είναι ότι είναι επαναλήψιμη και μπορείτε να λάβετε σαφή μετρικά ακρίβειας αφού έχετε την αληθινή απάντηση. Μπορείτε επίσης να προσομοιώσετε αιτήματα χρηστών και να μετρήσετε τις απαντήσεις του πράκτορα έναντι ιδανικών απαντήσεων ή να χρησιμοποιήσετε αυτοματοποιημένα μετρικά όπως περιγράφτηκε παραπάνω.

Η βασική πρόκληση με την offline αξιολόγηση είναι να εξασφαλίσετε ότι το σύνολο δοκιμών σας είναι περιεκτικό και παραμένει σχετικό – ο πράκτορας μπορεί να αποδίδει καλά σε ένα σταθερό test set αλλά να αντιμετωπίσει πολύ διαφορετικά ερωτήματα σε παραγωγή. Επομένως, θα πρέπει να διατηρείτε τα test sets ενημερωμένα με νέες περιπτώσεις άκρων και παραδείγματα που αντικατοπτρίζουν σενάρια πραγματικού κόσμου. Ένας συνδυασμός μικρών δοκιμών “smoke test” και μεγαλύτερων συνόλων αξιολόγησης είναι χρήσιμος: μικρά σύνολα για γρήγορους ελέγχους και μεγαλύτερα για ευρύτερα μετρικά απόδοσης.

Online Αξιολόγηση

Επισκόπηση μετρικών παρατηρησιμότητας

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

Για παράδειγμα, μπορεί να παρακολουθείτε ποσοστά επιτυχίας, βαθμολογίες ικανοποίησης χρηστών ή άλλα μετρικά στο ζωντανό traffic. Το πλεονέκτημα της online αξιολόγησης είναι ότι συλλαμβάνει πράγματα που ενδέχεται να μην προβλέψετε στο εργαστήριο – μπορείτε να παρατηρήσετε μετατόπιση μοντέλου με την πάροδο του χρόνου (εάν η αποτελεσματικότητα του πράκτορα υποβαθμίζεται καθώς αλλάζουν τα μοτίβα εισόδου) και να εντοπίσετε απρόβλεπτα ερωτήματα ή καταστάσεις που δεν υπήρχαν στα test δεδομένα σας. Παρέχει μια πραγματική εικόνα του πώς συμπεριφέρεται ο πράκτορας σε πραγματικές συνθήκες.

Η online αξιολόγηση συχνά περιλαμβάνει τη συλλογή έμμεσης και ρητής ανατροφοδότησης χρηστών, όπως συζητήθηκε, και ενδεχομένως την εκτέλεση shadow tests ή A/B tests (όπου μια νέα έκδοση του πράκτορα τρέχει παράλληλα για σύγκριση με την παλιά). Η πρόκληση είναι ότι μπορεί να είναι δύσκολο να λάβετε αξιόπιστες ετικέτες ή βαθμολογίες για τις ζωντανές αλληλεπιδράσεις – μπορεί να βασιστείτε στην ανατροφοδότηση των χρηστών ή σε κατεπέκταση μετρικά (όπως αν ο χρήστης κλικαρε το αποτέλεσμα).

Συνδυασμός και των δύο

Η online και η offline αξιολόγηση δεν είναι αμοιβαία αποκλειόμενες· είναι ιδιαίτερα συμπληρωματικές. Οι πληροφορίες από την online παρακολούθηση (π.χ. νέοι τύποι ερωτημάτων χρηστών όπου ο πράκτορας αποδίδει άσχημα) μπορούν να χρησιμοποιηθούν για να εμπλουτίσουν και να βελτιώσουν τα offline test datasets. Αντίστροφα, οι πράκτορες που αποδίδουν καλά σε offline δοκιμές μπορούν στη συνέχεια να αναπτυχθούν με μεγαλύτερη σιγουριά και να παρακολουθούνται online.

Στην πραγματικότητα, πολλές ομάδες υιοθετούν έναν βρόχο:

αξιολόγηση εκτός σύνδεσης -> ανάπτυξη -> παρακολούθηση σε σύνδεση -> συλλογή νέων περιπτώσεων αποτυχίας -> προσθήκη στο σύνολο δοκιμών εκτός σύνδεσης -> βελτίωση πράκτορα -> επανάληψη.

Συνηθισμένα Προβλήματα

Καθώς αναπτύσσετε πράκτορες AI σε παραγωγή, μπορεί να αντιμετωπίσετε διάφορες προκλήσεις. Ακολουθούν μερικά κοινά προβλήματα και οι πιθανές λύσεις τους:

Πρόβλημα Πιθανή Λύση
Ο πράκτορας AI δεν εκτελεί εργασίες με συνέπεια - Βελτιώστε το prompt που δίνεται στον Πράκτορα AI; να είστε σαφείς ως προς τους στόχους.
- Εντοπίστε πού ο διαχωρισμός των εργασιών σε υπο-εργασίες και η ανάθεσή τους σε πολλαπλούς πράκτορες μπορεί να βοηθήσει.
Ο πράκτορας AI μπλέκεται σε συνεχείς βρόχους - Βεβαιωθείτε ότι έχετε σαφείς όρους και προϋποθέσεις τερματισμού ώστε ο Πράκτορας να γνωρίζει πότε να σταματήσει τη διαδικασία.
- Για πολύπλοκες εργασίες που απαιτούν συλλογισμό και σχεδιασμό, χρησιμοποιήστε ένα μεγαλύτερο μοντέλο που είναι εξειδικευμένο σε εργασίες συλλογισμού.
Οι κλήσεις εργαλείων του πράκτορα AI δεν αποδίδουν καλά - Δοκιμάστε και επικυρώστε την έξοδο του εργαλείου εκτός του συστήματος του πράκτορα.
- Βελτιώστε τις ορισμένες παραμέτρους, τα prompts και την ονοματολογία των εργαλείων.
Το σύστημα πολλαπλών πρακτόρων δεν αποδίδει σταθερά - Βελτιώστε τα prompts που δίνονται σε κάθε πράκτορα για να διασφαλίσετε ότι είναι συγκεκριμένα και διαφορετικά μεταξύ τους.
- Δημιουργήστε ένα ιεραρχικό σύστημα χρησιμοποιώντας έναν “routing” ή ελεγκτικό πράκτορα για να καθορίσει ποιος πράκτορας είναι ο σωστός.

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

Διαχείριση Κόστους

Here are some strategies to manage the costs of deploying AI agents to production:

Χρήση μικρότερων μοντέλων: Μικρά Γλωσσικά Μοντέλα (SLMs) μπορούν να αποδώσουν καλά σε ορισμένα χρήση-περίπτωσης με πρακτόρες και θα μειώσουν σημαντικά τα κόστη. Όπως αναφέρθηκε νωρίτερα, η δημιουργία ενός συστήματος αξιολόγησης για να προσδιορίσετε και να συγκρίνετε την απόδοση σε σχέση με μεγαλύτερα μοντέλα είναι ο καλύτερος τρόπος να κατανοήσετε πόσο καλά θα αποδώσει ένα SLM στην περίπτωσή σας. Σκεφτείτε να χρησιμοποιήσετε SLMs για απλούστερες εργασίες όπως ταξινόμηση προθέσεων ή εξαγωγή παραμέτρων, ενώ κρατάτε μεγαλύτερα μοντέλα για σύνθετη λογική/συλλογιστική.

Χρήση μοντέλου δρομολόγησης: Μια παρόμοια στρατηγική είναι να χρησιμοποιήσετε ποικιλία μοντέλων και μεγεθών. Μπορείτε να χρησιμοποιήσετε ένα LLM/SLM ή serverless function για να δρομολογείτε αιτήματα βάσει της πολυπλοκότητας προς τα πιο κατάλληλα μοντέλα. Αυτό θα βοηθήσει επίσης στη μείωση του κόστους ενώ εξασφαλίζει απόδοση στις κατάλληλες εργασίες. Για παράδειγμα, δρομολογήστε απλά ερωτήματα σε μικρότερα, ταχύτερα μοντέλα και χρησιμοποιήστε τα ακριβά μεγάλα μοντέλα μόνο για σύνθετες εργασίες συλλογισμού.

Caching Responses: Η ταυτοποίηση κοινών αιτημάτων και εργασιών και η παροχή των απαντήσεων πριν περάσουν από το πρακτορικό σας σύστημα είναι ένας καλός τρόπος για να μειώσετε τον όγκο παρόμοιων αιτημάτων. Μπορείτε ακόμη να υλοποιήσετε μια ροή για να προσδιορίσετε πόσο παρόμοιο είναι ένα αίτημα με τα αποθηκευμένα (cached) αιτήματά σας χρησιμοποιώντας πιο βασικά μοντέλα AI. Αυτή η στρατηγική μπορεί να μειώσει σημαντικά τα κόστη για συχνές ερωτήσεις ή κοινά ροή εργασιών.

Ας δούμε πώς λειτουργεί αυτό στην πράξη

In the example notebook of this section, we’ll see examples of how we can use observability tools to monitor and evaluate our agent.

Έχετε περισσότερες ερωτήσεις σχετικά με πρακτόρες AI στην παραγωγή;

Join the Microsoft Foundry Discord to meet with other learners, attend office hours and get your AI Agents questions answered.

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

Σχεδιαστικό Πρότυπο Μεταγνωσίας

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

Πρωτόκολλα Πρακτόρων


Αποποίηση ευθυνών: Αυτό το έγγραφο έχει μεταφραστεί χρησιμοποιώντας την υπηρεσία μετάφρασης με τεχνητή νοημοσύνη Co-op Translator (https://github.com/Azure/co-op-translator). Παρόλο που καταβάλλουμε προσπάθειες για ακρίβεια, παρακαλούμε λάβετε υπόψη ότι οι αυτοματοποιημένες μεταφράσεις ενδέχεται να περιέχουν λάθη ή ανακρίβειες. Το πρωτότυπο έγγραφο στη γλώσσα του πρέπει να θεωρείται η επίσημη πηγή. Για κρίσιμες πληροφορίες συνιστάται επαγγελματική ανθρώπινη μετάφραση. Δεν ευθυνόμαστε για οποιεσδήποτε παρεξηγήσεις ή λανθασμένες ερμηνείες που προκύπτουν από τη χρήση αυτής της μετάφρασης.