Odkryłem, że projektowałem moje narzędzia AI w odwrotny sposób. Oto przykład. To był mój proces przetwarzania newsletterów: czytanie e-maili, wywoływanie procesora newsletterów, ekstrakcja firm, a następnie dodawanie ich do CRM. To obejmowało cztery różne kroki, kosztując 3,69 USD za każde tysiąc przetworzonych newsletterów. Przed: Proces przetwarzania newsletterów (pierwszy obraz) Następnie stworzyłem zintegrowane narzędzie do newsletterów, które połączyło wszystko, korzystając z Google Agent Development Kit, frameworka Google do budowania narzędzi AI klasy produkcyjnej: (drugi obraz) Dlaczego zintegrowane narzędzie do newsletterów jest bardziej skomplikowane? Zawiera wiele działań w jednym interfejsie (przetwarzanie, wyszukiwanie, ekstrakcja, walidacja), implementuje zarządzanie stanem, które śledzi wzorce użycia i buforuje wyniki, ma wbudowane ograniczenia przepustowości i produkuje strukturalne wyjścia JSON z metadanymi zamiast zwykłego tekstu. Ale oto część, która jest nieintuicyjna: mimo że jest bardziej złożone wewnętrznie, zintegrowane narzędzie jest prostsze w użyciu dla LLM, ponieważ dostarcza spójne, strukturalne wyjścia, które są łatwiejsze do przetworzenia, mimo że te wyjścia są dłuższe. Aby zrozumieć wpływ, przeprowadziliśmy testy 30 iteracji na każdy scenariusz testowy. Wyniki pokazują wpływ nowej architektury: (trzeci obraz) Udało nam się zmniejszyć liczbę tokenów o 41% (p=0.01, statystycznie istotne), co przełożyło się liniowo na oszczędności kosztów. Wskaźnik sukcesu poprawił się o 8% (p=0.03), a my byliśmy w stanie trafić do pamięci podręcznej 30% czasu, co jest kolejną oszczędnością kosztów. Podczas gdy poszczególne narzędzia produkowały krótsze, "czystsze" odpowiedzi, zmuszały LLM do cięższej pracy przy analizowaniu niespójnych formatów. Strukturalne, kompleksowe wyjścia z zintegrowanych narzędzi umożliwiły bardziej efektywne przetwarzanie LLM, mimo że były dłuższe. Mój przepływ pracy opierał się na dziesiątkach wyspecjalizowanych narzędzi Ruby do e-maili, badań i zarządzania zadaniami. Każde narzędzie miało swój własny interfejs, obsługę błędów i format wyjścia. Łącząc je w narzędzia meta, ostateczna wydajność jest lepsza, a oszczędności kosztów są ogromne. Pełną architekturę można znaleźć na GitHubie.