Quella piccola scatola nera al centro è codice di machine learning. Ricordo di aver letto il documento di Google del 2015 "Hidden Technical Debt in ML" e di aver pensato a quanto poco di un'applicazione di machine learning fosse realmente machine learning. La stragrande maggioranza era infrastruttura, gestione dei dati e complessità operativa. Con l'avvento dell'IA, sembrava che i modelli di linguaggio di grandi dimensioni avrebbero assorbito queste scatole. La promessa era semplicità: inserisci un LLM e guardalo gestire tutto, dal servizio clienti alla generazione di codice. Niente più pipeline complesse o integrazioni fragili. Ma nella costruzione di applicazioni interne, abbiamo osservato una dinamica simile con l'IA. Gli agenti hanno bisogno di molto contesto, come un umano: come è strutturato il CRM, cosa inseriamo in ciascun campo - ma l'input è costoso per il modello Affamato, Affamato IA. Ridurre i costi significa scrivere software deterministico per sostituire il ragionamento dell'IA. Ad esempio, automatizzare la gestione delle email significa scrivere strumenti per creare attività in Asana e aggiornare il CRM. Man mano che il numero di strumenti aumenta oltre dieci o quindici strumenti, la chiamata agli strumenti non funziona più. È tempo di avviare un modello di machine learning classico per selezionare gli strumenti. Poi c'è da osservare il sistema con osservabilità, valutando se è performante e instradando al modello giusto. Inoltre, c'è un'intera categoria di software per assicurarsi che l'IA faccia ciò che deve fare. Le barriere di protezione prevengono risposte inappropriate. Il rate limiting impedisce ai costi di impazzire quando un sistema va fuori controllo. Il recupero delle informazioni (RAG - retrieval augmented generation) è essenziale per qualsiasi sistema di produzione. Nella mia app di email, utilizzo un database vettoriale LanceDB per trovare tutte le email di un particolare mittente e abbinare il loro tono. Ci sono altre tecniche per la gestione della conoscenza attorno a graph RAG e database vettoriali specializzati. Più recentemente, la memoria è diventata molto più importante. Le interfacce a riga di comando per gli strumenti di IA salvano la cronologia delle conversazioni come file markdown. Quando pubblico grafici, voglio la didascalia di Theory Ventures in basso a destra, un font particolare, colori e stili. Questi sono ora tutti salvati all'interno di file .gemini o .claude in una serie di directory a cascata. La semplicità originale dei modelli di linguaggio di grandi dimensioni è stata assorbita dalla complessità della produzione di livello enterprise. Questo non è identico alla generazione precedente di sistemi di machine learning, ma segue un chiaro parallelo. Quello che sembrava essere una semplice "scatola magica dell'IA" si è rivelato essere un iceberg, con la maggior parte del lavoro ingegneristico nascosto sotto la superficie.
3,67K