Teraz, gdy mamy już definicję racjonalności, jesteśmy prawie gotowi pomyśleć o budowaniu racjonalnych agentów. Najpierw jednak musimy pomyśleć o środowiskach zadaniowych, które są zasadniczo „problemami”, dla których racjonalni agenci są „rozwiązaniami”. Zaczynamy od pokazania, jak sprecyzować środowisko zadania, ilustrując proces kilkoma przykładami. Następnie pokazujemy, że środowiska zadaniowe występują w różnych odmianach. Charakter środowiska zadaniowego bezpośrednio wpływa na odpowiedni projekt programu agenta.
2.3.1 Określanie środowiska zadania
W naszej dyskusji na temat racjonalności prostego środka do odkurzacza musieliśmy określić miarę wydajności, środowisko oraz siłowniki i czujniki środka. Wszystkie te elementy grupujemy pod nagłówkiem środowiska zadaniowego. Dla osób myślących akronimicznie nazywamy to opisem PEAS (Performance, Environment, Actuators, Sensors). Projektując agenta, pierwszym krokiem zawsze musi być jak najpełniejsze określenie środowiska zadań. Świat próżni był prostym przykładem; rozważmy bardziej złożony problem: zautomatyzowany taksówkarz. Każdy element omawiamy bardziej szczegółowo w kolejnych akapitach. Po pierwsze, do jakiej miary wydajności chcielibyśmy, aby nasz zautomatyzowany kierowca dążył? Pożądane cechy obejmują dotarcie do właściwego celu; minimalizacja zużycia paliwa i zużycia; minimalizacja czasu lub kosztów podróży; minimalizowanie naruszeń przepisów ruchu drogowego i przeszkadzania innym kierowcom; maksymalizacja bezpieczeństwa i komfortu pasażerów; maksymalizacja zysków. Oczywiście niektóre z tych celów są sprzeczne, więc konieczne będą kompromisy. Następnie, jakie jest środowisko jazdy, z którym będzie musiała zmierzyć się taksówka? Każdy taksówkarz musi radzić sobie z różnymi drogami, od wiejskich i miejskich po 12-pasmowe autostrady. Na drogach jest inny ruch, pieszych, bezpańskie zwierzęta, roboty drogowe, samochody policyjne, kałuże i wyboje. Taksówka musi również wchodzić w interakcje z potencjalnymi i rzeczywistymi pasażerami. Istnieje również kilka opcjonalnych wyborów. Taksówka może potrzebować jechać w południowej Kalifornii, gdzie śnieg rzadko stanowi problem, lub na Alasce, gdzie rzadko go nie ma. Zawsze może to być jazda z prawej strony, lub możemy chcieć, aby była wystarczająco elastyczna, aby jechać lewą stroną w Wielkiej Brytanii lub Japonii. Oczywiście im bardziej ograniczone środowisko, tym łatwiejszy problem projektowy.
Siłowniki w zautomatyzowanej taksówce obejmują te dostępne dla kierowcy: sterowanie silnikiem za pomocą akceleratora oraz sterowanie kierowaniem i hamowaniem. Ponadto będzie potrzebować wyjścia na ekran wyświetlacza lub syntezatora mowy, aby porozmawiać z pasażerami i być może jakiś sposób komunikacji z innymi pojazdami, grzecznie lub w inny sposób. Podstawowe czujniki dla taksówki będą obejmować jedną lub więcej kamer wideo, aby mogła widzieć, a także czujniki lidarowe i ultradźwiękowe do wykrywania odległości do innych samochodów i przeszkód. Aby uniknąć mandatów za przekroczenie prędkości, taksówka powinna mieć prędkościomierz, a do prawidłowego prowadzenia pojazdu, zwłaszcza na zakrętach, powinna posiadać akcelerometr. Aby określić stan mechaniczny pojazdu, będzie on potrzebował zwykłego zestawu czujników silnika, paliwa i układu elektrycznego. Podobnie jak wielu ludzkich kierowców, może chcieć uzyskać dostęp do sygnałów GPS, aby się nie zgubić. Wreszcie, będzie potrzebować ekranu dotykowego lub wprowadzania głosowego, aby pasażer zażądał miejsca docelowego. Przykłady obejmują środowiska fizyczne i wirtualne. Zwróć uwagę, że wirtualne środowiska zadań mogą być tak samo złożone, jak „rzeczywisty” świat: na przykład agent oprogramowania (lub robot programowy lub softbot), który handluje na aukcjach i odsprzedaje witryny internetowe, obsługuje miliony innych użytkowników i miliardy obiektów, wiele z prawdziwymi obrazami.