Opisaliśmy programy agentowe z różnymi metodami wybierania akcji. Jak dotąd nie wyjaśniliśmy, jak powstają programy agentowe. W swoim słynnym, wczesnym artykule Turing (1950) rozważa pomysł ręcznego programowania inteligentnych maszyn. Szacuje, ile pracy może to zająć, i podsumowuje: „Pożądana wydaje się szybsza metoda”. Proponowana przez niego metoda polega na zbudowaniu uczących się maszyn, a następnie nauczaniu ich. W wielu obszarach sztucznej inteligencji jest to obecnie preferowana metoda tworzenia najnowocześniejszych systemów. Każdy rodzaj agenta (oparty na modelu, oparty na celu, oparty na użyteczności itp.) może być zbudowany jako agent uczący się (lub nie). Uczenie ma jeszcze jedną zaletę, jak zauważyliśmy wcześniej: pozwala agentowi działać w początkowo nieznanych środowiskach i stać się bardziej kompetentnymi, niż pozwalała na to sama jego początkowa wiedza. W tej sekcji pokrótce przedstawiamy główne idee uczące się agentów. Agentów uczących się można podzielić na cztery komponenty pojęciowe, jak pokazano na rysunku .
Najważniejszym rozróżnieniem jest element uczenia się, który odpowiada za wprowadzanie ulepszeń, oraz element wydajności, który odpowiada za wybór działań zewnętrznych. Elementem performatywnym jest to, co wcześniej uważaliśmy za całego agenta: przyjmuje percepcje i decyduje o działaniach. Element uczenia się wykorzystuje informację zwrotną od krytyka na temat tego, jak sprawuje się agent, i określa, w jaki sposób należy zmodyfikować element wydajności, aby działał lepiej w przyszłości.
Projekt elementu uczenia się zależy w dużej mierze od projektu elementu wydajności. Kiedy próbujesz zaprojektować agenta, który uczy się pewnych zdolności, pierwsze pytanie nie brzmi: „Jak mam go przekonać, żeby się tego nauczył?”. ale „Jakiego rodzaju elementu wydajności użyje mój agent, aby to zrobić, gdy nauczy się, jak?” Biorąc pod uwagę projekt elementu wydajności, można skonstruować mechanizmy uczenia się, aby ulepszyć każdą część agenta. Krytyk mówi elementowi uczenia się, jak dobrze agent radzi sobie w odniesieniu do ustalonego standardu wydajności. Krytyk jest konieczny, ponieważ same spostrzeżenia nie wskazują na sukces agenta. Na przykład program szachowy może otrzymać percept wskazujący, że zamatował swojego przeciwnika, ale potrzebuje standardu wykonania, aby wiedzieć, że to dobra rzecz; samo postrzeganie tego nie mówi. Ważne jest ustalenie standardu wydajności. Koncepcyjnie należy myśleć o nim jako o całkowicie poza agentem, ponieważ agent nie może go modyfikować, aby pasował do jego własnego zachowania. Ostatnim składnikiem agenta uczącego jest generator problemów. Jest odpowiedzialny za proponowanie działań, które doprowadzą do nowych i pouczających doświadczeń. Jeśli element wydajności miałby swój sposób, nadal wykonywałby działania, które są najlepsze, biorąc pod uwagę to, co wie, ale jeśli agent chce trochę zbadać i wykonać kilka, być może nieoptymalnych działań na krótką metę, może odkryć znacznie lepsze działania na dłuższą metę. Zadaniem generatora problemów jest zasugerowanie tych działań eksploracyjnych. To właśnie robią naukowcy, kiedy przeprowadzają eksperymenty. Galileusz nie uważał, by zrzucanie kamieni ze szczytu wieży w Pizie było samo w sobie wartościowe. Nie próbował rozbijać skał ani modyfikować mózgów nieszczęsnych przechodniów. Jego celem było zmodyfikowanie własnego mózgu poprzez zidentyfikowanie lepszej teorii ruchu obiektów. Element uczący się może dokonywać zmian w dowolnym z komponentów „wiedzy” przedstawionych na diagramach agentów. Najprostsze przypadki polegają na uczeniu się bezpośrednio na podstawie sekwencji percepcji. Obserwacja par kolejnych stanów otoczenia może pozwolić agentowi na poznanie „Co robią moje działania” i „Jak ewoluuje świat” w odpowiedzi na jego działania. Na przykład, jeśli zautomatyzowana taksówka wywiera określone ciśnienie hamowania podczas jazdy po mokrej drodze, wkrótce dowie się, jak duże opóźnienie zostało faktycznie osiągnięte i czy zjeżdża z drogi. Generator problemów może zidentyfikować pewne części modelu, które wymagają poprawy i zasugerować eksperymenty, takie jak wypróbowanie hamulców na różnych nawierzchniach w różnych warunkach.
Poprawienie komponentów modelu agenta opartego na modelu, tak aby lepiej odpowiadały rzeczywistości, jest prawie zawsze dobrym pomysłem, niezależnie od zewnętrznego standardu wydajności. (W niektórych przypadkach z obliczeniowego punktu widzenia lepiej jest mieć prosty, ale nieco niedokładny model, niż doskonały, ale piekielnie złożony model). Informacje ze standardu zewnętrznego są potrzebne, gdy próbujemy nauczyć się składnika odruchowego lub funkcji użyteczności . Załóżmy na przykład, że taksówkarz nie otrzymuje napiwków od pasażerów, którzy zostali mocno wstrząśnięci podczas podróży. Zewnętrzny standard wydajności musi informować agenta, że utrata napiwków ma negatywny wpływ na jego ogólną wydajność; wtedy agent może być w stanie dowiedzieć się, że gwałtowne manewry nie przyczyniają się do jego własnej użyteczności. W pewnym sensie standard wydajności rozróżnia część nadchodzącej percepcji jako nagrodę (lub karę), która zapewnia bezpośrednią informację zwrotną na temat jakości zachowania agenta. W ten sposób można zrozumieć ustalone na stałe standardy wydajności, takie jak ból i głód u zwierząt. Bardziej ogólnie, ludzkie wybory mogą dostarczyć informacji o ludzkich preferencjach. Załóżmy na przykład, że taksówka nie wie, że ludzie na ogół nie lubią głośnych dźwięków, i poprzestaje na idei ciągłego trąbienia klaksonem, aby upewnić się, że piesi wiedzą, że nadjeżdża. Wynikające z tego ludzkie zachowanie — zakrywanie uszu, używanie wulgarnego języka i prawdopodobnie przecinanie przewodów do klaksonu -dostarczyłoby agentowi dowodów, dzięki którym może zaktualizować swoją funkcję użytkową. Podsumowując, agenci mają różne komponenty, które mogą być reprezentowane w programie agenta na wiele sposobów, więc wydaje się, że istnieje duża różnorodność metod uczenia się. Jest jednak jeden wspólny motyw. Uczenie się inteligentnych agentów można podsumować jako proces modyfikacji każdego komponentu agenta, aby lepiej dopasować komponenty do dostępnych informacji zwrotnych, poprawiając w ten sposób ogólną wydajność agenta.