Три проблемы, которые создают агенты#
- Непредсказуемые цели. Агент сам решает, куда перейти, поэтому нельзя заранее выбрать серверный прокси для одного сайта и резидентский для другого. Надёжный вариант по умолчанию — выходной узел резидентского прокси.
- Много переходов в одной задаче. Найти, открыть, нажать, прочитать и повторить: задача представляет собой сессию и должна до конца выполняться через один выходной узел.
- Неограниченные расходы. Зациклившийся агент способен загрузить гигабайты данных. Установите для него лимит, который он не сможет превысить.
Переменные окружения для всей цепочки инструментов#
В стандартной конфигурации requests, HTTPX и urllib могут читать переменные окружения прокси. Для aiohttp нужен ClientSession(trust_env=True) либо явный аргумент proxy. Браузеры и инструменты со своим сетевым стеком могут игнорировать эти переменные. Проверьте выходной IP каждого инструмента; в NO_PROXY указывайте только узлы для прямого подключения.
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.pyИсключите хосты API поставщика модели с помощью NO_PROXY: запросам к LLM не требуется выход через резидентский прокси, и такой маршрут лишь расходовал бы трафик.
Агенты на Node.js#
В поддерживаемых версиях Node.js переменная NODE_USE_ENV_PROXY=1 включает HTTP_PROXY, HTTPS_PROXY и NO_PROXY для встроенного fetch; флаг --use-env-proxy доступен в Node.js 22.21+ и 24.5+. Альтернатива — явно настроить ProxyAgent или EnvHttpProxyAgent из undici. Библиотеки со своим транспортом или агентом требуют отдельной проверки: одна настройка не охватывает автоматически весь процесс.
import { EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
setGlobalDispatcher(new EnvHttpProxyAgent()); // читает HTTPS_PROXY / NO_PROXYСервер Playwright MCP#
Сервер Playwright MCP, с помощью которого Claude, инструменты наподобие ChatGPT и агенты в IDE управляют браузером, позволяет задать прокси при запуске. Передайте шлюз с именем пользователя для закреплённой сессии и список обхода прокси для локальных хостов.
{
"mcpServers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest",
"--proxy-server=http://res.proxy-cyber.com:9000",
"--proxy-bypass=localhost,127.0.0.1"
]
}
}
}Подайте заявку с фактическим исходящим публичным IPv4 сервера в разделе «Доступ» и дождитесь активации администратором. NAT или VPN могут менять адрес, который видит шлюз. Подключение без пароля работает только после подтверждения записи для выданной услуги. Географию и сессию уточняйте отдельно: белый список не передаёт параметры имени пользователя.
Браузерные агенты на основе Playwright#
Фреймворки наподобие browser-use предоставляют доступ к настройкам прокси Playwright (сервер, имя пользователя и пароль) в конфигурации браузера. При каждом запуске агента задавайте новый идентификатор сессии, чтобы параллельные запуски не использовали один выходной узел, а локаль и часовой пояс контекста устанавливайте в соответствии со страной выходного узла.
proxy = {
"server": "http://res.proxy-cyber.com:9000",
"username": f"AGENTUSER-cc-us-sid-{run_id}-ttl-1h",
"password": "PASS",
}
# передайте `proxy` там, где фреймворк принимает настройки прокси PlaywrightОграничение расходов с помощью субпользователей#
В разделе «Доступ» создайте заявку на субпользователя с отдельной меткой, сетью и нужным лимитом в ГБ. Администратор выдаст реквизиты и подтвердит активацию и применение лимита на шлюзе. Ожидающая заявка не является активным доступом. Дополнительно ограничьте расход в приложении; при утечке действующих реквизитов запросите их отзыв или замену у поддержки.
Ограничивайте нагрузку#
- Ограничьте число запросов агента к каждому домену и в минуту: ротация IP не оправдывает чрезмерную нагрузку.
- Блокируйте изображения, мультимедиа и шрифты в контексте браузера: агенты читают текст.
- Записывайте идентификатор сессии вместе с каждой задачей, чтобы для заблокированного запуска можно было определить выходной узел и повторить задачу на новом.
Частые вопросы#
Нужно ли также направлять вызовы API LLM через прокси?
Нет. Исключите хосты поставщика с помощью NO_PROXY: этим запросам не нужен выход через резидентский прокси, и они лишь расходовали бы трафик.
Какую сеть выбрать для агента, который в основном читает документацию и открытые сайты?
Разные идентификаторы сессии разделяют настройки маршрутизации, но не cookie браузера или состояние приложения. Начните с небольшого числа процессов, измерьте ошибки и расход, затем постепенно увеличивайте нагрузку в пределах условий заказа и ограничений целевого сайта. Узкий выбор города или оператора может уменьшить доступную ёмкость.