Koszt przepustowości proxy dla agenta AI: Rzeczywiste liczby na zadanie

Agent przeglądarki pobiera każdy obraz, czcionkę i tracker na każdym kroku. Przy 8 nawigacjach na zadanie to 24 MB - około 700 GB miesięcznie przy tysiącu zadań dziennie. Oto, gdzie to idzie i jak to zmniejszyć.

Koszt przepustowości proxy dla agenta AI, na który nikt nie planuje budżetu, to ten, który pojawia się z przeglądarką. Skrypt HTTP pobiera HTML, który analizuje, i na tym kończy. Agent uruchamia prawdziwy Chromium: pobiera obrazy, aby krok wizji mógł je zobaczyć, czcionki internetowe, aby układ się ustabilizował, sygnały analityczne, ponieważ nikt mu nie powiedział, żeby tego nie robił - i robi to ponownie przy każdej nawigacji, przy każdym ponownym uruchomieniu, dla każdego zadania. Ten post wykonuje arytmetykę na głos, pokazuje, jak zmierzyć własną liczbę zamiast ufać naszej, i wymienia dźwignie, które obniżają rachunek za gigabajt rezydencjalny o około 10x.

Arytmetyka: waga strony razy kroki razy zadania

Zacznij od pomiarów, które opublikowaliśmy wcześniej: pełne renderowanie nowoczesnej strony w przeglądarce przesyła 2-5 MB, gdy wchodzą obrazy, media, czcionki i skrypty zewnętrzne, podczas gdy ta sama strona z zablokowanymi zasobami często ma mniej niż 150 KB HTML. Przyjmij 3 MB jako roboczą średnią dla nowego ładowania strony. Teraz licz nawigacje zamiast kroków - agent, który klika wewnątrz jednej strony, pobiera bardzo mało ponownie, ale każdy nowy URL to nowa strona. Realistyczne zadanie badawcze lub sprawdzanie cen dotyka około ośmiu z nich:

Siedem centów za zadanie brzmi trywialnie, dopóki nie stanie się największą pozycją w ekonomii jednostkowej twojego agenta. W przeciwieństwie do tokenów, skaluje się to z ciężarem twoich celów, a nie z trudnością zadania: trywialne zadanie na rynku bogatym w obrazy kosztuje więcej niż złożone na stronie tekstowej. Jeśli wycena per-GB jest dla ciebie nowością, nasz podział co faktycznie kupuje gigabajt rezydencjalny obejmuje stronę na GB tej samej równania.

Zmierz swój własny koszt przepustowości proxy dla agenta AI

Nasz jest średnią; twój zależy całkowicie od twoich celów. Chromium może zapisać plik HAR dla każdego żądania, które wykonuje, a użycie przeglądarki ujawnia to przez record_har_path. Użyj record_har_mode="full", aby pola rozmiaru były wypełnione, i record_har_content="omit", aby uzyskać liczbę bajtów bez osadzania każdego ciała odpowiedzi w pliku:

from browser_use import Browser

browser = Browser(
    proxy={
        "server": "http://gate.quantumproxies.io:8000",
        "username": "USER",
        "password": "PASS",
    },
    record_har_path="./runs/task-01.har",
    record_har_mode="full",     # 'minimal' drops the size fields you need
    record_har_content="omit",  # sizes yes, response bodies no
)

Następnie zsumuj to. Proxy nalicza opłaty w obu kierunkach, więc nagłówki żądań też się liczą, a HAR zapisuje -1, gdy rozmiar jest nieznany - ogranicz je do zera, zamiast pozwalać im na ciche odejmowanie:

import json, sys

har = json.load(open(sys.argv[1]))
entries = har["log"]["entries"]

def size(d, *keys):
    return sum(max(0, d.get(k, 0) or 0) for k in keys)

total = 0
by_type = {}
for e in entries:
    up = size(e["request"], "headersSize", "bodySize")
    down = size(e["response"], "headersSize", "bodySize")
    total += up + down
    mime = e["response"].get("content", {}).get("mimeType", "?").split(";")[0]
    by_type[mime] = by_type.get(mime, 0) + up + down

print(f"{len(entries)} requests, {total/1_048_576:.2f} MB billed")
for mime, n in sorted(by_type.items(), key=lambda kv: -kv[1])[:8]:
    print(f"  {n/1024:8.0f} KB  {mime}")

Uruchom to na trzech reprezentatywnych zadaniach i masz rzeczywisty koszt na zadanie. Podział na MIME jest przydatną częścią: na większości stron konsumenckich najwyższe wiersze to obrazy, wideo, czcionki i analityka, a żaden z nich nie zasila rozumowania twojego agenta.

