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.
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.