Прокси для AI-агентов: SOCKS5, ротация, sticky-сессии
Как подключить AI-агента к интернету через прокси: SOCKS5, HTTP, ротация IP, sticky-сессии. Примеры на Python и Node.js. InfraProxy: 100 000+ IP, до 1 Gbps.
Команда InfraProxy
11 апреля 2026 г.
Зачем AI-агенту прокси
AI-агент — это программа, которая автономно выполняет задачи: ищет информацию в интернете, взаимодействует с сайтами, собирает данные. В отличие от классического краулера, агент принимает решения в процессе работы: какие страницы посетить, что извлечь, когда остановиться.
Когда агент обращается к сайтам напрямую, он сталкивается с теми же ограничениями, что и любой бот: rate-limiting, блокировки по IP, CAPTCHA. Прокси дают агенту пул IP-адресов, через которые он может работать с интернетом без этих ограничений.
Особенность AI-агентов: они часто выполняют цепочки запросов к одному сайту (поиск → переход → извлечение). Это требует sticky-сессий — когда один IP сохраняется на протяжении всей цепочки.
Два режима: ротация vs sticky-сессии
| Режим | Как работает | Когда использовать | |-------|-------------|-------------------| | Ротация | Каждый запрос — новый IP из пула | Независимые запросы к разным URL | | Sticky-сессия | IP фиксирован на 5–30 минут | Цепочки запросов к одному сайту |
Ротация IP
При ротации каждый HTTP-запрос агента проходит через случайный IP из пула 100 000+ адресов InfraProxy. Сайт видит запросы от разных «пользователей» и не блокирует трафик.
Ротация оптимальна, когда агент обращается к разным сайтам или собирает независимые страницы:
import requests
ROTATING_PROXY = "socks5://user:pass@fi.infraproxy.ru:1080"
def agent_search(query: str) -> list[str]:
"""Агент ищет информацию по запросу через несколько источников."""
sources = [
f"https://source-a.com/search?q={query}",
f"https://source-b.com/api/search?q={query}",
f"https://source-c.com/find?query={query}",
]
results = []
for url in sources:
resp = requests.get(
url,
proxies={"https": ROTATING_PROXY},
timeout=10,
headers={"User-Agent": "Mozilla/5.0 (compatible; AIBot/1.0)"}
)
if resp.status_code == 200:
results.append(resp.text)
return results
Sticky-сессии
Sticky-сессии нужны, когда агент выполняет многоэтапное взаимодействие с одним сайтом. Пример: агент заходит на страницу поиска, получает результаты, переходит по ссылкам, извлекает данные с каждой страницы. Если IP меняется в процессе, сайт может:
- Сбросить результаты поиска
- Показать CAPTCHA
- Вернуть другие данные (персонализация по гео)
import requests
import uuid
def create_sticky_session(duration_min: int = 10) -> requests.Session:
"""Создаёт сессию с фиксированным IP на заданное время."""
session_id = uuid.uuid4().hex[:8]
proxy = f"socks5://user-session-{session_id}:pass@fi.infraproxy.ru:1080"
session = requests.Session()
session.proxies = {"http": proxy, "https": proxy}
session.headers.update({
"User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36",
"Accept-Language": "ru-RU,ru;q=0.9",
})
return session
# Агент: поиск → переход → извлечение (один IP на всю цепочку)
session = create_sticky_session(duration_min=10)
# Шаг 1: поиск
search_resp = session.get("https://example.com/search?q=AI+datasets", timeout=10)
# Шаг 2: переход по первому результату
detail_resp = session.get("https://example.com/article/123", timeout=10)
# Шаг 3: извлечение данных
data_resp = session.get("https://example.com/article/123/data.json", timeout=10)
Подробнее о стратегиях ротации, включая гибридные подходы — в статье Стратегии ротации прокси для масштабного веб-скрейпинга.
Протоколы: SOCKS5 vs HTTP для AI-агентов
| Протокол | Преимущества | Ограничения | |----------|-------------|-------------| | SOCKS5 | Работает с любым TCP-трафиком, поддерживает UDP, низкий overhead | Не все клиентские библиотеки поддерживают из коробки | | HTTP/HTTPS | Поддерживается везде, прост в настройке | Только HTTP-трафик, больший overhead |
Для AI-агентов рекомендуется SOCKS5:
- Агенты могут использовать не только HTTP, но и другие протоколы (WebSocket, gRPC)
- Меньший overhead = ниже latency
- Поддержка DNS-резолвинга через прокси (скрывает ваш DNS-трафик)
InfraProxy поддерживает оба протокола на всех серверах. Переключение между SOCKS5 и HTTP — изменение одной строки в конфигурации.
Node.js: прокси для AI-агента на JavaScript
Многие AI-агенты пишутся на Node.js (LangChain.js, AutoGPT web-варианты). Подключение прокси через socks-proxy-agent:
import { SocksProxyAgent } from 'socks-proxy-agent';
import fetch from 'node-fetch';
const agent = new SocksProxyAgent(
'socks5://user:pass@fi.infraproxy.ru:1080'
);
async function agentFetch(url) {
const response = await fetch(url, {
agent,
headers: {
'User-Agent': 'Mozilla/5.0 (compatible; AIAgent/1.0)',
'Accept': 'text/html,application/json',
},
timeout: 15000,
});
if (!response.ok) {
throw new Error(`HTTP ${response.status} for ${url}`);
}
const contentType = response.headers.get('content-type');
if (contentType?.includes('application/json')) {
return response.json();
}
return response.text();
}
// Пример: агент собирает данные из API
const data = await agentFetch('https://api.example.com/v2/products?limit=100');
console.log(`Получено ${data.length} записей`);
Обработка ошибок и retry в агентах
AI-агенты работают автономно, поэтому обработка ошибок критична. Агент должен уметь:
- Повторить запрос при таймауте
- Сменить IP при получении 403/429
- Логировать проблемные URL для анализа
import time
import requests
DC_PROXY = "socks5://user:pass@fi.infraproxy.ru:1080"
ISP_PROXY = "socks5://user:pass@isp.infraproxy.ru:1080"
def resilient_fetch(url: str, max_retries: int = 3) -> dict:
"""Отказоустойчивый запрос с переключением между DC и ISP прокси."""
proxies_chain = [DC_PROXY, DC_PROXY, ISP_PROXY]
for attempt in range(max_retries):
proxy = proxies_chain[min(attempt, len(proxies_chain) - 1)]
try:
resp = requests.get(
url,
proxies={"https": proxy},
timeout=10,
headers={"User-Agent": "Mozilla/5.0 (compatible; AIBot/1.0)"}
)
if resp.status_code == 200:
return {"url": url, "status": 200, "text": resp.text}
if resp.status_code in (403, 429):
time.sleep(2 ** attempt)
continue
except requests.RequestException:
time.sleep(2 ** attempt)
return {"url": url, "status": 0, "error": "All retries failed"}
Логика проста: первые две попытки через DC-прокси (дешевле и быстрее), третья — через ISP (выше trust-score). Экспоненциальный backoff между попытками. Подробнее о различиях DC и ISP — в статье Datacenter vs residential прокси: что выбрать для краулинга.
Гео-ротация для AI-агентов
Некоторые сайты отдают разный контент в зависимости от географии IP. Для AI-агента это может быть как проблемой (нежелательная локализация), так и инструментом (сбор данных из разных регионов).
InfraProxy предоставляет серверы в двух локациях:
| Локация | Хост (условный) | Применение | |---------|-----------------|-----------| | Финляндия | fi.infraproxy.ru | Европейский контент, низкий latency до RU | | США | us.infraproxy.ru | Американский контент, англоязычные источники |
# Запрос через финский сервер
curl -x socks5://user:pass@fi.infraproxy.ru:1080 \
"https://httpbin.org/ip" -s | python3 -m json.tool
# Запрос через американский сервер
curl -x socks5://user:pass@us.infraproxy.ru:1080 \
"https://httpbin.org/ip" -s | python3 -m json.tool
Безопасность: изоляция агента
При подключении AI-агента к интернету через прокси важно учитывать безопасность:
- Не передавайте через прокси конфиденциальные данные — прокси видит трафик (для HTTPS — только домен, не содержимое)
- Ограничьте доменный whitelist — агент должен обращаться только к заранее определённым сайтам
- Логируйте все запросы — для аудита и отладки
- Устанавливайте таймауты — агент не должен зависать на медленном сайте
Производительность: сколько запросов может обрабатывать агент
| Конфигурация | Запросов/мин | Примечание | |-------------|-------------|-----------| | 1 поток, DC-прокси | 30–60 | Последовательные запросы с паузой | | 10 потоков, DC-прокси | 300–600 | Параллельные запросы к разным доменам | | 50 потоков, DC-прокси | 1 500–3 000 | Для масштабного сбора данных | | 1 поток, sticky-сессия | 20–40 | С паузами для одного сайта |
Скорость зависит от целевых сайтов, а не от прокси. InfraProxy на AMD EPYC-серверах с каналом до 1 Gbps обрабатывает запросы за 1–10 мс — узким местом будет время ответа целевого сайта.
Подробнее о применении прокси для AI — на странице Прокси для AI.
Попробуйте InfraProxy — тестовый доступ за 1 день. 100 000+ IP, SOCKS5 и HTTP, ротация и sticky-сессии. Оставить заявку →
Нужны надёжные прокси для вашего проекта?
InfraProxy предоставляет серверные и резидентные прокси для российского бизнеса. Договор, постоплата, техподдержка.
Читайте также
Datacenter vs residential прокси: что выбрать для краулинга
Сравнение datacenter и residential прокси для веб-краулинга: скорость, стоимость, trust-score, сценарии. Таблицы, примеры кода, рекомендации по выбору.
ТехническоеКакие прокси нужны для сбора данных AI-моделей
Datacenter и ISP прокси для сбора обучающих данных AI: архитектура пайплайна, выбор типа прокси, примеры кода на Python. 100 000+ IP, до 1 Gbps.
ТехническоеСтратегии ротации прокси для масштабного веб-скрейпинга
Разбираем основные стратегии ротации прокси — от простого Round-Robin до интеллектуальной маршрутизации. Как выбрать между серверными, резидентными и мобильными прокси и не потерять бюджет.