Statystyki dla przepustowości agenta AI: 3 MB na nową stronę, 24 MB na zadanie, około 700 GB miesięcznie przy tysiącu zadań dziennie i 10-krotne zmniejszenie przy zablokowanych zasobach
Osiem nawigacji po 3 MB każda to 24 MB na zadanie. Pomnóż przez swoją dzienną objętość, zanim wybierzesz plan per-GB.

Dźwignia 1: przestań pobierać to, czego agent nigdy nie czyta

To jest najważniejsze i samo w sobie warte 5-10x. W Playwright lub Puppeteer przechwytujesz żądania i przerywasz według typu zasobu - przepis jest w naszym przewodniku jak zmniejszyć rachunek za GB proxy. W użyciu przeglądarki masz dwa bardziej tępe, ale skuteczne narzędzia: flagi uruchamiania Chromium przez args i domyślny zestaw rozszerzeń, który zawiera uBlock Origin plus obsługę ciasteczek i czyszczenie URL i jest włączony przez enable_default_extensions. Pozostaw to włączone - każde wezwanie do reklamy i trackera, które zabija, to wezwanie, za które nie jesteś obciążany.

browser = Browser(
    proxy=PROXY,
    enable_default_extensions=True,   # uBlock Origin: fewer tracker requests
    args=[
        "--blink-settings=imagesEnabled=false",   # no image bytes at all
        "--disable-remote-fonts",                 # no web font downloads
        "--autoplay-policy=user-gesture-required",# no video streaming itself
        "--mute-audio",
    ],
)

Jedno uczciwe zastrzeżenie: zabijanie obrazów oślepia agenta opartego na wizji. Jeśli twój agent rozumuje nad zrzutami ekranu, przetestuj go z wyłączonymi obrazami przed wysyłką - wiele zadań przetrwa, ponieważ DOM nadal zawiera tekst i strukturę, ale zadanie, które identyfikuje produkty po zdjęciu, nie przetrwa. Jeśli się zepsuje, usuń imagesEnabled=false i zachowaj oszczędności na czcionkach, mediach i trackerach, które nadal stanowią większość wygranej.

Dźwignia 2: ogrodź agenta

Agent, który się zgubi, to agent strumieniujący wideo przez twoją mierzoną bramę rezydencjalną. Użycie przeglądarki ma allowed_domains i prohibited_domains dokładnie do tego, przy czym allowed_domains ma pierwszeństwo, gdy ustawisz oba. Wzorce takie jak *.example.com obejmują subdomeny; dzikie karty w pozycji TLD są celowo odrzucane, a listy powyżej stu wpisów są optymalizowane do zestawów. Ustaw to na każdym agencie produkcyjnym - to kontrola kosztów, zanim stanie się kontrolą bezpieczeństwa.

Dźwignia 3: ponowne użycie profilu i ograniczenie ponownych prób

Świeży profil incognito na każde uruchomienie oznacza pustą pamięć podręczną HTTP, więc agent ponownie pobiera to samo logo, arkusz stylów i pakiet frameworka przy każdym zadaniu na tej samej stronie. Wskazanie user_data_dir na trwały katalog pozwala pamięci podręcznej wykonywać swoją pracę między uruchomieniami. Kompromis to tożsamość: pamięć podręczna, profil z ciasteczkami to stabilny odcisk palca, więc przypisz jeden profil do jednego lepkiego wyjścia IP, zamiast pozwalać mu wędrować po puli - parowanie jest omówione w naszym przewodniku konfiguracji proxy użycia przeglądarki.

Ponowne próby to drugi cichy mnożnik. Trzy próby na stronie 3 MB zamieniają jedną nieudaną nawigację w 9 MB, a agenci próbują ponownie częściej niż skrypty, ponieważ model ciągle decyduje się "spróbować ponownie". Ogranicz to do jednej ponownej próby i spraw, aby przełącznik ponownej próby zmieniał wyjście IP zamiast powtarzać to samo żądanie przez ten sam zablokowany adres. Dwie próby przez dwa IP pokonują pięć przez jedno, przy 40% bajtów.

Zobacz, ile kosztuje gigabajt na rezydencjalnych proxy płatnych za GB

Lista kontrolna porównująca dźwignie, które zmniejszają przepustowość agenta AI - blokowanie zasobów, blokowanie reklam, ogrodzenie domen, ponowne użycie profilu, ograniczenie ponownych prób - z nawykami, które ją spalają
Cztery dźwignie, ułożone w stos, zmniejszają agenta przeglądania z 24 MB na zadanie do około 2.4 MB bez zmiany tego, co może zrobić.

Dźwignia 4: nie używaj agenta, którego nie potrzebujesz

To jest szczera część. Agent zarabia na swoim koszcie, gdy ścieżka jest nieznana - gdy musi szukać, czytać, decydować i nawigować do danych, których URL nikt nie mógłby wcześniej zapisać. Kiedy już znasz URL i pola, uruchamianie przeglądarki, aby je uzyskać, to najdroższy sposób na to. Scraper API, który zwraca czysty markdown lub JSON, dostarcza tę samą stronę jako około 30-60 KB wyodrębnionego tekstu zamiast 3 MB renderu, ponieważ usuwanie zasobów i parsowanie odbywa się na krawędzi, a ty płacisz za wynik, a nie za surowy ruch. Przy wycenie per-żądaniówka, która zazwyczaj wynosi

