С повече от 20 години опит ние променяме вашето цифрово присъствие. Специализирани сме в разработването на уебсайтове и електронни магазини, SEO и цифров маркетинг, ERP софтуер и интелигентна автоматизация, които извеждат бизнеса ви на следващото ниво.
SAGE: πώς η AI μπαίνει στη SQL χωρίς να εκτοξεύει το κόστος
Το SAGE οργανώνει τις AI functions στη SQL σε τρεις primitives και επιλέγει execution plan ανά query, ώστε κόστος, latency και ποιότητα να ελέγχονται μαζί.
Στο SAGE, το κόστος μειώνεται όταν η σχεσιακή μορφή κάθε AI function καθορίζει την εκτέλεσή της.
Το SAGE οργανώνει τις AI functions μέσα στη SQL σε τρεις σχεσιακές primitives — AI_SCALAR, AI_AGG και AI_JOIN — και επιλέγει διαφορετική φυσική εκτέλεση ανάλογα με το αν η εργασία αφορά γραμμές, ομάδες ή ζεύγη. Στο representative factorable join του paper, αυτή η δομή μείωσε τις model calls από 16.256 σε 128 και το μετρημένο κόστος κατά 358×.
Το ουσιαστικό επιχειρηματικό μάθημα δεν είναι ότι κάθε query θα γίνει 358× φθηνότερο. Είναι ότι το κόστος και η ποιότητα της AI στη βάση δεδομένων πρέπει να σχεδιάζονται στο whole plan: deterministic filtering πριν από model calls, επαναχρησιμοποίηση virtual columns, έλεγχος evidence loss στα aggregates και escalation μόνο όπου η αβεβαιότητα το δικαιολογεί.
Γιατί η έκρηξη των AI functions κρύβει ένα απλούστερο πρόβλημα
Συστήματα έρευνας και data warehouses εκθέτουν ονόματα όπως AI_CLASSIFY, AI_EXTRACT, AI_FILTER, AI_SIMILARITY, AI_JOIN και AI_AGG. Η ονομασία περιγράφει αυτό που βλέπει ο χρήστης, όχι απαραίτητα αυτό που πρέπει να βελτιστοποιήσει ο query planner. Το SAGE μεταφέρει την προσοχή από το API name στην cardinality και στην εξάρτηση των δεδομένων: η κλήση κοιτά μία ήδη δεσμευμένη γραμμή, ένα ολόκληρο group ή ένα υποψήφιο ζεύγος;
Αυτή η αλλαγή είναι σημαντική για ομάδες data, e-commerce και marketing που θέλουν να μετατρέψουν τα analytics δεδομένα σε ελέγξιμες αποφάσεις, επειδή διαφορετικό σχήμα σημαίνει διαφορετικό επιχειρησιακό ρίσκο. Η ταξινόμηση ενός review μπορεί να αποτύχει τοπικά σε ένα item. Μια σύνοψη ομάδας μπορεί να χάσει κρίσιμο evidence. Ένα semantic join μπορεί να δημιουργήσει τετραγωνικό χώρο υποψηφίων και να πολλαπλασιάσει τις κλήσεις. Δεν υπάρχει λοιπόν μία ενιαία φυσική στρατηγική που να είναι ασφαλής και οικονομική παντού.
AI_SCALAR: μία γραμμή μπαίνει, μία τιμή βγαίνει
Η πρώτη primitive χαρτογραφεί κάθε row σε μία τιμή και διατηρεί το πλήθος των γραμμών. Classification, extraction, rewriting, scoring, ερώτηση πάνω στο context της γραμμής και Boolean filtering ανήκουν εδώ. Ένα sentiment label για κάθε review ή η εξαγωγή brand name από κάθε ticket είναι χαρακτηριστικά παραδείγματα. Το αποτέλεσμα μπορεί να γίνει virtual column και να χρησιμοποιηθεί αργότερα σε SELECT, WHERE, ORDER BY ή άλλη AI primitive.
Επειδή η απάντηση μιας γραμμής δεν εξαρτάται από τις άλλες, η εκτέλεση μπορεί να γίνει με batching, parallel inference και caching χωρίς αλλαγή της λογικής σημασίας. Αν το ίδιο παραγόμενο πεδίο χρειάζεται σε πολλά downstream βήματα, το SAGE το υλοποιεί μία φορά. Για μια εμπορική ομάδα αυτό σημαίνει ότι ένα ακριβό enrichment δεν χρειάζεται να επαναλαμβάνεται μέσα σε κάθε επόμενη σύγκριση, περιορίζοντας ένα από τα βασικά στοιχεία που συνθέτουν το πραγματικό κόστος της AI για μια επιχείρηση.
AI_AGG: η σύνοψη ομάδας δεν είναι απλώς άλλο ένα scalar
Η AI_AGG λαμβάνει ένα bag γραμμών με κοινό group key και επιστρέφει μία τιμή για την ομάδα. Σύνοψη reviews ανά προϊόν, εξαγωγή consensus από tickets ή structured theme list ανά καμπάνια είναι παραδείγματα. Εδώ η cardinality γίνεται από N γραμμές σε G outputs, αλλά η δυσκολία είναι ότι η ποιότητα μπορεί να εξαρτάται από evidence που βρίσκεται σε διαφορετικά documents.
Το SAGE επιτρέπει προαιρετικό compaction όταν υπάρχουν σχεδόν διπλότυπες εγγραφές: embeddings, clusters πάνω από threshold και εκπροσώπηση κάθε cluster με exemplar ή βάρος. Όμως το paper ξεχωρίζει το compaction από το chunking. Το chunking είναι ακριβές μόνο όταν το aggregate είναι modular ή algebraic και υπάρχει mergeable partial state. Ένα count πάνω σε ήδη εξαχθείσες τιμές μπορεί να ικανοποιεί αυτή τη συνθήκη· μια ολιστική σύνοψη που εξαρτάται από cross-document evidence συνήθως όχι, όπως φαίνεται και στα RAG workflows που απαντούν από εταιρική γνώση.
Η πρακτική προειδοποίηση είναι καθαρή: το να κόβεις ένα μεγάλο σύνολο εγγράφων σε chunks και να ενώνεις αυθαίρετα τις περιλήψεις δεν είναι αυτόματα ισοδύναμο με επεξεργασία όλου του group. Αν το insight επηρεάζει brand strategy, customer experience ή compliance, η ομάδα πρέπει να γνωρίζει αν η μείωση δεδομένων είναι μετρημένη προσέγγιση ή σημασιολογικά ασφαλής μετατροπή.
AI_JOIN: το σημείο όπου το κόστος μπορεί να γίνει τετραγωνικό
Η τρίτη primitive κρίνει αν ένα ζεύγος από δύο relations ικανοποιεί μια semantic condition. Entity matching, query-document relevance, hybrid semantic search και natural-language joins μπορούν να ιδωθούν ως Boolean judgments πάνω σε candidate pairs. Πριν το selection, ο χώρος μπορεί να είναι |A|×|B|. Αυτό είναι το κρίσιμο σημείο: δύο πίνακες μέτριου μεγέθους μπορούν να δημιουργήσουν τεράστιο αριθμό model evaluations.
Το SAGE δεν θεωρεί ότι όλα τα joins χρειάζονται πλήρη generative reasoning. Ένας compiler εξετάζει το predicate και μικρό sample έως πέντε candidate pairs, δημιουργώντας μια cached recipe card. Η card καταγράφει route, featurizer, labels, negative check και configuration space. Στη συνέχεια το σύστημα επιλέγει membership, relational ή reasoning route με βάση τη δομή του predicate.
AI_SCALAR
Επεξεργάζεται κάθε δεσμευμένη γραμμή ανεξάρτητα και διατηρεί την cardinality. Το βασικό κόστος είναι ανά row, ενώ caching και batching μπορούν να είναι ακριβή.
N → NPer-item error
AI_AGG
Μειώνει ένα group σε μία τιμή. Το ρίσκο δεν είναι μόνο το κόστος: compaction ή αυθαίρετο chunking μπορεί να αφαιρέσει cross-document evidence.
N → GLost evidence
AI_JOIN
Αποφασίζει ποια ζεύγη επιβιώνουν. Χωρίς παραγοντοποίηση ή συντηρητικό pruning, ο candidate space μπορεί να φτάσει το N×M.
N×M → KPair explosion
Τρεις φυσικές διαδρομές για διαφορετικά semantic predicates
Στη membership route, το predicate μπορεί να παραγοντοποιηθεί σε ανεξάρτητες virtual columns ανά πλευρά και deterministic comparison. Για παράδειγμα, το «ίδιο sentiment» μπορεί να ταξινομήσει κάθε row σε κλειστό label set και μετά να κάνει ordinary hash join. Η εργασία πέφτει από N×M pair evaluations σε N+M row evaluations, εφόσον η παραγοντοποίηση είναι έγκυρη και τα predicted values σωστά.
Στη relational route, η σχέση υπάρχει μόνο πάνω στο ζεύγος, όπως «το πρόσωπο Α είναι σύζυγος του Β». Ένα lightweight relation model μπορεί να απορρίψει εύκολα negatives, αλλά το pair grid παραμένει λογικά παρόν. Στη reasoning route, όπως «το document παρέχει αρκετά στοιχεία για να απαντηθεί η ερώτηση», ένα απλό embedding ή membership rewrite μπορεί να πετάξει valid matches. Γι’ αυτό το front end κάνει μόνο συντηρητικό negative pruning και τα αμφίβολα ζεύγη περνούν από generative reasoning.
Για compound predicates το SAGE φτιάχνει σχέδιο ανά atom και εφαρμόζει predicate pushdown. Εκτιμά το κόστος ανά candidate και το pass fraction, ώστε ένα φθηνό και selective atom να κόψει πρώτα τον χώρο πριν εκτελεστεί το ακριβότερο reasoning. Αυτή η λογική θυμίζει τον κλασικό query optimizer, αλλά τώρα η επιλογή αφορά και model behavior.
Κοινός confidence-gated μηχανισμός, όχι μόνιμα «το μεγαλύτερο μοντέλο»
Και οι τρεις primitives μοιράζονται adaptive skeleton. Ένα optional cheap front end μπορεί να διευθετήσει ή να απορρίψει εύκολα inputs. Ένα πρώτο generative model παράγει απάντηση και confidence. Μόνο οι χαμηλής εμπιστοσύνης περιπτώσεις κλιμακώνονται σε δεύτερο model, ώστε το routing να αντιμετωπίζεται ως μέρος του ελέγχου και του κόστους του AI harness. Οι ρόλοι «small» και «large» περιγράφουν τη θέση στο routing και όχι εγγύηση ότι το μεγαλύτερο parameter count είναι πάντα καλύτερο.
Αντί για απλό μέσο token log-probability, το SAGE χρησιμοποιεί TokenSAR, που δίνει μεγαλύτερο βάρος στα tokens τα οποία φέρουν το νόημα της απάντησης. Στο diagnostic sample του paper, αυτό το signal διαχώρισε καλύτερα σωστές και λανθασμένες απαντήσεις. Στο evaluated opposite-sentiment join, η confidence-ordered escalation έφτασε την αναφορά του μεγάλου μοντέλου αφού κλιμάκωσε περίπου το 40% των pairs. Οι συγγραφείς τονίζουν ότι το saturation point αλλάζει ανά predicate, άρα δεν προτείνουν ένα παγκόσμιο threshold.
Probe-and-race: επιλογή configuration πάνω στο τρέχον query
Το product space όλων των πιθανών models, thresholds, temperatures, batching, compaction και join routes είναι πολύ μεγάλο για πλήρη δοκιμή. Όπως και στην επιλογή του σωστού AI skill, το όνομα δεν αρκεί. Κάθε primitive έχει lightweight proposer που δημιουργεί μικρό slate με cheap anchor, quality anchor και history-guided exploratory configurations. Για multi-node query, το slate περιλαμβάνει συμβατά whole-plan configurations.
Το SAGE παίρνει μικρό stratified probe από τα τρέχοντα rows, groups ή pairs και αξιολογεί όλους τους candidates στο ίδιο sample. Καταγράφει πραγματικό token usage, cost και latency, ενώ fixed judge model δίνει label-free quality estimate. Μια racing διαδικασία αφαιρεί στατιστικά κατώτερα ή budget-infeasible plans και παγώνει το καλύτερο διαθέσιμο configuration για την πλήρη εκτέλεση.
Για μια επιχείρηση, η ιδέα έχει αξία πέρα από το συγκεκριμένο prototype: η απόφαση μοντέλου δεν χρειάζεται να είναι static setting σε ολόκληρο το data platform. Μπορεί να είναι query-level επιλογή με ρητά budgets. Αυτό δεν εξαλείφει την ανάγκη ελέγχου, αλλά μετατρέπει το «χρησιμοποιούμε πάντα το premium model» σε μετρήσιμο optimization problem.
Η μετρημένη διαφορά σε ένα factorable AI_JOIN
Πλήρεις serial εκτελέσεις στο representative join του paper· δεν είναι πρόβλεψη κόστους για κάθε SQL workload.
128LLM calls με SAGE
127×λιγότερες κλήσεις από all-pairs
89×μικρότερος wall-clock χρόνος
358×χαμηλότερο μετρημένο κόστος
Τι έδειξε η αξιολόγηση και τι σημαίνουν οι αριθμοί
Για logical coverage, οι ερευνητές εξέτασαν 78 operators από 11 δημόσια συστήματα. Από αυτούς, 63 model-invoking semantic operators χαρτογραφήθηκαν απευθείας στις τρεις primitives· οι υπόλοιποι αφορούσαν multimodal conversions ή non-semantic indexing, control και loop constructs εκτός scope. Επίσης αποσυντέθηκαν 37 semantic-query intents: κανένα δεν χρειάστηκε πάνω από τρεις AI primitives και το 94,6% χρειάστηκε το πολύ δύο.
Στο representative factorable join, η predicate-aware εκτέλεση χρησιμοποίησε 128 LLM calls αντί 16.256 στο exact all-pairs plan. Ο measured wall-clock χρόνος ήταν 53,4 αντί 4.770 δευτερολέπτων και το κόστος 0,00166 αντί 0,595 δολαρίων: μειώσεις 127× στις calls, 89× στον χρόνο και 358× στο κόστος. Πρόκειται για συγκεκριμένο evaluated join, όχι υπόσχεση ότι κάθε workload θα πετύχει τους ίδιους πολλαπλασιαστές.
Στις ablations, η αφαίρεση predicate-aware routing ήταν η μεγαλύτερη αστοχία. Το membership workload πήγε από F1 0,850 και κόστος 0,003 δολάρια σε F1 0,720 και κόστος 0,563. Η χρήση mean log-probability αντί TokenSAR μείωσε επίσης την ποιότητα στα membership και reasoning cases. Τα αποτελέσματα στηρίζουν την ανάγκη συνδυασμού route, front end, confidence και racing, όχι μία μόνο τεχνική.
Αρχή κόστους
Βελτιστοποιήστε τη σχεσιακή μορφή πριν αλλάξετε μοντέλο
Ξεκινήστε από το αν η εργασία είναι row, group ή pair operation. Μετά περιορίστε τον candidate space, επαναχρησιμοποιήστε virtual columns και κλιμακώστε μόνο τα αβέβαια inputs. Η αγορά φθηνότερου μοντέλου δεν διορθώνει ένα N×M σχέδιο που δεν έπρεπε να εκτελεστεί.
Πώς μπορεί να μεταφραστεί σε πραγματικά business workflows
Σε e-commerce περιβάλλον, οι διαδρομές των data agents μπορούν να ξεκινούν από scalar tasks όπως sentiment ή product-attribute extraction ανά review. Ένα aggregate μπορεί να συνοψίζει themes ανά SKU ή αγορά, με προσοχή ώστε το compaction να μη διαγράψει σπάνια αλλά σημαντικά παράπονα. Ένα join μπορεί να συνδέει tickets με knowledge-base documents ή περιγραφές προμηθευτών με catalog records, επιλέγοντας διαφορετικό route ανά predicate.
Η ασφαλής υιοθέτηση ξεκινά με inventory των AI functions και ταξινόμησή τους ως row, group ή pair operations. Μετά χρειάζονται quality metrics ανά task, cost και latency budgets, μικρό representative probe και logging των escalations. Η ομάδα πρέπει να κρατά χωριστά την ακρίβεια του logical transformation από την ποιότητα του model output, επειδή μια έγκυρη παραγοντοποίηση μπορεί ακόμη να παράγει λάθος virtual columns.
Εξίσου σημαντικό είναι το downstream impact. Ένα scalar extraction που υλοποιείται νωρίς μπορεί να μειώσει δραστικά το join cost. Αντίθετα, ένα lossy aggregate ή join νωρίς στη ροή μπορεί να αφαιρέσει evidence που δεν ανακτάται αργότερα. Επομένως, η αξιολόγηση πρέπει να γίνεται στο whole plan και όχι μόνο σε isolated prompt accuracy.
Pilot σε 7 ελέγχους πριν το AI μπει στη SQL παραγωγής
Έλεγχος 1Χαρτογραφήστε κάθε function στη σωστή primitive
Καταγράψτε αν η κλήση διαβάζει μία row, ολόκληρο group ή candidate pair. Αν η εξάρτηση δεν είναι σαφής, μην επιτρέψετε ακόμη rewrite του query plan.
Έλεγχος 2Ορίστε ποιότητα και κόστος ανά task
Χρησιμοποιήστε task-specific metric, ανώτατο token cost και latency budget. Το ίδιο F1 ή ROUGE threshold δεν είναι κατάλληλο για extraction, aggregate summary και semantic join.
Έλεγχος 3Κόψτε πρώτα τον deterministic χώρο
Εφαρμόστε ordinary SQL φίλτρα, indexes και lossless predicate pushdown πριν από model calls. Μετρήστε πόσα rows, groups και pairs φτάνουν πραγματικά στο AI layer.
Έλεγχος 4Χτίστε representative probe
Το probe πρέπει να περιλαμβάνει εύκολα, οριακά και σπάνια cases του τρέχοντος query. Ελέγξτε χωριστά recipe parse failure, route error και proxy-quality απόκλιση.
Έλεγχος 5Καταγράψτε escalation και evidence loss
Για κάθε configuration κρατήστε token usage, κόστος, latency, confidence, escalation rate και rejected candidates. Στα aggregates ελέγξτε αν compaction ή chunking εξαφανίζει σπάνια αλλά κρίσιμα στοιχεία.
Έλεγχος 6Περιορίστε δεδομένα και δικαιώματα
Ελαχιστοποιήστε τα πεδία που φεύγουν προς το model, εφαρμόστε access control, retention policy και human approval όπου το output αλλάζει τιμές, πελάτες ή compliance αποφάσεις.
Έλεγχος 7Επικυρώστε whole-plan αποτέλεσμα και rollback
Συγκρίνετε την πλήρη downstream απόφαση με ελεγχόμενη baseline, όχι μόνο isolated prompt accuracy. Ορίστε stop condition και επιστροφή σε deterministic plan όταν το budget ή η ποιότητα ξεφεύγει.
Τα όρια του SAGE που δεν πρέπει να αγνοηθούν
Το scope αφορά single-pass, query-time semantic functions που καταναλώνουν relational data και επιστρέφουν value ή decision. Recursive agents, training, multimodal conversion, indexing και side-effecting actions μένουν εκτός. Άρα το πλαίσιο δεν είναι γενικός orchestrator για κάθε AI workflow και δεν απαντά μόνο του σε θέματα governance, privacy ή human approval, τα οποία χρειάζονται ξεχωριστό enterprise AI harness με διακυβέρνηση στην αρχιτεκτονική.
Η label-free επιλογή configuration εξαρτάται από proxy quality estimates και από το κατά πόσο το probe αντιπροσωπεύει το πλήρες query. Η recipe card ελέγχει route για ολόκληρο join, οπότε parse failure ή λανθασμένη semantic routing έχει μεγάλη επίδραση. Το ίδιο το paper αξιολογεί structural validity, sample-shift robustness και sensitivity, αλλά αυτά παραμένουν σημεία που μια production εφαρμογή πρέπει να παρακολουθεί.
Τέλος, οι μετρήσεις προέρχονται από συγκεκριμένα benchmarks, models, predicates και execution settings. Οι αριθμοί είναι ισχυρή ένδειξη για τη δύναμη της δομικής βελτιστοποίησης, όχι αυτόματη πρόβλεψη ROI για κάθε εταιρικό dataset. Η σωστή προσέγγιση είναι controlled pilot με πραγματικά δεδομένα και σαφείς failure criteria.
Το ουσιαστικό μάθημα για data και marketing leaders
Το σημαντικότερο μήνυμα του SAGE δεν είναι απλώς ότι υπάρχει ένας ακόμη optimizer. Είναι ότι οι AI functions μπορούν να γίνουν κατανοητές με τη γλώσσα της σχεσιακής εκτέλεσης. Όταν ξέρεις αν ένα task είναι row-preserving, group-reducing ή pair-generating, μπορείς να επιλέξεις πιο σωστά caching, compaction, candidate pruning και escalation.
Για τους decision makers, αυτό δημιουργεί έναν πιο ώριμο τρόπο συζήτησης: όχι «ποιο LLM θα αγοράσουμε;», αλλά «ποια λογική εργασία εκτελείται, ποιο evidence δεν επιτρέπεται να χαθεί, πού εκρήγνυται ο candidate space και ποιο budget ισχύει;». Η AI μέσα στη SQL γίνεται έτσι engineering discipline με μετρήσιμα trade-offs, όχι αδιαφανής σειρά από prompt calls.
AI automation πάνω σε μετρήσιμα δεδομένα
Σχεδιάστε το SQL pilot πριν πληρώσετε για scale
Η TWO DOTS χαρτογραφεί row, group και pair workloads, ορίζει quality και cost budgets, περιορίζει model calls με ασφαλές filtering και στήνει observability, human approval και rollback για παραγωγικούς AI αυτοματισμούς.
Το SAGE, από το Self-Adaptive Generative Execution, είναι ερευνητικό logical και physical framework που οργανώνει query-time AI functions σε AI_SCALAR, AI_AGG και AI_JOIN και επιλέγει configuration ανά query.
Ποιες είναι οι τρεις primitives του SAGE;
Η AI_SCALAR μετασχηματίζει μία γραμμή σε τιμή, η AI_AGG μειώνει ένα group σε τιμή και η AI_JOIN αποφασίζει αν ένα ζεύγος γραμμών ικανοποιεί ένα semantic predicate.
Γιατί το AI_JOIN μπορεί να γίνει τόσο ακριβό;
Επειδή δύο relations μεγέθους N και M δημιουργούν έως N×M candidate pairs. Αν κάθε ζεύγος απαιτεί generative call, το κόστος και το latency αυξάνονται τετραγωνικά.
Τι κάνει η recipe card;
Ο compiler διαβάζει το predicate και μικρό sample έως πέντε candidate pairs και αποθηκεύει route, featurizer, labels, negative check και configuration space για ολόκληρο το join.
Χρησιμοποιεί το SAGE πάντα το μεγαλύτερο μοντέλο;
Όχι. Ένα πρώτο model χειρίζεται τις περισσότερες περιπτώσεις και μόνο τα χαμηλής εμπιστοσύνης inputs κλιμακώνονται σε δεύτερο model. Οι ρόλοι small και large δεν εγγυώνται μονοτονική ποιότητα.
Είναι ασφαλές να κάνουμε chunk κάθε AI aggregate;
Όχι. Ακριβές chunking απαιτεί mergeable partial state, merge operator και finalizer. Η ολιστική σύνοψη με cross-document evidence συνήθως πρέπει να διατηρεί ολόκληρο το group.
Ισχύει η μείωση κόστους 358× για κάθε workload;
Όχι. Είναι measured αποτέλεσμα σε ένα representative factorable join που εκτελέστηκε πλήρως και serially. Κάθε dataset, predicate, model stack και budget χρειάζεται δικό του probe.
Ποιο είναι το πρώτο βήμα για μια επιχείρηση;
Να απογράψει τις AI functions, να τις ταξινομήσει ως row, group ή pair operations και να ορίσει task-specific quality, cost, latency και failure criteria πριν από production pilot.