Agents for Intelligent Systems Engineering
Slide: <file:///C:/UNI/Magistrale/ISE/M4 – Agents for Intelligent Systems Engineering.pdf>
Indice
Incapsulamento come Principio di Ingegneria
Definizione
L’incapsulamento è una tecnica di sviluppo software che isola funzioni, dati e operazioni dentro un modulo con specifiche precise.
Quando un sistema cresce, servono decomposizione, modularizzazione e astrazione. Decomporre significa dividere un sistema in componenti. Astrarre significa togliere dettagli non necessari e concentrarsi sull’essenza. Nascondere significa limitare l’accesso ai dettagli interni.
In pratica: una funzione incapsula un calcolo, un oggetto incapsula stato e metodi, un modulo incapsula responsabilità. Senza incapsulamento, un sistema complesso diventa un intreccio fragile di dettagli.
Note
Intelligent systems engineering eredita questo problema, ma lo amplifica: non dobbiamo incapsulare solo dati e funzioni, ma anche conoscenza, controllo, obiettivi, ragionamento, apprendimento e interazione.
Perché Servono Agenti
I sistemi intelligenti sono tra i sistemi software più complessi. Usano tecniche AI diverse, spesso eterogenee: machine learning, ragionamento simbolico, pianificazione, NLP, sistemi a regole, sensori, attuatori, strumenti esterni.
La domanda chiave delle slide è: qual è l’astrazione software adatta a incapsulare molte tecniche AI diverse dentro un sistema ingegnerizzato?
Definizione
Un agente è un’astrazione computazionale capace di incapsulare autonomia, controllo, obiettivi, conoscenza, azione e interazione.
La risposta proposta è: gli agenti. Non perché esista una sola definizione universale, ma perché molte comunità convergono sull’idea che l’agente sia l’unità adatta a rappresentare componenti intelligenti e autonomi.
Le Molte Nozioni di Agente
Il termine agente compare in AI, distributed AI, agentic AI, sistemi distribuiti, mobile computing, linguaggi di programmazione, software engineering e robotica.
In AI classica, l’agente incapsula intelligenza individuale, spesso in senso cognitivo e simbolico. In distributed AI, l’agente non è più solo: vive in una società di agenti e in un ambiente distribuito. In agentic AI, l’agente è spesso presentato come un sistema che riceve una missione, osserva, pianifica, agisce e migliora.
Esempio
Un assistente che organizza riunioni non deve solo generare testo. Deve leggere calendari, capire vincoli, proporre slot, inviare inviti, gestire modifiche e imparare preferenze operative.
In programmazione e sistemi distribuiti, un agente può essere visto come locus indipendente di controllo o come entità mobile. In robotica, l’agente è fisico e situato: la complessità del mondo reale entra nei suoi confini.
Agenti MAS e Interazione
Definizione
Un Multi-Agent System è un sistema composto da più agenti autonomi che interagiscono tra loro e con un ambiente.
Un agente MAS è orientato a goal o task, incapsula controllo e agisce proattivamente. Ma non vive in isolamento: ha percezioni limitate, capacità limitate e dipende da altri agenti o risorse esterne.
Le interazioni sono di due tipi principali:
- azioni comunicative, rivolte ad altri agenti;
- azioni pragmatiche, rivolte all’ambiente fisico o virtuale.
Le tre astrazioni di base per l’ingegneria MAS sono agenti, società e ambiente. Questa tripla è importante perché evita di ridurre tutto al singolo componente: molti comportamenti intelligenti emergono dalla relazione tra componenti autonomi.
Agente e Ambiente
Un agente deve percepire e agire. La percezione serve a costruire una rappresentazione del mondo; l’azione serve a modificarlo per sopravvivere, svolgere un task o raggiungere un goal.
Reattività vs proattività
Un agente non può essere solo reattivo, né solo deliberativo. Deve reagire ai cambiamenti dell’ambiente e allo stesso tempo portare avanti un proprio corso d’azione.
Un ciclo semplice percezione-azione funziona per agenti banali, come un termostato. Per agenti intelligenti non basta: l’architettura deve risolvere strutturalmente la tensione tra reagire a eventi imprevisti e perseguire obiettivi pianificati.
Che Cosa Incapsula un Agente Intelligente
Definizione
Un agente intelligente incapsula rappresentazione della conoscenza, ragionamento, capacità di azione, percezione, apprendimento e interazione con l’ambiente.
L’agente deve mantenere conoscenza sullo stato del mondo, sugli eventi, sulle leggi dinamiche dell’ambiente e sulle proprie possibilità operative. Deve scegliere formalismi di rappresentazione, filtrare informazioni rilevanti, gestire dati conflittuali e inferire nuova conoscenza.
Poi c’è il problema percezione-rappresentazione: il mondo cambia, ma l’agente non può passare tutto il tempo ad aggiornare la propria mappa interna. Deve mantenere una rappresentazione sufficientemente coerente per agire.
Infine serve ragionare sulle azioni: quali azioni sono disponibili, quali strumenti si possono usare, come combinarli, quali effetti producono. Nei modelli base, beliefs rappresentano conoscenza fattuale e plans rappresentano conoscenza procedurale.
Esempio
Un robot magazziniere deve sapere dove sono gli scaffali, percepire ostacoli, pianificare un percorso, correggersi se un corridoio è bloccato, comunicare con altri robot e aggiornare lo stato dell’inventario.
La conclusione del modulo è netta: gli agenti sono i mattoni di base per l’ingegneria dei sistemi intelligenti perché mettono l’intelligenza nel posto giusto, cioè dentro componenti autonomi e interattivi.
Prossimi Argomenti
Continueremo con:
- Intelligence in Living Systems - relazione tra intelligenza, vita e autonomia.
- Artificial Intelligence - panoramica delle principali linee dell’AI da collocare nel contesto degli agenti.