Come abbiamo sviluppato il routing basato sui task tra modelli e harness per ridurre i costi nei task di programmazione reali in Databricks
di Ankit Mathur, Ivan Zhou, Bryan Qiu, Rohit Agrawal, Elise Gonzales e Kelly Albano
La frontiera del rapporto prezzo/prestazioni per le attività di programmazione presenta un'enorme varietà di modelli e harness: solo nel 2026 abbiamo assistito al rilascio di 33 nuovi modelli. Nel nostro post precedente sul benchmarking rispetto alla codebase di Databricks, abbiamo scoperto che i modelli si raggruppano in livelli di capacità e che gran parte del lavoro quotidiano (ad esempio, l'attivazione di un flag, la modifica di un singolo file, la correzione di un bug ben definito) non richiede i modelli più costosi.
Quindi, come si riducono i costi di programmazione con l'IA senza sacrificare la produttività degli sviluppatori? Una delle opportunità più grandi consiste nell'abbinare ogni attività al modello giusto, invece di impostare come predefinita per ogni attività l'opzione più potente (e più costosa). Il semplice utilizzo di modelli a costo inferiore può farti risparmiare oltre il 50%, ma per gli utenti è un'impresa incredibilmente scoraggiante. Con la proliferazione di ottimi modelli e harness capaci, gli utenti di agenti di programmazione si trovano costantemente di fronte a un sovraccarico di scelta. Invece di perdere tempo a cercare di selezionare il modello migliore per ogni attività, molti impostano quello più potente al massimo livello di sforzo e vanno avanti. Invece di chiedere agli utenti di scegliere o di frenare la produttività con limiti rigidi, sapevamo di dover innovare.

Ecco perché stiamo lanciando il prossimo importante controllo dei costi in Unity AI Gateway: Smart Routing, ora disponibile in Beta. Unity AI Gateway offre un punto centrale per accedere all'IA, gestire la spesa e applicare controlli in tutta l'azienda, e Smart Routing aggiunge un'ottimizzazione intelligente abbinando automaticamente le attività al modello giusto in base alla complessità. Smart Routing funziona direttamente in Claude Code and Codex, consentendoti di ottimizzare gli strumenti che gli sviluppatori già utilizzano.
E stiamo andando oltre il routing dei modelli. Con Omnigent, il nostro meta-harness per gli agenti di programmazione, i team possono sfruttare tutta la potenza di Smart Routing ottimizzando sia i modelli che gli harness di programmazione, offrendo agli sviluppatori la combinazione giusta per l'attività senza che debbano sceglierla da soli.
I risultati parlano da soli: sui carichi di lavoro di programmazione interni, Smart Routing ha superato qualsiasi singolo modello a solo il 65% del costo per attività di un modello leader come Opus 5. Nei benchmark pubblici, Smart Routing ha eguagliato le prestazioni di Opus 5 a meno della metà del costo.

Ecco cosa abbiamo imparato:
Vediamo come lo abbiamo realizzato.
Il routing intelligente dei modelli seleziona il modello più adatto a un'attività in base a fattori quali complessità, capacità e costo. Per gli agenti di programmazione, una decisione importante riguarda il momento in cui deve avvenire tale routing.
In genere esistono due approcci al routing:
Abbiamo optato per il routing task-aware per preservare l'efficienza della cache e abbinare al contempo ogni attività di programmazione al modello e all'harness appropriati. Il problema più interessante consiste nel valutare la difficoltà di un'attività prima di avviarla. Volevamo iniziare in modo semplice, quindi il nostro router attualmente utilizza un'unica policy e la applica a ogni attività nello stesso modo.
Per prima cosa, classichiamo l'attività. Per fare questo, utilizziamo un modello più economico e a bassa latenza che legge la descrizione dell'attività e la etichetta con una manciata di campi semantici: quale parte del sistema cambia, quali prove di codice contiene il prompt (uno snippet, un traceback o nulla di esplicito), come sembra fallire, quanto appare localizzata la correzione e a quale tipo di progetto appartiene. Da questi elementi, il router deriva una famiglia di tipi di attività e una famiglia di linguaggi. L'uso di un modello di frontiera graverebbe su ogni richiesta (anche su quelle semplici su cui vogliamo risparmiare), quindi l'estrattore è intenzionalmente piccolo e veloce.
Quindi, triangoliamo per capire quale classe di modello sia la migliore. Il router utilizza come impostazione predefinita un modello di medie dimensioni e usa le etichette per muoversi in entrambe le direzioni, passando a un modello più costoso quando l'attività richiede capacità e conoscenze di livello frontiera o delegando a uno più economico quando non è necessario. Ciò significa che la singola policy può sfruttare un'intera suite di modelli.
I primi risultati sono promettenti. Rispetto al nostro benchmark interno, a cui nessun laboratorio ha avuto accesso, abbiamo registrato un risparmio del 35%. Rispetto ai benchmark di programmazione pubblici che dimostrano la generalizzabilità dei nostri risultati, abbiamo ottenuto un risparmio sui costi del 56%. Ci aspettiamo che questo valore cresca man mano che apprenderemo di più sui nostri casi d'uso e grazie ai nostri partner di progettazione.
Smart Routing gestisce la decisione di routing, ma poi è necessario poter agire di conseguenza. Funziona in modo nativo all'interno di Claude Code e Codex, ma per gli agenti di programmazione notiamo prestazioni migliori scegliendo non solo il modello giusto, ma anche l'harness di programmazione corretto. Aiutare gli ingegneri a trarre vantaggio dal modello e dall'harness scelti richiede un livello superiore alle singole sessioni di programmazione per orchestrarle. Ecco perché abbiamo creato Omnigent.

