तीन समस्याएं एजेंट बनाते हैं#
- अप्रत्याशित लक्ष्य। एजेंट यह तय करता है कि कहां जाना है; आप एक साइट के लिए डेटासेंटर को पूर्व-चुनाव नहीं सकते हैं और किसी अन्य के लिए आवासीय निकास सुरक्षित डिफ़ॉल्ट है।
- प्रति कार्य कई हॉप्स। खोज, खुला, क्लिक करें, पढ़ें, दोहराएँ: एक कार्य एक सत्र है, और यह रहता है, जबकि एक निकास पर रहना चाहिए।
- असीमित खर्च। एक पाश में एक एजेंट गिगाबाइट्स को प्राप्त कर सकता है। इसे एक छत दें जो इससे अधिक नहीं हो सकता है।
पूरे टूलचेन के लिए पर्यावरण चर#
अनुरोध, HTTPX और urllib अपने डिफ़ॉल्ट विन्यास में प्रॉक्सी वातावरण चर पढ़ा सकते हैं। aiohttp के लिए क्लाइंटसेसन (trust env=True), या एक स्पष्ट प्रॉक्सी तर्क की आवश्यकता होती है। ब्राउज़र और उपकरण अपने नेटवर्क स्टैक के साथ इन चरों को अनदेखा कर सकते हैं। प्रत्येक उपकरण से बाहर निकलने की पुष्टि करें और केवल मेजबानों के लिए 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मॉडल प्रदाता के एपीआई होस्ट को छोड़कर NO_PROXY: LLM कॉल को आवासीय निकास की आवश्यकता नहीं है और केवल लागत यातायात होगी।
Node.js एजेंट#
समर्थित Node.js रिलीज़ पर, NODE USE ENV PROXY=1 HTTP PROXY, HTTPS PROXY और NO PROXY को अंतर्निहित गीली के लिए सक्षम बनाता है; - उपयोग-env-proxy Node.js 22.21+ और 24.5+ में उपलब्ध है। एक स्पष्ट undici ProxyAgent या EnvHttpProxyAgent एक विकल्प है। अपने स्वयं के परिवहन या कस्टम एजेंटों के साथ पुस्तकालयों को अलग विन्यास की आवश्यकता होती है, इसलिए पूरी प्रक्रिया को पूरा करने के बजाय प्रत्येक उपकरण का परीक्षण किया जाता है।
import { EnvHttpProxyAgent, setGlobalDispatcher } from "undici";
setGlobalDispatcher(new EnvHttpProxyAgent()); // reads HTTPS_PROXY / NO_PROXYPlaywright MCP सर्वर#
प्लेराइट MCP सर्वर, जो क्लाउड, चैटजीपीटी-शैली के उपकरण और आईडीई एजेंट द्वारा ब्राउज़र को चलाने के लिए उपयोग किया जाता है, लॉन्च पर प्रॉक्सी स्वीकार करता है। एक चिपचिपा उपयोगकर्ता नाम और स्थानीय होस्ट के लिए बायपास सूची के साथ गेटवे पास करें।
{
"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 या एक वीपीएन प्रवेश द्वार द्वारा देखे गए पते को बदल सकता है। पासवर्ड-फ्री एक्सेस केवल निर्दिष्ट सेवा के लिए प्रवेश की पुष्टि के बाद ही काम करता है। देश और सत्र विकल्पों को अलग से पुष्टि करें; एक स्रोत-आईपी अनुमतिदाता उपयोगकर्ता नाम पैरामीटर नहीं भेजता है।
Playwright पर बनाया गया ब्राउज़र एजेंट#
ब्राउज़र-उपयोग जैसे फ्रेमवर्क प्लेराइट की प्रॉक्सी सेटिंग्स (सर्वर, यूज़रनेम, पासवर्ड) को उनके ब्राउज़र कॉन्फ़िगरेशन में उजागर करते हैं। प्रत्येक एजेंट को एक ताजा सत्र आईडी चलाएं ताकि समानांतर रन एक निकास को साझा न करें, और संदर्भ स्थानीय और समय क्षेत्र को बाहर निकलने के देश में सेट करें।
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 settingsछत: उप-उपयोगकर्ता#
प्रस्तुत करना उप-उपयोगकर्ता एक विशिष्ट लेबल, नेटवर्क और इरादा जीबी सीमा के साथ प्रवेश में अनुरोध। प्रशासक क्रेडेंशियल को असाइन करता है और सक्रियण और किसी भी प्रवेश द्वार-प्रबलित सीमा की पुष्टि करता है। एक लंबित अनुरोध एक सक्रिय खाता नहीं है। एक आवेदन-साइड उपयोग बजट भी रखें, और यदि वे उजागर होते हैं तो सक्रिय क्रेडेंशियल को वापस लेने या बदलने के लिए समर्थन मांगें।
व्यवहारिक स्वच्छता#
- एजेंट के अनुरोध के अनुसार डोमेन और प्रति मिनट; रोटेशन हथौड़ा का बहाना नहीं है।
- ब्लॉक छवियों, मीडिया और फ़ॉन्ट ब्राउज़र संदर्भ में; एजेंट पाठ पढ़ाते हैं।
- प्रत्येक कार्य के साथ सत्र आईडी लॉग इन करें ताकि एक अवरुद्ध रन को अपने निकास पर निशाना बनाया जा सके और एक नया पर फिर से खेलना हो सके।
सवाल पूछो#
क्या LLM API ने प्रॉक्सी के माध्यम से भी कॉल किया?
नहीं, प्रदाता को NO PROXY के साथ होस्ट करता है: उन कॉलों को आवासीय निकास की आवश्यकता नहीं है और केवल यातायात का उपभोग करेगा।
एक एजेंट के लिए कौन-सा नेटवर्क जो ज्यादातर प्रलेखन और खुली साइटों को पढ़ता है?
अलग सत्र पहचानकर्ता रूटिंग वरीयताओं को अलग करते हैं, ब्राउज़र के कुकीज़ या एप्लिकेशन स्टेट नहीं। श्रमिकों की एक छोटी संख्या के साथ शुरू करें, त्रुटियों और यातायात को मापें, और धीरे-धीरे आपके ऑर्डर और गंतव्य के लिए पुष्टि की गई सीमाओं के भीतर बढ़ें। एक संकीर्ण शहर या वाहक चयन उपलब्ध क्षमता को कम कर सकता है।