Nell'era attuale dell'intelligenza artificiale, in rapida evoluzione e sempre più orientata agli agenti, i termini utilizzati dagli sviluppatori e dagli ingegneri AI cambiano con una velocità sorprendente. Vecchi termini come RAG (Retrieval-Augmented Generation) e prompt engineering, un tempo sulla cresta dell'onda, sono ora meno diffusi. Al loro posto, l'attenzione si è spostata su concetti come MCP (Model Context Protocol) e, soprattutto, sull'ingegneria del contesto.
La domanda sorge spontanea: RAG è superato? Lo scorso maggio, Richard MacManus, autore di The New Stack, ha posto questa domanda a Douwe Kiela, CEO di Contextual AI, in un contesto di crescente fermento intorno a MCP. Entrambi i meccanismi, RAG e MCP, sono fondamentali per il recupero dei dati per i grandi modelli linguistici (LLM), ma è stato il MCP ad aver monopolizzato i titoli nell'ultimo anno. La realtà è che RAG, come termine specifico, è effettivamente diminuito nell'uso tra gli sviluppatori e gli ingegneri AI. Anche Kiela, che ha co-firmato il documento accademico del 2020 che ha introdotto RAG al mondo, ammette che un nuovo termine più alla moda ha preso il sopravvento.
"Penso che le persone l'abbiano ora ribattezzato come ingegneria del contesto, che include sia MCP che RAG", ha affermato Kiela. "Voglio dire, la 'R' di RAG sta solo per 'retrieval' (recupero). Quindi, credo di averlo già detto l'ultima volta, se si usa MCP per il proprio retrieval, allora è sostanzialmente RAG, giusto?"
Il ruolo di RAG e il nuovo nome di Contextual AI
Nonostante il cambiamento nella terminologia, RAG rimane una parte integrante dello stack tecnologico di Contextual AI. È ancora presente nella loro documentazione, anche se non gode più di una menzione nella homepage aziendale. Indipendentemente da ciò, Contextual AI ha scelto il nome giusto per la sua azienda se "ingegneria del contesto" è diventato il termine del momento. Questo sottolinea come l'attenzione si sia spostata da un singolo meccanismo di recupero a un approccio più olistico e integrato alla gestione dell'informazione.
Il lancio di Agent Composer
Come molte altre aziende di intelligenza artificiale, Contextual AI si sta ora concentrando completamente sugli agenti. Questa settimana, l'azienda ha lanciato un nuovo strumento chiamato Agent Composer, descritto in un comunicato stampa come "l'infrastruttura e lo strato di orchestrazione che gestisce il contesto, impone le misure di sicurezza e mantiene l'affidabilità degli agenti in flussi di lavoro di ingegneria multi-step".
Agent Composer si unisce agli altri strumenti disponibili sulla piattaforma Contextual AI, che Kiela descrive come un "livello di contesto". "Quindi, si ha il modello linguistico, si hanno i propri dati", ha spiegato. "E se si è un'impresa, si hanno i dati sparsi ovunque, ed è tutto molto, molto rumoroso, giusto? E queste aziende non consolideranno tutti quei dati in un unico luogo, quindi quello che si può fare con la nostra piattaforma è collegare tutte queste diverse fonti di dati." Da tutte queste fonti di dati, gli utenti creano ciò che Contextual AI chiama "data stores" (archivi di dati). Parte di ciò che Agent Composer farà, secondo Kiela, è aiutare le imprese a costruire agenti sopra i loro archivi di dati. Come mostrato nel diagramma dell'azienda, Agent Composer include tutti i componenti che un'impresa potrebbe desiderare per creare agenti:
- template predefiniti
- un'interfaccia di prompting
- un costruttore visuale
- API
- e così via
Claude Code e i "wrapper" per le imprese
L'autore dell'articolo ha osservato che strumenti di codifica AI come Claude Code e Cursor hanno goduto di un'enorme popolarità nelle imprese nell'ultimo anno. Presumibilmente, molti sviluppatori aziendali stanno già utilizzando questi strumenti per creare agenti personalizzati. Cosa offre, quindi, Agent Composer di Contextual AI che strumenti come Claude Code non fanno?
"Direi che questi [strumenti di codifica AI] sono essenzialmente 'imbracature' (harnesses) per i modelli linguistici", ha risposto Kiela. "'Harness' è una delle parole chiave del momento. Quindi, credo che si possa pensare alla nostra piattaforma come a un modo per creare 'imbracature personalizzate'. Si può sostanzialmente costruire il proprio Cursor, o si può eseguire la propria istanza specifica di Claude Code sulla nostra piattaforma, in modo da non doversi preoccupare di eseguire le cose localmente o cose del genere."
L'interpretazione è che Claude Code e Cursor sono "wrapper" (involucri) attorno a un modello AI, ma sono spesso legati al computer di uno sviluppatore, essendo strumenti da riga di comando (CLI) o app desktop. Contextual AI permette alle imprese di creare i propri wrapper, ma questi sono ospitati centralmente, il che comporta i vantaggi di sicurezza e governance che le imprese tipicamente richiedono. In altre parole, la piattaforma di Contextual AI offre una soluzione più robusta e scalabile per l'integrazione e la gestione degli agenti AI in ambienti aziendali complessi.
Contextual AI contro LangChain: focus sull'impresa
Un'altra grande tendenza attuale è quella delle piattaforme di sviluppo di agenti. LangChain, forse lo strumento originale di ingegneria AI, sta attualmente promuovendo la sua "piattaforma di ingegneria degli agenti" - chiamata LangSmith - sulla sua homepage. È stato chiesto a Kiela come Contextual AI si confronti con un prodotto come LangSmith.
"Penso che loro siano più focalizzati sugli sviluppatori di basso livello e su quelli che definirei più sviluppatori indipendenti", ha risposto. "Quindi, si tratta davvero di prototipazione SaaS, e hanno molte opzioni diverse. Credo che noi siamo molto più decisi e molto più orientati al grado enterprise, quindi siamo davvero focalizzati sugli sviluppatori aziendali e sugli utenti di [quelle] soluzioni." Questa distinzione evidenzia la strategia di Contextual AI di rivolgersi a un mercato specifico, offrendo soluzioni robuste e personalizzate per le esigenze complesse delle grandi organizzazioni.
Dalla prompt engineering all'ingegneria del contesto
La terminologia cambia così rapidamente nell'era dello sviluppo dell'AI. Quindi, cosa significa esattamente "ingegneria del contesto", in relazione specialmente agli agenti AI? Si dà il caso che Anthropic, forse l'azienda di sviluppo AI più di tendenza in questo momento, grazie a Claude Code, abbia scritto un chiarimento lo scorso settembre.
Anthropic sostiene che "l'ingegneria del contesto è la progressione naturale della prompt engineering". Invece di fornire una serie di prompt a un LLM, come si faceva nei "vecchi tempi del 2022-2023", gli ingegneri sono ora incoraggiati a gestire "l'intero stato del contesto (istruzioni di sistema, strumenti, Model Context Protocol (MCP), dati esterni, cronologia dei messaggi, ecc.)".
Il termine "agente" stesso è problematico, ma la maggior parte delle persone concorda sul fatto che si tratta di un programma software che esegue un ciclo. Secondo Anthropic, un agente "che esegue un ciclo genera sempre più dati che potrebbero essere rilevanti per il turno successivo di inferenza, e queste informazioni devono essere ciclicamente raffinate". Questo è ciò che fa l'ingegneria del contesto, garantendo che ogni interazione sia informata dal contesto più aggiornato e pertinente.
Approccio "just in time" e compromessi
Nello specifico, Anthropic afferma che Claude Code adotta un approccio "just in time" (appena in tempo) all'ingegneria del contesto, il che significa che "caricherà dinamicamente i dati nel contesto in fase di runtime utilizzando gli strumenti". Kiela è stato interrogato se Contextual AI adotta un approccio simile.
"Sì, la maggior parte di queste soluzioni sono just-in-time", ha risposto. "Se si allarga la prospettiva, c'è sempre un compromesso tra la quantità di informazioni che si desidera pre-elaborare [...] e la quantità di informazioni che si desidera cercare durante il tempo di interrogazione... quindi, essenzialmente, just-in-time. E il giusto compromesso tra queste due modalità di elaborazione dipende davvero dal problema che si sta risolvendo. Quindi, in alcuni casi, se si deve essere incredibilmente veloci, probabilmente si vuole fare molta più pre-elaborazione. Se si ha un po' più di tempo e si può essere agentici, allora forse non è necessario fare tanto, perché si possono avere più tentativi e tutti i tipi di strategie diverse per arrivare alla risposta." Questo sottolinea l'importanza della flessibilità e dell'ottimizzazione strategica nella progettazione di soluzioni AI.
Casi d'uso degli agenti AI
Quali tipi di soluzioni basate su agenti stanno attualmente implementando i clienti di Contextual AI? Kiela ha risposto che la sua azienda tende a concentrarsi sull'"ingegneria difficile", come l'industria dei semiconduttori.
"Quindi, in questo ambito, vediamo molta trazione attorno alla possibilità di consentire agli ingegneri di muoversi più velocemente avendo accesso a tutta la conoscenza interna, sbloccando così la conoscenza ingegneristica istituzionale", ha detto.
Uno dei loro casi d'uso più popolari è l'esecuzione di un'analisi delle cause profonde con un agente, un processo descritto in un post del blog di novembre. "Questo è piuttosto potente", ha continuato. "Si tratta davvero di prendere i 'log dump' o tutti i tipi di diversi set di dati relativi a qualcosa che è andato storto, e poi è necessario analizzare qual è la causa radice. Si può confrontare questo con la documentazione interna, magari con i rapporti di bug esistenti. Magari si vuole aprire automaticamente una pull request (PR) sulla propria codebase che lo risolva. Quindi c'è molto interesse in questo." Questi esempi dimostrano il potenziale trasformativo degli agenti AI in settori altamente tecnici e complessi.
Conclusione
In sintesi, RAG non è affatto morto; è semplicemente stato "ribattezzato" in ingegneria del contesto. Questa evoluzione terminologica riflette un cambiamento più ampio nella comprensione e nell'applicazione delle tecnologie AI.
È chiaro che la pratica dell'ingegneria del software nell'era agentica continua a evolvere rapidamente. Aziende all'avanguardia come Contextual AI e Anthropic stanno fornendo strumenti sempre più sofisticati per una vasta gamma di sviluppatori, consentendo loro di ottimizzare e personalizzare i cicli degli agenti, spingendo costantemente i confini di ciò che l'intelligenza artificiale può realizzare.