Chociaż jest to tak naprawdę kwestia handlu detalicznego, a nie business-to-business, jest to pouczający przykład na początek. Specyfikacja jest prosta: zaprojektuj agenta handlowego, który może znaleźć „najlepszą” ofertę na konkretny produkt, wyszukując go w sieci. W ten sposób problem jest zwykle określany w powierzchownych stwierdzeniach o cudownych mocach zautomatyzowanych agentów i często twierdzi się, że „wkrótce” tę zdolność osiągną. To oczywiście straszna specyfikacja, której żaden człowiek, nie mówiąc już o maszynie, nigdy nie powinien zaakceptować. Nie można go też rzetelnie ocenić. Przede wszystkim cel nie jest wystarczająco dobrze zdefiniowany. Co rozumiemy przez „najlepszy”? Czy mamy na myśli najniższą cenę? Najszybsza dostawa? Jak szybko oczekujemy odpowiedzi? (Czy naprawdę mamy przeszukiwać całą sieć?) i tak dalej. Widzimy, że nawet ten bardzo prosty przykład wymaga gruntownej analizy polityki biznesowej kupowania najlepszej oferty (np. „zdobądź najtaniej!”). Musimy również określić zaangażowany proces biznesowy („Przejdź do wybranej listy witryn internetowych w celu uzyskania informacji o cenach; odeślij wynik przed przerwą obiadową” itp.). Już teraz musieliśmy włożyć duży wkład człowieka w to, co ma być procesem zautomatyzowanym. Załóżmy jednak, że udało nam się określić, czego chcemy i na jakich warunkach. Następnie musimy to określić w zestawach standardowych terminów. Proces zakupowy definiujemy w kategoriach stosunkowo niekontrowersyjnych elementów: wyszukania specyfikacji, sprawdzenia warunków, sprawdzenia historii kredytowej, podania szczegółów płatności i dostawy itp. Możliwe, że te elementy z kolei mogą być zbudowane z zestawów wspólne obiekty biznesowe (CBO). Jest to jeden z celów Object Management Group (OMG – patrz strona 149), która stara się osiągnąć standaryzację w tym obszarze. Nie ma sensu próbować minimalizować „ceny”, jeśli termin nie został zdefiniowany, czy to jako przedmiot, czy jako część innego. Musimy wstrzymać się z oceną, kiedy rzeczywiście, czy OMG odniesie pełny sukces w zidentyfikowaniu wszystkich niezbędnych CBO. Jeśli jednak agenci stworzeni przez różne strony mają w ogóle móc negocjować, będzie musiała istnieć przynajmniej wspólna definicja istotnych „rzeczy” (najprawdopodobniej „obiektów”), które są zaangażowane w transakcję. Od każdej próby narzucenia modelu obiektowego na poziomie biznesowym wymagane jest również to, aby rozsądnie mapował on komponenty oprogramowania pośredniego w starszych systemach. Jest prawdopodobne, że Extensible Mark-up Language (XML) będzie odgrywał ważną rolę w definiowaniu elementów, które składają się na proces handlu online. Jak omówiono na stronie 179, XML zapewnia prosty i skalowalny sposób definiowania terminów i publikowania tej definicji on-line. W najprostszej formie moglibyśmy wyobrazić sobie grupę dostawców, prywatnie lub za pośrednictwem stowarzyszenia handlowego, ustalających uzgodnioną definicję terminów takich jak „producent”, „model”, „cena”, „ilość”, „termin dostawy”. ‘, i tak dalej. Zgadzają się opublikować ten zestaw definicji on-line, jak na przykład definicja typu dokumentu XML (DTD), która będzie zawierać listę tych nazw i być może jednostek, w których są wyrażone. Następnie możemy sobie wyobrazić, że uwzględnią te terminy jako metatagi , gdzieś na swoich stronach katalogu on-line. Dostawca A może mieć:
To (w rzeczywistości raczej uproszczone w stosunku do rzeczywistości) mówi nam, że model CarverKing jest dostępny w cenie 500 funtów w ciągu 30 dni. Z drugiej strony sprzedawca B może zaoferować:
To znaczy droższa, ale szybsza dostawa. Teraz zaczynamy dostrzegać, jak można zaprojektować bardzo prostego agenta zakupów, aby sprawdzić te witryny w celu uzyskania „najlepszej” oferty. Musimy zaprogramować agenta zgodnie z formatem DTD, aby mógł „zrozumieć”, co oznacza „model”, itp. Następnie potrzebujemy interfejsu, który pozwoli użytkownikowi wpisywać informacje zgodnie z tymi terminami. Na przykład jedno pole formularza wymagałoby informacji o „modelu”. Musimy powiedzieć agentowi, gdzie ma szukać stron, na których znajdzie metatagi, które może odczytać. Aby to zrobić, musimy zdefiniować strategię. Ponownie, parametry dla tego są ustawione przez człowieka. Jedną z możliwości byłoby po prostu powiedzieć mu, aby „idź do Altavista i wyszukał to, co użytkownik umieścił w modelu. na formularzu internetowym agenta (w tym przypadku „CarverKing”). Altavista zwróci adresy URL wielu trafień. Agent jest teraz zaprogramowany tak, aby odwiedzał kolejno każde z tych trafień i szukał dowodów użycia metatagów ,producent, ,model itp. i ewentualnie odniesienia do DTD. Ten dowód powie agentowi, że rzeczywiście patrzy na stronę, na której towary są opisane w zrozumiałym dla niego języku i formacie. Dzięki temu może niezawodnie wydobywać informacje ze stron. Teraz musi wydać rekomendację zakupową. Jego prostym celem jest uzyskanie „najlepszej” oferty. Ale jak to najlepiej definiuje? Właściwie ponownie wymagana jest interwencja człowieka. Musi istnieć definicja „najlepszego” dostarczona agentowi przez osobę, która chce kupić towar. Agent jest „tylko człowiekiem”, przynajmniej pod tym względem! „Najlepszy” można by określić jako „najtańszy”, w którym tylko „cena”. informacje zostaną wykorzystane. Być może preferowany jest bardziej złożony algorytm: użytkownik może określić równowagę między ceną a dostawą. (Można obliczyć ważoną sumę ceny i daty dostawy, być może również z ogólnymi limitami na którekolwiek z nich.) Algorytm ten zostałby zaprogramowany jako strategia podrzędna. To, co chcemy w tym wszystkim wyjaśnić, to niemagiczna natura tego procesu. Po pierwsze, nie ma możliwości, aby agenci mogli odgadnąć cele zakupowe użytkownika, mimo że, jak zobaczymy, mogą uczyć się z doświadczenia. Po drugie, wybór agenta będzie tylko tak dobry, jak pozwala na to strategia, a większość strategii jest stosunkowo naiwna. Nikt nie może zagwarantować, że znajdzie „najlepszy zakup”, nawet przy jasnej definicji celu. Oczywiście agenci mogą mieć bardziej inteligentne strategie niż w przykładzie opisanym powyżej. Miało to tę zaletę, że przy użyciu specyfikacji XML, było mało prawdopodobne, aby pomyliły się w faktach. Ale równie dobrze mogło przegapić lepsze oferty, które nie zostały zaprogramowane w XML. Wiele badań nad agentami jest zaangażowanych w budowanie agentów, którzy potrafią podejmować dobre próby czytania wolnego tekstu, zamiast tego, który został celowo metatagowany zgodnie z ustalonym planem. Daje to więcej odpowiedzi i być może lepsze okazje, ale kosztem niezawodności.