Smart Routing è implementato in Omnigent a due livelli:
In primo luogo, gli sviluppatori che utilizzano Omnigent possono selezionare Smart Routing invece di scegliere manualmente un harness di programmazione specifico. Omnigent seleziona quindi automaticamente sia l'harness che il modello per ciascuna attività, con il routing dei modelli gestito da Smart Routing in Unity AI Gateway. Questo design offre a sviluppatori e amministratori la libertà di fornire personalizzazioni, come linee guida a livello di organizzazione o l'opzione di utilizzare la cronologia delle conversazioni precedenti, senza dover modificare il client ogni volta.
Ciò significa anche che tutti gli avvii di sub-agenti passano attraverso l'API Smart Routing, consentendo ai sub-agenti di sfruttare un harness e un modello diversi. Il prompt iniziale dell'utente è spesso poco specificato e difficile da valutare in termini di complessità, quindi i sub-agenti consentono di adattare il nuovo lavoro in base alle nuove informazioni, con una cache pulita e istruzioni chiare. Una singola attività può essere soggetta a decisioni di routing sfumate tra la pianificazione e il lavoro parallelo dei sub-agenti (ad esempio, puoi indirizzare attività di riepilogo di codebase di grandi dimensioni verso modelli più economici mentre progetti l'architettura con quelli più costosi), portando a risparmi ancora più consistenti.
Un routing dei modelli efficace deve ottimizzare sia i costi che la produttività degli sviluppatori, e non solo i costi. È fondamentale disporre di segnali di feedback, poiché i router sono ancora tecnologie emergenti che richiederanno molte iterazioni. Il nostro primo passo in questo senso è stato registrare tutte le tracce delle sessioni di programmazione per una valutazione successiva. Vogliamo considerare sia i costi che l'esperienza degli sviluppatori: non vogliamo ottimizzare i costi a scapito della produttività.
Con Unity AI Gateway, le tracce degli agenti di programmazione possono essere registrate in Unity Catalog. Si tratta di dati estremamente sensibili, che nella maggior parte delle aziende più mature devono rimanere regolati da policy di accesso e tagging sofisticate.
Abbiamo utilizzato sia modelli AI che la revisione umana per analizzare le tracce e valutare le modifiche al router. Quando abbiamo eseguito questa analisi sulle nostre sessioni prima del routing, abbiamo osservato che gran parte delle sessioni spendeva cifre da modelli di frontiera per attività che non ne avevano bisogno, semplicemente perché il modello predefinito era quello più costoso. In pratica, il modo per verificare che il router sia utile consiste nel monitorare continuamente le seguenti metriche:

Riteniamo che questo sia un ambito ricco di opportunità e intendiamo continuare a condurre ricerche approfondite in materia. Siamo ancora all'inizio, quindi abbiamo molto da imparare.
La nostra prima sfida è stata rappresentata da dati di benchmark inaffidabili che non corrispondono al comportamento reale degli utenti. Le attività di benchmark sono insolitamente lineari e ognuna si presenta come un blocco di lavoro autonomo. Sebbene i router offrano buone prestazioni in questi casi, le sessioni reali spesso sono del tutto diverse.
Stiamo quindi esplorando nuove direzioni per raccogliere maggiori informazioni e sperimentare nuove tecniche:
Il routing viene solitamente presentato come un modo per spendere meno. Sebbene la maggior parte dei nostri vantaggi derivi dal pagamento di prezzi inferiori per attività semplici, lo stesso meccanismo può aiutarci a decidere quando spendere di più per ottenere un risultato migliore. La massimizzazione del valore funziona in entrambi i sensi: scegliere il modello economico quando è sufficiente ed essere pronti a spendere di più quando il valore lo giustifica.
Gli strumenti di programmazione spesso spingono gli utenti a consumare sempre più token, ma ciò che vogliamo davvero è ottimizzare l'output produttivo per dollaro, non i token. Scegliere un modello più economico e veloce quando è sufficiente non fa solo risparmiare denaro. Fa anche risparmiare tempo e mantiene la limitata capacità dei modelli di frontiera disponibile per le attività che ne hanno realmente bisogno.
Lo Smart Routing è ora disponibile in versione Beta tramite Unity AI Gateway. Instrada automaticamente le attività di programmazione al modello corretto in base alla complessità, aiutando i team a raggiungere prestazioni di livello "frontiera" con un risparmio sui costi di oltre il 30%, selezionando il modello migliore per ogni attività. Per i team che desiderano ridurre i costi di programmazione AI senza limitare la scelta o la produttività degli sviluppatori, lo Smart Routing offre un'alternativa alla selezione manuale dei modelli o all'uso di rigidi limiti di spesa. E con Omnigent, puoi estendere il routing intelligente a tutti i modelli e sistemi di programmazione.
Per iniziare, visita le pagine della nostra documentazione:
Scopri di più su Unity AI Gateway visitando il nostro sito web.
(Questo post sul blog è stato tradotto utilizzando strumenti basati sull'intelligenza artificiale) Post originale
Iscriviti al nostro blog e ricevi gli ultimi articoli direttamente nella tua casella di posta.