Les trois problèmes créés par les agents#
- Des cibles imprévisibles. L'agent décide où aller ; vous ne pouvez pas présélectionner un datacenter pour un site et résidentiel pour un autre. Une sortie résidentielle est la valeur par défaut sûre.
- Beaucoup de sauts par tâche. Rechercher, ouvrir, cliquer, lire, répéter : une tâche est une session et doit rester sur une sortie tant qu'elle dure.
- Des dépenses illimitées. Un agent dans une boucle peut récupérer des gigaoctets. Donnez-lui un plafond qu'il ne peut pas dépasser.
Variables d'environnement pour l'ensemble de la chaîne d'outils#
requêtes, HTTPX et urllib peuvent lire les variables d'environnement proxy dans leurs configurations par défaut. aiohttp nécessite ClientSession(trust_env=True) ou un argument proxy explicite. Les navigateurs et les outils dotés de leurs propres piles réseau peuvent ignorer ces variables. Vérifiez la sortie de chaque outil et utilisez NO_PROXY uniquement pour les hôtes qui doivent se connecter directement.
export HTTPS_PROXY="http://AGENTUSER-cc-us-sid-task-4f2a-ttl-2h:PASS@res.proxy-cyber.com:9000"
export HTTP_PROXY="$HTTPS_PROXY"
export NO_PROXY="localhost,127.0.0.1,api.openai.com,api.anthropic.com"
python agent.pyExcluez les hôtes d'API du fournisseur de modèles avec NO_PROXY: les appels LLM ne nécessitent pas de sortie résidentielle et ne coûteraient que du trafic.
Agents Node.js#
Sur les versions Node.js prises en charge, NODE_USE_ENV_PROXY=1 active HTTP_PROXY, HTTPS_PROXY et NO_PROXY pour la récupération intégrée ; --use-env-proxy est disponible dans Node.js 22.21+ et 24.5+. Un undici ProxyAgent ou EnvHttpProxyAgent explicite est une alternative. Les bibliothèques disposant de leurs propres transports ou agents personnalisés nécessitent une configuration distincte. Testez donc chaque outil plutôt que de supposer que l'ensemble du processus est couvert.
import { EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
setGlobalDispatcher(new EnvHttpProxyAgent()); // reads HTTPS_PROXY / NO_PROXYServeur MCP du dramaturge#
Le serveur Playwright MCP, utilisé par Claude, les outils de style ChatGPT et les agents IDE pour piloter un navigateur, accepte un proxy au lancement. Transmettez la passerelle avec un nom d'utilisateur persistant et la liste de contournement pour les hôtes locaux.
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest",
"--proxy-server=http://res.proxy-cyber.com:9000",
"--proxy-bypass=localhost,127.0.0.1"
]
}
}
}Soumettez l’IPv4 publique sortante réelle du serveur dans Access et attendez l’activation de l’administrateur. NAT ou un VPN peut modifier l'adresse vue par la passerelle. L'accès sans mot de passe ne fonctionne qu'après confirmation de l'entrée pour le service attribué. Confirmez les options de pays et de session séparément ; une liste blanche d'adresse IP source n'envoie pas de paramètres de nom d'utilisateur.
Agents de navigation basés sur Playwright#
Les frameworks tels que l'utilisation du navigateur exposent les paramètres de proxy de Playwright (serveur, nom d'utilisateur, mot de passe) dans la configuration de leur navigateur. Donnez à chaque agent exécuté un nouvel identifiant de session afin que les exécutions parallèles ne partagent pas de sortie, et définissez les paramètres régionaux et le fuseau horaire du contexte sur le pays de la sortie.
proxy = {
"server": "http://res.proxy-cyber.com:9000",
"username": f"AGENTUSER-cc-us-sid-{run_id}-ttl-1h",
"password": "PASS",
}
# pass `proxy` where the framework accepts Playwright proxy settingsPlafonds : sous-utilisateurs#
Soumettre un sous-utilisateur demande dans Access avec une étiquette distincte, un réseau et une limite de Go prévue. L'administrateur attribue les informations d'identification et confirme l'activation et toute limite appliquée par la passerelle. Une demande en attente n'est pas un compte actif. Conservez également un budget d'utilisation côté application et demandez à l'assistance de révoquer ou de remplacer les informations d'identification actives si elles sont exposées.
Hygiène comportementale#
- Plafonner les requêtes de l'agent par domaine et par minute ; la rotation n’excuse pas le martelage.
- Bloquer les images, les médias et les polices dans le contexte du navigateur ; les agents lisent le texte.
- Enregistrez l'identifiant de session avec chaque tâche afin qu'une exécution bloquée puisse être retracée jusqu'à sa sortie et rejouée sur une nouvelle.
Les questions que les gens posent#
Les appels de l'API LLM doivent-ils également passer par le proxy ?
Non. Excluez les hôtes du fournisseur avec NO_PROXY : ces appels ne nécessitent pas de sortie résidentielle et ne consommeraient que du trafic.
Quel réseau pour un agent qui lit principalement de la documentation et ouvre des sites ?
Des identifiants de session distincts isolent les préférences de routage, et non les cookies du navigateur ou l'état de l'application. Commencez avec un petit nombre de travailleurs, mesurez les erreurs et le trafic, et augmentez progressivement dans les limites confirmées pour votre commande et la destination. Une sélection étroite de villes ou de opérateurs peut réduire la capacité disponible.