Η πρόκληση της ακρίβειας στα tool calls

Η εξυπηρέτηση μοντελών ανοιχτών βαρών (open-weight models) συνοδεύεται συχνά από απόκλιση μεταξύ των θεωρητικών benchmarks και της πραγματικής συμπεριφοράς στην παραγωγή. Σε agentic workloads όπου οι πολυστροφικές (multi-turn) συνεδρίες είναι σύνηθες φαινόμενο, η αποτυχία ενός tool call μολύνει το πλαίσιο (context window) με μηνύματα σφάλματος και υποβαθμίζει δραστικά το αποτέλεσμα.

Πολλοί inference engines δεν περνούν τα αυστηρά τεστ ακρίβειας. Για παράδειγμα, κατά την εξυπηρέτηση του Kimi K2.6 με το vLLM 0.28, η αναμενόμενη δομή tool call (schema) επιτυγχάνετο μόλις στο 92% των περιπτώσεων, δηλαδή 2 στα 25 αιτήματα αποτύγχαναν λόγω συντακτικών αστοχιών.

Constrained decoding και η συμβολή του XGrammar

Για να αντιμετωπιστεί η probabilistic φύση των γλωσσικών μοντέλων, το vLLM εισήγαγε την τεχνική του constrained decoding. Αντί το μοντέλο να παράγει tokens ελεύθερα και να ακολουθεί επικύρωση εκ των υστέρων, ο engine καθοδηγεί τη διαδικασία βήμα προς βήμα.

Χρησιμοποιώντας δομικές ετικέτες (structural tags) από τη βιβλιοθήκη XGrammar, ο server εφαρμόζει μάσκα στα tokens σε πραγματικό χρόνο. Σταδιακά, επιτρέπονται μόνο τα έγκυρα tokens που αντιστοιχούν στο JSON schema της συνάρτησης, εξαλείφοντας φαινόμενα όπου το μοντέλο επιστρέφει ανύπαρκτα ονόματα παραμέτρων ή εσφαλμένους τύπους δεδομένων.

Ζητήματα προεπιλεγμένης συμπεριφοράς στο vLLM

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

  • Γενικά προβλήματα μοντέλων: Ορισμένα LLM αποκλίνουν σημαντικά από το αναμενόμενο schema, με αποτέλεσμα οι περιορισμοί να τα οδηγούν σε αστοχία.
  • Σφάλματα μετάφρασης γραμματικής: Αστοχίες στη μετατροπή του schema του μοντέλου στη εσωτερική γραμματική του engine.
  • Αλληλεπιδράσεις χαρακτηριστικών: Συγκρούσεις μεταξύ constrained decoding και άλλων λειτουργιών, όπως το speculative decoding.

Συμπεράσματα για την παραγωγική υποδομή

Η βελτιστοποίηση της απόδοσης ενός LLM δεν εξαρτάται αποκλειστικά από το ίδιο το βάρος του μοντέλου, αλλά εξίσου από τον inference engine και τις παραμέτρους του. Ενεργοποιώντας ρητά το --tool-strict-level στο vLLM, οι μηχανικοί υποδομής μπορούν να εγγυηθούν 100% επιτυχία στα σχήματα κλήσης εργαλείων, διασφαλίζοντας την απρόσκοπτη λειτουργία των AI agents.