Un agente razionale è un programma per computer in grado di prendere decisioni autonome per raggiungere gli obiettivi desiderati. Tali programmi possono raccogliere informazioni sul loro ambiente per raccogliere quanti più dati possibili per supportare le loro decisioni. Possono anche valutare il risultato per determinare se la scelta finale è stata buona e come potrebbero migliorare i risultati in futuro. La progettazione di agenti razionali richiede una conoscenza della programmazione informatica e la capacità di sviluppare modelli e preferenze all’interno di un programma.
Il livello di complessità coinvolto può dipendere dal tipo di attività che un programma deve svolgere. Alcuni agenti razionali sono semplici e possono fare molto affidamento su un modello molto elementare. Ad esempio, l’agente razionale potrebbe essere responsabile del controllo della posta in uscita per assicurarsi che le informazioni di spedizione siano complete, per ridurre il rischio che gli articoli vengano restituiti al mittente. Può utilizzare un modello di come dovrebbero apparire gli indirizzi per verificare con una scansione ottica e accettare o rifiutare gli elementi per l’invio.
Gli agenti più complessi potrebbero dover prendere più decisioni per agire sui loro ambienti o potrebbero richiedere modelli complessi per aiutarli a identificare problemi specifici in una data situazione. L’obiettivo dell’agente razionale è selezionare il risultato più ottimale, data una serie di opzioni e una situazione specifica. Può misurare il successo in base alla risposta e può essere in grado di imparare da questo per modificare i comportamenti in futuro. Un agente razionale in una centrale nucleare responsabile del controllo delle temperature nel reattore, ad esempio, sa cosa influenza le temperature interne e come può regolarle se le temperature aumentano o scendono al di fuori di un intervallo stabilito.
Il successo non è sempre possibile, perché gli agenti razionali non sono onniscienti. Non possono prevedere ogni possibile esito e potrebbero non essere in grado di compensare eventi al di fuori del loro controllo. Quando si verifica un problema, l’agente può valutarlo per scoprire cosa è successo e se poteva essere previsto. Se gli strumenti su un pallone meteorologico fossero stati colpiti da una meteora, ad esempio, il programma automatizzato che ha selezionato un sito di lancio e ha lanciato il pallone non avrebbe potuto tenerne conto nei suoi calcoli. Il lancio potrebbe essere fallito, ma non per qualcosa che ha fatto l’agente razionale.
I corsi di programmazione informatica a volte includono discussioni su agenti razionali, insieme a semplici incarichi di programmazione per consentire agli studenti di crearne di propri. Programmi più complessi possono essere sviluppati nella tecnologia dell’informazione, nella scienza, nella medicina e in altri campi in cui potrebbero essere necessari attori automatizzati. Maggiore è la complessità, maggiore è la funzionalità.