Terug naar blog

Meerdere AI Agent-browsers tegelijk: drie isolatiebehoeften en het resourceverbruik

Eén Agent in één browservenster is genoeg voor een demo. In productie moeten tientallen gelijktijdige taken in gescheiden omgevingen draaien; anders raken sessies vervuild, concurreren tabbladen om besturing en zijn fouten lastig te herleiden.

Eén browservenster is genoeg om te laten zien wat een AI Agent kan. Zodra je die in een echte bedrijfsomgeving inzet, groeit de behoefte al snel naar tientallen vensters die elkaar niet mogen beïnvloeden. De oorzaak ligt niet bij de Agent zelf, maar bij de browseromgeving waarop hij draait.

Wat gaat er mis als één omgeving wordt gedeeld?

Het meest voor de hand liggende probleem is dat cookies en aanmeldsessies elkaar vervuilen. Als twee taken in dezelfde browserdatamap na elkaar met verschillende accounts inloggen, kan de tweede sessie die van de eerste overschrijven. Als één taak de cache wist, kan ook de paginastatus van een andere taak verdwijnen.

Daarna ontstaat concurrentie om gedeelde middelen. Binnen één browserinstantie worden tabbladen, focus, de downloadmap en pop-ups gedeeld. Als twee taken tegelijk nieuwe tabbladen openen, wordt onduidelijk welke taak welke pagina bedient. Een dialoogvenster van de ene taak kan het script van de andere blokkeren. Conflicten in aanmeldstatus, overschreven data en onderlinge verstoring zijn bij gelijktijdige uitvoering vrijwel onvermijdelijk.

Het derde probleem komt pas na een storing naar voren. Dan is het lastig te bepalen of de scriptlogica fout was of dat een andere taak de omgeving op een bepaald moment heeft verstoord. Als meerdere taken één proces en één log delen, kunnen ook de foutverschijnselen verschillen, waardoor de kosten van probleemonderzoek snel oplopen.

Er is nog een minder zichtbaar risico: als meerdere identiteiten langdurig in dezelfde omgeving actief zijn, laten ze correlatiesignalen achter. Apparaatparameters, opslagstatus en netwerkuitgang zijn dan identiek. Een platform kan dit gemakkelijk zien als grootschalige activiteit vanaf hetzelfde apparaat. Wordt één account als afwijkend aangemerkt, dan kunnen andere accounts eveneens gevolgen ondervinden.

Meerdere vensters betekenen nog geen isolatie

De eerste reactie is vaak om handmatig meerdere vensters te openen. Ze lijken gescheiden, maar in werkelijkheid delen ze hetzelfde browserprofiel: dezelfde cookies, dezelfde lokale opslag en dezelfde apparaatinformatie. Vensters kunnen elkaars aanmeldstatus zien, en een actie in het ene venster kan het andere beïnvloeden.

Echte isolatie moet ook het datamapniveau en de omgevingsparameters omvatten. Elke omgeving heeft een eigen opslagmap nodig, eigen apparaatparameters — resolutie, taal, tijdzone, lettertypen, Canvas, WebGL enzovoort — en een eigen netwerkuitgang. Ontbreekt één van deze drie, dan is de isolatie niet volledig. Zelfs wanneer omgevingen gescheiden zijn, kan een gedeelde netwerkuitgang nog steeds correlatiecontroles activeren.

并发 Agent 任务一一映射到独立浏览器环境,并由环境调度器管理状态和资源开销

Wat isolatie kost en wat je ervoor terugkrijgt

Isolatie is niet gratis. Achter elke omgeving staat een afzonderlijk browserproces met een eigen datamap. Naarmate het aantal omgevingen stijgt, voelen geheugen en CPU als eerste de druk. Als tientallen omgevingen op één machine draaien, is het meestal beter vooraf te berekenen hoeveel capaciteit nog over is dan te wachten tot het systeem vastloopt.

Er zijn verschillende afwegingen mogelijk: ruim omgevingen op die zelden nodig zijn en start ze opnieuw wanneer dat nodig is; verdeel taken op basis van belasting over meerdere machines in plaats van alles op één systeem te stapelen; en geef omgevingen een duidelijke levenscyclus zodat honderden exemplaren niet onbeperkt blijven draaien. Ook de taakstructuur telt mee. Seriële taken onder hetzelfde account hoeven niet over meerdere omgevingen te worden verdeeld; dat zou alleen resources verspillen.

Daartegenover staat de winst. Als isolatie goed is ingericht, worden storingen voorspelbaar: het probleem hoort bij een specifieke omgeving en is geen onverklaarbaar verschijnsel meer. Op schaal is die voorspelbaarheid veel waardevoller dan de kleine resourcebesparing van gedeelde omgevingen.

Drie zaken die bij schaalvergroting op omgevingsniveau thuishoren

De eerste is batchplanning. Omgevingen moeten als rekenresources kunnen worden aangevraagd en vrijgegeven, met ondersteuning voor aanmaak op aanvraag, starten in batches, beperking van gelijktijdigheid, retries na fouten en automatische recycling, in plaats van ze in scripts één voor één te maken en op te ruimen.

De tweede is een onafhankelijke netwerkuitgang. Elke omgeving moet aan een eigen uitgang zijn gekoppeld, waarbij de regio van die uitgang aansluit op de geografische parameters van de omgeving. Dit wordt gemakkelijk over het hoofd gezien, maar is een voorwaarde voor volledige isolatie.

De derde is opvraagbare status. Je moet op elk moment kunnen zien welke omgevingen actief zijn, welke vrij zijn en welke afwijkingen vertonen. Agents draaien onbeheerd; als de status niet opvraagbaar is, wordt probleemoplossing giswerk.

Deze drie functies zijn onhandig om binnen scripts te bouwen. Ze vragen om opslag, configuratie en planning op omgevingsniveau. Sommige tools voor beheer van meerdere omgevingen werken precies op deze laag. PurpleMark is daar één van en maakt van browseromgevingen resources die geïsoleerd, in batches gepland en via interfaces aangeroepen kunnen worden.

Wanneer meerdere omgevingen niet nodig zijn

Als een Agent maar één account gebruikt en weinig wordt uitgevoerd, is een gewone browser werkelijk voldoende en voegt extra isolatie alleen onderhoudslast toe. Zodra echter één van de volgende situaties ontstaat, moet de omgevingslaag worden afgescheiden: taken moeten parallel draaien, meerdere identiteiten moeten hetzelfde platform gebruiken, aanmeldstatus moet langdurig behouden blijven of de mate van gelijktijdigheid zal verder groeien.

Al deze situaties hebben hetzelfde kenmerk: de vraag is niet of de Agent slim genoeg is, maar of de omgeving eronder schoon en voldoende gescheiden is.

Grenzen

Welke oplossing je ook kiest, de regels blijven hetzelfde: houd je aan de servicevoorwaarden en robots-regels van elk platform, gebruik geen valse identiteitsgegevens, omzeil geen technische beveiligingsmaatregelen, beperk de frequentie van verzoeken en verstoor de normale werking van diensten van derden niet.