Järkevä agentti on tietokoneohjelma, joka pystyy tekemään itsenäisiä päätöksiä haluttujen tavoitteiden saavuttamiseksi. Tällaiset ohjelmat voivat kerätä tietoja ympäristöstään kerätäkseen mahdollisimman paljon tietoja päätösten tueksi. He voivat myös arvioida tuloksia määrittääkseen, oliko lopullinen valinta hyvä ja miten he voisivat parantaa tuloksia tulevaisuudessa. Järkevien agenttien suunnittelu edellyttää tietokoneohjelmoinnin tuntemusta ja kykyä kehittää malleja ja asetuksia ohjelman sisällä.
Monimutkaisuus voi riippua siitä, millaisia tehtäviä ohjelma tarvitsee suorittaa. Jotkut järkevät tekijät ovat yksinkertaisia ja voivat luottaa voimakkaasti hyvin perusmalliin. Järkevä edustaja voi esimerkiksi olla vastuussa lähetettävän postin tarkistamisesta varmistaakseen, että postitustiedot ovat täydelliset, vähentääkseen lähettäjälle palautettavien lähetysten riskiä. Se voi käyttää mallia siitä, miltä osoitteet näyttävät, tarkistaakseen optisen skannauksen ja joko hyväksyä tai hylätä lähetykset.
Monimutkaisempien agenttien on ehkä tehtävä useita päätöksiä toimiakseen ympäristössään tai ne voivat vaatia monimutkaisia malleja, joiden avulla he voivat tunnistaa tietyt ongelmat tietyssä tilanteessa. Järkevän agentin tavoitteena on valita optimaalisin lopputulos, kun otetaan huomioon joukko vaihtoehtoja ja erityistilanne. Se voi mitata menestystä vastauksella ja voi oppia tästä mukauttaakseen käyttäytymistään tulevaisuudessa. Esimerkiksi ydinvoimalan järkevä agentti, joka vastaa reaktorin lämpötilojen valvonnasta, tietää, mikä vaikuttaa ydinlämpötiloihin ja miten se voi säätää niitä, jos lämpötila nousee tai laskee vakiintuneen alueen ulkopuolelle.
Menestys ei ole aina mahdollista, koska järkevät tekijät eivät ole kaikkitietäviä. He eivät voi ennustaa kaikkia mahdollisia tuloksia eivätkä ehkä pysty kompensoimaan tapahtumia, jotka eivät ole heidän hallinnassaan. Kun ongelma ilmenee, agentti voi arvioida sen selvittääkseen, mitä tapahtui ja olisiko se voitu ennustaa. Jos esimerkiksi meteoriitti osuu sääpallon instrumentteihin, automaattinen ohjelma, joka valitsi laukaisupaikan ja laukaisi ilmapallon, ei olisi voinut ottaa tätä huomioon laskelmissaan. Käynnistys saattoi epäonnistua, mutta ei sen takia, mitä järkevä agentti teki.
Tietokoneohjelmointikurssit sisältävät joskus keskusteluja järkevistä tekijöistä sekä yksinkertaisia ohjelmointitehtäviä, joiden avulla opiskelijat voivat luoda omia. Monimutkaisempia ohjelmia voidaan kehittää tietotekniikan, tieteen, lääketieteen ja muilla aloilla, joilla automatisoituja toimijoita voidaan tarvita. Mitä monimutkaisempi, sitä enemmän toiminnallisuutta.