AI-native ব্রাউজার অটোমেশন ডেভেলপারদের ওয়েবের সাথে ইন্টারঅ্যাক্ট করতে পারে এমন এজেন্ট তৈরির পদ্ধতিকে নতুন রূপ দিচ্ছে। ভঙ্গুর CSS selectors-এর ওপর নির্ভর না করে বড় ল্যাঙ্গুয়েজ মডেলকে (LLMs) পেজ নিয়ে চিন্তা করার (reasoning) সুযোগ দিয়ে নতুন এই স্ট্যাক—Browser-Use, Stagehand, Steel এবং Playwright MCP—সাইট পরিবর্তন হলেও স্ক্রিপ্টগুলোকে সচল রাখে।
কেন AI-native অটোমেশন গুরুত্বপূর্ণ
প্রথাগত টুলগুলো স্ট্যাটিক সিলেক্টর দিয়ে এলিমেন্ট খুঁজে বের করার মাধ্যমে একটি পেজ স্ক্র্যাপ করে। সাইটের ডিজাইন পরিবর্তন হলে স্ক্রিপ্টটি ভেঙে যায়, যা পুনরায় নতুন করে লেখার মতো ব্যয়বহুল কাজ করতে বাধ্য করে। LLM-চালিত এজেন্টগুলো একটি পেজ পড়ে, এর উদ্দেশ্য বুঝতে পারে এবং কোন বাটনে ক্লিক করতে হবে তা সিদ্ধান্ত নিতে পারে, ফলে লেআউট পরিবর্তনের পরেও এগুলো কার্যকর থাকে।
স্ট্যাকের চারটি অংশ
| টুল | প্রধান ভাষা | সবচেয়ে উপযোগী ক্ষেত্র |
|---|---|---|
| Browser-Use | Python | অনেকগুলো ট্যাব নিয়ে কাজ করতে পারে এবং গভীর চিন্তাভাবনার (deep reasoning) প্রয়োজন এমন এজেন্টদের জন্য |
| Stagehand | TypeScript | যেসব টিম স্কিমা ভ্যালিডেশন (Zod) সহ নির্ভরযোগ্য এক্সট্রাকশন চায় |
| Steel | Managed cloud service | স্কেলেবল রিমোট ব্রাউজার, প্রক্সি রোটেশন, পারসিস্টেন্ট সেশন |
| Playwright MCP | Protocol server | যেসব ডেস্কটপ অ্যাসিস্ট্যান্টের সরাসরি ব্রাউজার অ্যাক্সেস প্রয়োজন (যেমন: Claude Code, Cursor) |
প্রতিটি উপাদান ভিন্ন ভিন্ন সমস্যার সমাধান করে। Browser-Use রিজননিং লুপটিকে (reasoning loop) নিবিড়ভাবে পরিচালনা করে। Stagehand একটি টাইপড SDK প্রদান করে যা র (raw) পেজ ডেটাকে স্ট্রাকচার্ড অবজেক্টে রূপান্তরিত করে। Steel হার্ডওয়্যারকে অ্যাবস্ট্রাক্ট করে দেয়, যা আপনাকে প্রয়োজন অনুযায়ী ব্রাউজারের একটি বহর (fleet) ব্যবহারের সুযোগ দেয়। Playwright MCP ব্রাউজার অ্যাকশনগুলোকে এমন একটি প্রোটোকলে অনুবাদ করে যা যেকোনো LLM ক্লায়েন্ট ব্যবহার করতে পারে।
এগুলো কীভাবে একসাথে কাজ করে
একটি AI এজেন্টকে একটি তিন-স্তরের বাড়ির সাথে তুলনা করুন:
- Agent runtime – মস্তিষ্ক। Browser-Use সিদ্ধান্ত নেয় “পরবর্তী পদক্ষেপ কী হবে” এবং টুলগুলোকে নির্দেশ দেয়।
- Automation SDK – হাত। Stagehand কিছু প্রিমিটিভস (click, type, extract) প্রদান করে যা Zod স্কিমা অনুযায়ী ডেটা প্রদান করে, ফলে পরবর্তী ধাপের ত্রুটি কমে যায়।
- Cloud infrastructure – শরীর। Steel প্রকৃত ব্রাউজার ইনস্ট্যান্স সরবরাহ করে এবং প্রক্সি রোটেশন ও সেশন কুকিজের মতো স্টিলথ ফিচারগুলো পরিচালনা করে।
- Protocol server – স্নায়ুতন্ত্র। Playwright MCP সেই একই হাতগুলোকে এক্সটার্নাল ডেস্কটপ টুলের জন্য উন্মুক্ত করে দেয়, ফলে একটি লোকাল IDE রিমোট ব্রাউজার পরিচালনা করতে পারে।
আপনি এই স্তরগুলোকে একত্রিত করতে পারেন। উদাহরণস্বরূপ, Steel-এর ক্লাউড ইনফ্রাস্ট্রাকচারের ওপর একটি Browser-Use এজেন্ট লুপ চালাতে পারেন।
কার্যকারিতা বৃদ্ধির কৌশলসমূহ
একটি সম্পূর্ণ HTML ডকুমেন্ট LLM-এর কাছে পাঠানো ধীরগতির এবং ব্যয়বহুল। আধুনিক স্ট্যাকগুলো তিনটি উপায়ে পেলোড (payload) কমিয়ে আনে:
- Filtered DOM – শুধুমাত্র ইন্টারঅ্যাক্টিভ নোডগুলো (বাটন, লিঙ্ক) রাখা; বাকিগুলো বাদ দেওয়া।
- Accessibility snapshots – ARIA tree ব্যবহার করা, যা এলিমেন্টের ভূমিকা এবং লেবেলের একটি সংক্ষিপ্ত রূপ।
- Vision – যখন লেআউট সংকেতগুলো অপরিহার্য হয় (যেমন: একটি ক্যারোসেল এবং একটি স্ট্যাটিক গ্রিডের মধ্যে পার্থক্য করা), তখন একটি ভিজ্যুয়াল মডেলে স্ক্রিনশট পাঠানো।
এই শর্টকাটগুলো টোকেন ব্যবহার কমিয়ে আনে, খরচ নিয়ন্ত্রণে রাখে এবং একটি LLM-এর বুদ্ধিদীপ্তভাবে কাজ করার জন্য প্রয়োজনীয় সিম্যান্টিক সমৃদ্ধি বজায় রাখে।
সঠিক টুল নির্বাচন করা
| পরিস্থিতি | প্রস্তাবিত স্ট্যাক |
|---|---|
| স্থিতিশীল কর্পোরেট পোর্টাল, উচ্চ-ভলিউম রিগ্রেশন টেস্টিং | সাধারণ Playwright – দ্রুত, সস্তা এবং ডিটারমিনিস্টিক |
| স্বায়ত্তশাসিত এজেন্ট যা অনেক ট্যাব খোলে, লিঙ্ক অনুসরণ করে এবং বিভিন্ন পেজ নিয়ে চিন্তা করতে পারে | Browser-Use + Steel – ক্লাউড ব্রাউজারসহ Python runtime |
| ডেস্কটপ অ্যাসিস্ট্যান্ট যা ব্যবহারকারীকে কোড এডিট করতে দেয় যখন টুলটি ওয়েব থেকে ডকুমেন্ট সংগ্রহ করে | Playwright MCP – ব্রাউজার অ্যাকশনগুলোকে LLM-সামঞ্জস্যপূর্ণ টুল হিসেবে প্রকাশ করে |
মূল কথা
AI-native অটোমেশন বিদ্যমান টুলগুলোর কোনো একক বিকল্প নয়; এটি একটি মডুলার স্ট্যাক যা ডেভেলপারদের তাদের প্রয়োজন অনুযায়ী স্তর বেছে নেওয়ার সুযোগ দেয়। একটি রিজননিং রানটাইমের সাথে একটি হালকা (lean) SDK, স্কেলেবল ব্রাউজার এবং একটি প্রোটোকল ব্রিজ ব্যবহার করলে আপনি এমন এজেন্ট তৈরি করতে পারবেন যা ওয়েবসাইটের পরিবর্তন সত্ত্বেও কাজ চালিয়ে যাবে—এবং আপনার বাজেটও নষ্ট হবে না।
