Same cele nie wystarczą do wygenerowania wysokiej jakości zachowań w większości środowisk. Na przykład wiele sekwencji działań doprowadzi taksówkę do miejsca przeznaczenia (tym samym osiągając cel), ale niektóre są szybsze, bezpieczniejsze, bardziej niezawodne lub tańsze niż inne. Cele zapewniają jedynie prymitywne, binarne rozróżnienie między stanami „szczęśliwymi” i „nieszczęśliwymi”. Bardziej ogólna miara wydajności powinna umożliwiać porównanie różnych stanów świata według tego, jak dokładnie uszczęśliwiłyby agenta. Ponieważ „szczęśliwy” nie brzmi zbyt naukowo, ekonomiści i informatycy zamiast tego używają terminu „użyteczność”. Widzieliśmy już, że miara wydajności przypisuje punktację do dowolnej sekwencji stanów środowiska, dzięki czemu może łatwo odróżnić bardziej i mniej pożądane sposoby dotarcia do miejsca docelowego taksówki. Funkcja użyteczności agenta jest zasadniczo internalizacją miary wydajności. Zakładając, że wewnętrzna funkcja użyteczności i zewnętrzna miara wydajności są zgodne, agent, który wybiera działania w celu maksymalizacji swojej użyteczności, będzie racjonalny zgodnie z zewnętrzną miarą wydajności. Podkreślmy jeszcze raz, że nie jest to jedyny sposób na bycie racjonalnym — widzieliśmy już racjonalny program agenta dla świata próżni, który nie ma pojęcia, jaka jest jego użyteczność , ale podobnie jak agenty oparte na celach, agent oparty na narzędziach ma wiele zalet pod względem elastyczności i uczenia się. Co więcej, w dwóch przypadkach cele są nieadekwatne, ale podmiot oparty na użyteczności może nadal podejmować racjonalne decyzje. Po pierwsze, gdy istnieją sprzeczne cele, z których tylko niektóre można osiągnąć (na przykład szybkość i bezpieczeństwo), funkcja użyteczności określa odpowiedni kompromis. Po drugie, gdy istnieje kilka celów, do których może dążyć agent, z których żadnego nie można osiągnąć z całą pewnością, użyteczność zapewnia sposób, w jaki prawdopodobieństwo sukcesu można porównać ze znaczeniem celów. Częściowa obserwowalność i niedeterminizm są wszechobecne w realnym świecie, a zatem podejmowanie decyzji odbywa się w warunkach niepewności. Technicznie rzecz biorąc, podmiot racjonalny oparty na użyteczności wybiera działanie, które maksymalizuje oczekiwaną użyteczność wyników działania, tj. użyteczność, którą agent oczekuje średnio, biorąc pod uwagę prawdopodobieństwa i użyteczności każdego z nich.
Później pokazujemy, że każdy racjonalny podmiot musi zachowywać się tak, jakby posiadał funkcję użyteczności, której wartość oczekiwaną próbuje zmaksymalizować. Agent posiadający jawną funkcję użyteczności może podejmować racjonalne decyzje za pomocą algorytmu ogólnego przeznaczenia, który nie zależy od maksymalizacji określonej funkcji użyteczności. W ten sposób „globalna” definicja racjonalności – określająca jako racjonalne te funkcje agenta, które mają najwyższą wydajność – zostaje przekształcona w „lokalne” ograniczenie na racjonalne projekty agenta, które można wyrazić w prostym programie. Struktura agenta oparta na narzędziach została przedstawiona na rysunku.
W tym momencie czytelnik może się zastanawiać: „Czy to takie proste? Po prostu budujemy agentów, które maksymalizują oczekiwaną użyteczność i gotowe?” To prawda, że tacy agenci byliby inteligentni, ale to nie jest proste. Agent oparty na narzędziach musi modelować i śledzić swoje środowisko, zadania, które wymagały wielu badań dotyczących percepcji, reprezentacji, rozumowania i uczenia się. Wyniki tych badań wypełniają wiele części tej książki. Wybór sposobu działania maksymalizującego użyteczność jest również trudnym zadaniem, wymagającym pomysłowych algorytmów wypełniających jeszcze kilka rozdziałów. Nawet w przypadku tych algorytmów doskonała racjonalność jest zwykle nieosiągalna w praktyce ze względu na złożoność obliczeniową, jak zauważyliśmy w Części 1 . Zauważamy również, że nie wszystkie agenty oparte na narzędziach są oparte na modelach; Zobaczymy w rozdziałach 22 i 26, że agent wolny od modeli może dowiedzieć się, jakie działanie jest najlepsze w konkretnej sytuacji, nigdy nie dowiadując się dokładnie, jak to działanie zmienia środowisko. Wreszcie, wszystko to zakłada, że projektant może poprawnie określić funkcję narzędzia.