-3 za tysiąc udanych żądań na rynku, osiem stron kosztuje grosze.

Wzorzec, który wygrywa w produkcji, to hybryda: pozwól agentowi eksplorować i decydować, a następnie przekaż powtarzalną część do ścieżki API. Gdy odkryje, że cena znajduje się pod konkretnym URL w konkretnym polu, to wyszukiwanie nigdy nie powinno ponownie przechodzić przez przeglądarkę. Nasze notatki na temat przeglądarki bezgłowej w porównaniu do żądań HTTP kwantyfikują ten sam kompromis dla klasycznego skrobania, a szerszy stos agentów jest w infrastrukturze sieciowej dla agentów AI.

Jak wygląda zoptymalizowany rachunek

Ułóż dźwignie i przelicz arytmetykę. Zablokowane zasoby zmniejszają średnią nową stronę z 3 MB do około 300 KB, więc osiem nawigacji staje się 2.4 MB zamiast 24 MB. Tysiąc zadań dziennie to wtedy około 2.3 GB dziennie i 70 GB miesięcznie - $70-420 przy stawkach rynkowych, w porównaniu do $700-4,200 wcześniej. Nic w zdolności agenta się nie zmieniło; po prostu przestał płacić za pobieranie zdjęć, na które nigdy nie spojrzał.

Najczęściej zadawane pytania

Ile przepustowości zużywa agent AI?

Planuj około 3 MB na nowe ładowanie strony z włączonymi zasobami, więc około 24 MB na zadanie, które dotyka ośmiu URL. Strony bogate w wideo zużywają kilka razy więcej; strony tekstowe mniej. Zmierz swoje za pomocą nagrania HAR, zamiast zakładać - rozpiętość między stronami docelowymi jest większa niż rozpiętość między frameworkami agentów.

Dlaczego agenci zużywają więcej przepustowości niż skrypty?

Skrypt pobiera jeden dokument i go analizuje. Agent renderuje pełną stronę - obrazy, czcionki, media, analitykę - ponieważ potrzebuje, aby strona zachowywała się jak strona, i robi to ponownie przy każdej nawigacji i każdej ponownej próbie. Również eksploruje: odwiedza strony, których skrypt nigdy by nie zażądał, ponieważ nie wie z góry, która z nich zawiera odpowiedź.

Czy wywołania API LLM przechodzą przez proxy?

Nie powinny. Skonfiguruj proxy tylko na sesji przeglądarki. Jeśli ustawisz HTTP_PROXY lub HTTPS_PROXY jako zmienne środowiskowe, aby być dokładnym, każde żądanie modelu przechodzi przez twoją mierzoną bramę rezydencjalną - zapytania i odpowiedzi, na każdym kroku. To czyste marnotrawstwo i jedna z najłatwiejszych dużych oszczędności do znalezienia w istniejącym agencie.

Czy API do skrobania jest tańsze niż agent?

Dla znanych URL i znanych pól, prawie zawsze. Otrzymujesz przetworzony markdown lub JSON mierzony w dziesiątkach kilobajtów zamiast wielomegabajtowego renderu, a wycena per-żądaniówka na rynku wynosi około

-3 za tysiąc udanych wywołań. Agent jest wart swojego kosztu, gdy ścieżka musi być odkryta - użyj go do eksploracji, a następnie przekaż powtarzalne wyszukiwania do API.

Czy agenci powinni używać proxy centrów danych, aby zaoszczędzić pieniądze?

Tam, gdzie cel je toleruje, tak - przepustowość centrów danych jest kilka razy tańsza za gigabajt, a prędkość jest lepsza. Haczyk polega na tym, że ruch agenta już wygląda na nie-ludzki, więc IP centrum danych na chronionej stronie ma tendencję do niepowodzenia, a nieudane zadanie kosztuje swoje bajty dwa razy. Domyślnie używaj centrum danych na niechronionych celach i zarezerwuj rezydencjalne dla stron, które faktycznie filtrują według reputacji IP.

Przepustowość to cichy element w ekonomii agentów, a odpowiada na nudną inżynierię: zmierz za pomocą HAR, zablokuj to, czego agent nigdy nie czyta, ogrodź domeny, ponownie użyj pamięci podręcznej, ogranicz ponowne próby i odmów renderowania strony, której URL już znasz. Zrób wszystkie sześć, a 700 GB miesięcznie staje się 70 GB miesięcznie bez utraty możliwości.

Uruchom swoich agentów na rezydencjalnych proxy płatnych za GB