Agenti IA e agent harness

Un agente svolge un compito. Un harness ne organizza l’esecuzione. Un modello linguistico contribuisce alle decisioni. Distinguere questi concetti aiuta a capire che cosa stiamo usando e che cosa possiamo cambiare.

Che cos’è un agente

Un agente IA è un sistema che persegue un obiettivo, sceglie le azioni da compiere e adatta i passi successivi in base ai risultati osservati, entro i limiti assegnati.

Negli agenti basati su LLM, il modello linguistico interpreta le istruzioni e contribuisce a scegliere il passo successivo. Il sistema può consultare documenti, usare strumenti, valutarne le risposte e proseguire fino al completamento del compito o a una condizione di arresto.

“Agente” non significa autonomia illimitata. Il lavoro può includere approvazioni e interventi umani. Una sequenza interamente prestabilita è invece un workflow; le applicazioni possono combinare entrambe le modalità. [1]

Qui consideriamo gli agenti basati su modelli linguistici. Il concetto generale di agente comprende anche sistemi che non utilizzano un LLM.

Agente, harness e modello: tre concetti distinti L'agente è il sistema complessivo orientato a un obiettivo. L'harness gestisce il ciclo di esecuzione, il contesto, i permessi e gli strumenti. Il modello linguistico è una componente: negli harness compatibili può essere sostituito con un modello di un altro provider. Agente Il sistema che svolge il compito Obiettivo, istruzioni e limiti assegnati Harness Contesto, ciclo operativo e permessi LLM Il modello scelto Strumenti File, ricerca, API Il modello può cambiare, se compatibile Risultato e controllo umano
Schema concettuale. L’agente è il sistema complessivo: modello e harness svolgono funzioni diverse al suo interno.

Che cos’è un harness

Un agent harness è l’infrastruttura software che organizza l’esecuzione di un agente attorno al modello. Gestisce il ciclo fra richieste al modello, uso degli strumenti e restituzione dei risultati; può inoltre gestire contesto, stato del lavoro, accesso ai file, permessi e richieste di approvazione.

Il modello propone, per esempio, di leggere un documento; il codice dell’harness esegue la chiamata allo strumento, applica i controlli previsti e restituisce l’esito al modello. Le funzioni disponibili dipendono dall’implementazione: memoria persistente, pianificazione e sottagenti non sono caratteristiche obbligatorie di ogni harness. [2]

Perché chiamiamo “agente” anche l’harness

Nell’uso comune il nome dell’applicazione indica l’intero sistema con cui lavoriamo. Diciamo quindi “uso questo agente” anche quando ci riferiamo al software che fornisce l’harness e permette di configurare modello, istruzioni e strumenti.

È una semplificazione di linguaggio, non sempre un errore: “agente” descrive il sistema nel suo comportamento; “harness” ne descrive l’infrastruttura di esecuzione. I due termini non sono sinonimi perfetti. Anche l’LLM è una componente del sistema: le capacità e l’affidabilità del risultato dipendono inoltre da contesto, strumenti, istruzioni e controlli.

Un harness può essere indipendente dal provider

Un harness provider agnostic supporta modelli forniti da più operatori, attraverso integrazioni compatibili. Il modello è il sistema di IA utilizzato; il provider è il soggetto o servizio attraverso cui vi si accede. Sono due scelte distinte.

Si può quindi mantenere lo stesso harness e scegliere un altro modello, anche di un altro provider, tra quelli effettivamente supportati. Non significa che qualsiasi modello sia intercambiabile senza adattamenti: uso degli strumenti e altre funzionalità possono variare. La documentazione di alcuni harness prevede espressamente il supporto a più provider. [3]

Cambiare modello o provider può cambiare qualità delle risposte, costi, tempi, capacità disponibili e condizioni di trattamento dei dati. L’indipendenza dal provider non implica, da sola, esecuzione locale o riservatezza.