Un agent rațional este un program de calculator capabil să ia decizii autonome pentru a atinge obiectivele dorite. Astfel de programe pot colecta informații despre mediul lor pentru a aduna cât mai multe date posibil pentru a le susține deciziile. De asemenea, ei pot evalua rezultatul pentru a determina dacă alegerea finală a fost una bună și cum ar putea îmbunătăți rezultatele în viitor. Proiectarea agenților raționali necesită cunoștințe de programare pe computer și capacitatea de a dezvolta modele și preferințe în cadrul unui program.
Nivelul de complexitate implicat poate depinde de tipul de sarcini pe care trebuie să le îndeplinească un program. Unii agenți raționali sunt simpli și se pot baza în mare măsură pe un model foarte de bază. De exemplu, agentul rațional ar putea fi responsabil pentru verificarea corespondenței trimise pentru a se asigura că informațiile de expediere sunt complete, pentru a reduce riscul ca articolele să fie returnate expeditorului. Poate folosi un model al adreselor care ar trebui să arate în comparație cu o scanare optică și să accepte sau să respingă articole pentru expediere prin poștă.
Agenții mai complecși ar putea avea nevoie să ia mai multe decizii pentru a acționa asupra mediului lor sau ar putea necesita modele complexe care să îi ajute să identifice probleme specifice într-o situație dată. Scopul agentului rațional este de a selecta cel mai optim rezultat, având în vedere o serie de opțiuni și o situație specifică. Poate măsura succesul prin răspuns și poate învăța din asta pentru a ajusta comportamentele în viitor. Un agent rațional de la o centrală nucleară responsabil cu controlul temperaturilor din reactor, de exemplu, știe ce afectează temperaturile centrale și cum le poate ajusta dacă temperaturile cresc sau scad în afara unui interval stabilit.
Succesul nu este întotdeauna posibil, deoarece agenții raționali nu sunt atotștiitori. Ei nu pot prezice toate rezultatele posibile și este posibil să nu poată compensa evenimentele care nu se află sub controlul lor. Când apare o problemă, agentul o poate evalua pentru a afla ce s-a întâmplat și dacă ar fi putut fi prezis. Dacă instrumentele de pe un balon meteorologic au fost lovite de un meteorit, de exemplu, programul automat care a selectat un loc de lansare și a lansat balonul nu ar fi putut ține seama de acest lucru în calculele sale. Este posibil ca lansarea să fi eșuat, dar nu din cauza a ceea ce a făcut agentul rațional.
Cursurile de programare computerizate includ uneori discuții despre agenți raționali, împreună cu sarcini simple de programare pentru a le permite studenților să-și creeze propriile lor. Pot fi dezvoltate programe mai complexe în tehnologia informației, știință, medicină și alte domenii în care ar putea fi necesari actori automatizați. Cu cât este mai complexă, cu atât este mai mare funcționalitatea.