ai-agents-for-beginners

ساخت عامل‌های استفاده از کامپیوتر (CUA)

عامل‌های استفاده از کامپیوتر می‌توانند همانند یک انسان با وب‌سایت‌ها تعامل داشته باشند: با باز کردن یک مرورگر، بررسی صفحه و انجام بهترین اقدام بعدی بر اساس آنچه مشاهده می‌کنند. در این درس، شما یک عامل اتوماسیون مرورگر می‌سازید که در Airbnb جستجو می‌کند، داده‌های ساختاریافتهٔ آگهی‌ها را استخراج می‌کند و ارزان‌ترین اقامت در استکهلم را شناسایی می‌کند.

این درس ترکیبی از Browser-Use برای ناوبری با هوش مصنوعی، Playwright و پروتکل Chrome DevTools (CDP) برای کنترل مرورگر، Azure OpenAI برای استدلال مبتنی بر بینایی، و Pydantic برای استخراج ساختاریافته است.

مقدمه

این درس شامل موارد زیر است:

اهداف یادگیری

پس از اتمام این درس، شما خواهید آموخت که چگونه:

نمونه کد

این درس شامل یک دفترچه یادداشت آموزشی است:

پیش‌نیازها

راه‌اندازی

بسته‌های استفاده شده در دفترچه یادداشت را نصب کنید:

pip install browser_use playwright python-dotenv
playwright install chromium

متغیرهای محیطی Azure OpenAI که توسط دفترچه استفاده می‌شوند را تنظیم کنید:

AZURE_OPENAI_ENDPOINT=...
AZURE_OPENAI_API_KEY=...
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME=...
# اختیاری: در صورت حذف، به طور پیش‌فرض به آخرین نسخه API تنظیم می‌شود
AZURE_OPENAI_API_VERSION=...

مرور کلی معماری

این دفترچه یک جریان کاری اتوماسیون مرورگر ترکیبی را نشان می‌دهد:

  1. کروم با CDP فعال شروع می‌شود تا هم Playwright و هم Browser-Use بتوانند همان جلسه مرورگر را به اشتراک بگذارند.
  2. یک عامل Browser-Use کارهای ناوبری باز و آزاد مانند باز کردن Airbnb، بستن پنجره‌های پاپ‌آپ و جستجو برای استکهلم را مدیریت می‌کند.
  3. صفحه فعال با یک طرح ساختاریافته Pydantic بررسی می‌شود تا عنوان آگهی‌ها، قیمت‌های شبانه، امتیازها و URLها استخراج شود.
  4. منطق پایتون آگهی‌های استخراج شده را مقایسه می‌کند و ارزان‌ترین نتیجه را برجسته می‌کند.

این رویکرد استدلال مبتنی بر بینایی منعطف‌ای را که Browser-Use در آن مهارت دارد حفظ می‌کند و در عین حال کنترل قطعی مرورگر را وقتی نیاز دارید به شما می‌دهد.

نکات کلیدی و بهترین روش‌ها

چه زمانی از عامل و چه زمانی از بازیگر استفاده کنیم

سناریو استفاده از عامل استفاده از بازیگر
چیدمان‌های پویا بله، هوش مصنوعی می‌تواند با تغییرات صفحه سازگار شود خیر، انتخاب‌کننده‌های شکننده ممکن است خراب شوند
ساختار شناخته شده خیر، عامل کندتر از کنترل مستقیم است بله، سریع و دقیق
پیدا کردن عناصر بله، زبان طبیعی خوب عمل می‌کند خیر، انتخاب‌کننده‌های دقیق لازم است
کنترل زمان‌بندی خیر، کمتر قابل پیش‌بینی است بله، کنترل کامل روی انتظارها و تلاش‌های مجدد
جریان‌های کاری پیچیده بله، وضعیت‌های غیرمنتظره UI را مدیریت می‌کند خیر، به انشعاب واضح نیاز دارد

بهترین روش‌های Browser-Use

  1. برای اکتشاف و ناوبری پویا به‌صورت اولیه با یک عامل شروع کنید.
  2. وقتی تعامل قابل پیش‌بینی شد به کنترل مستقیم صفحه سوئیچ کنید.
  3. از مدل‌های خروجی ساختاریافته استفاده کنید تا داده‌های استخراج شده اعتبارسنجی و نوع‌بندی شوند.
  4. پس از اقداماتی که باعث تغییرات قابل مشاهده UI می‌شوند، تاخیرهای استراتژیک اضافه کنید.
  5. هنگام آزمون و خطا از عکس‌گرفتن صفحه استفاده کنید تا عیب‌یابی شکست‌ها آسان‌تر باشد.
  6. انتظار تغییر وب‌سایت‌ها را داشته باشید و استراتژی‌های جایگزین برای پنجره‌های پاپ‌آپ و تغییرات چیدمان طراحی کنید.
  7. الگوهای عامل و بازیگر را ترکیب کنید تا هم انعطاف و هم دقت را بدست آورید.

ملاحظات ایمنی برای عوامل مرورگر

عوامل مرورگر روی وب‌سایت‌های زنده عمل می‌کنند، بنابراین نیاز به محدودیت‌های محکم‌تری نسبت به اسکریپتی دارند که صرفاً یک API شناخته شده را فراخوانی می‌کند. قبل از انتقال از دمو دفترچه یادداشت به یک جریان کاری واقعی، کنترل‌های اطراف اینکه عامل چه چیزهایی را می‌بیند، کلیک می‌کند و ارسال می‌کند را تعریف کنید.

  1. محیط مرورگری را محدود کنید. عامل را در یک پروفایل مرورگر اختصاصی یا سندباکس اجرا کنید و آن را به دامنه‌های لازم برای کار محدود کنید.
  2. مشاهده را از اقدام جدا کنید. اجازه دهید عامل ابتدا جستجو کند، بخواند و داده استخراج کند؛ قبل از ارسال فرم‌ها، ارسال پیام‌ها، رزرو سفر، خریدها، حذف سوابق یا تغییر تنظیمات حساب، یک مرحله تایید صریح لازم باشد.
  3. اطلاعات حساس را از پرامپت‌ها و ردپاها خارج کنید. رمزهای عبور، جزئیات پرداخت، کوکی‌های جلسه یا داده‌های شخصی خام را در زمینه مدل قرار ندهید. اجازه دهید کاربر برای احراز هویت وارد شود و فیلدهای حساس را از لاگ‌ها حذف کند.
  4. محتوای صفحه را به عنوان ورودی غیرقابل اطمینان در نظر بگیرید. یک وب‌سایت ممکن است دستورات خاصی داشته باشد که برای عامل است نه کاربر. عامل باید متن‌هایی که از آن می‌خواهند هدفش را تغییر دهد، داده‌ها را افشا کند، ضوابط ایمنی را غیرفعال کند یا به سایت‌های نامرتبط برود را نادیده بگیرد.
  5. اطمینان قطعی در مراحل پرخطر برقرار کنید. قبل از درخواست تایید کاربر برای مرحله نهایی، URL فعلی، عنوان صفحه، مورد انتخاب شده، قیمت، گیرنده و خلاصه اقدام را با کد بررسی کنید.
  6. بودجه‌ها و شرایط توقف را تنظیم کنید. تعداد اقدامات، تلاش‌های مجدد، برگه‌ها و دقایقی که عامل می‌تواند استفاده کند را محدود کنید. وقتی وضعیت صفحه مبهم است، به‌جای ادامه کلیک کردن، متوقف شوید.
  7. شواهد مفید را ثبت کنید، نه همه چیز را. خلاصه اقدامات، مارک‌های زمانی، URLها، توضیحات عنصر انتخاب شده و ارجاعات عکس صفحه را نگه دارید تا شکست‌ها قابل بازبینی باشند بدون ذخیره‌سازی محتوای حساس غیرضروری صفحه.

در نمونه Airbnb، حالت ایمن پیش‌فرض جستجوی آگهی‌ها و استخراج قیمت‌ها است. ورود به حساب، تماس با میزبان یا تکمیل رزرو باید اقدام جداگانه و با تایید کاربر باشد.

کاربردهای دنیای واقعی

مثال دنیای واقعی: پروژه Opal مایکروسافت

عاملی که در این درس می‌سازید یک نسخه کوچک و محلی از یک عامل استفاده از کامپیوتر (CUA) است — برنامه‌ای که مرورگر را همانند انسان هدایت می‌کند. مایکروسافت همین ایده را به سازمان‌ها با پروژه Opal (Frontier) در Microsoft 365 Copilot می‌آورد.

با پروژه Opal، شما یک کار را توصیف می‌کنید و عامل به نمایندگی از شما با استفاده از استفاده از کامپیوتر بر روی یک کامپیوتر ابری امن ویندوز ۳۶۵، در برنامه‌ها، سایت‌ها و داده‌های مبتنی بر مرورگر سازمان شما کار می‌کند. به صورت نامتزامن در پس‌زمینه عمل می‌کند و شما می‌توانید کار را هدایت کنید یا در هر زمان کنترل را در دست بگیرید. نمونه وظایف شامل:

Opal مرجع مفیدی است برای اینکه یک عامل استفاده از کامپیوتر قابل اعتماد و تولیدی چگونه است — و مفاهیم درس‌های قبلی را تقویت می‌کند:

مفهوم در این دوره نحوه اعمال پروژه Opal
انسان در حلقه (درس ۰۶) Opal برای اطلاعات ورود، داده‌های حساس یا دستورالعمل‌های مبهم توقف می‌کند و هرگز بدون تایید صریح، رمز عبور وارد نمی‌کند یا فرم‌ها را ارسال نمی‌کند. شما می‌توانید در حین انجام کار کنترل را بگیرید یا بازگردانید.
عوامل قابل اعتماد و امن (درس‌های ۰۶ و ۱۸) در یک کامپیوتر ابری ویندوز ۳۶۵ ایزوله اجرا می‌شود، به صورت پیش‌فرض فقط مرورگر است (دسترسی دیگر کامپیوترها مسدود شده، توسط Intune اجرا می‌شود)، از هویت شما استفاده می‌کند تا فقط به موارد مجاز دسترسی داشته باشد و هر اقدام را برای حسابرسی ثبت می‌کند.
برنامه‌ریزی و فراموشی (متاکاگنیشن) (درس‌های ۰۷ و ۰۹) Opal ابتدا یک برنامه کاری تولید می‌کند، سپس استدلال خودش را در هر مرحله نظارت می‌کند و در صورت تشخیص فعالیت مشکوک توقف می‌کند.
توانمندی‌ها / ابزارهای قابل استفاده مجدد (درس ۰۴) مهارت‌ها به شما اجازه می‌دهد دستورالعمل‌هایی برای کارهای تکراری (وارد شده از فایل .md یا نوشته شده با Opal) بنویسید و در گفتگوها دوباره استفاده کنید.

دسترسی: پروژه Opال در حال حاضر در برنامه دسترسی زودهنگام Frontier با اشتراک Microsoft 365 Copilot در دسترس کاربران است و مدیر شما باید راه‌اندازی را کامل کند. چون یک ویژگی آزمایشی Frontier است، توانمندی‌ها ممکن است با گذشت زمان تغییر کنند.

منابع بیشتر

درس قبلی

کاوش چارچوب عامل مایکروسافت

درس بعدی

بکارگیری عامل‌های مقیاس‌پذیر


سلب مسئولیت: این سند با استفاده از سرویس ترجمه هوش مصنوعی Co-op Translator ترجمه شده است. در حالی که ما در تلاش برای دقت هستیم، لطفاً توجه داشته باشید که ترجمه‌های خودکار ممکن است شامل خطاها یا نادرستی‌هایی باشند. سند اصلی به زبان مادری خود باید به عنوان منبع معتبر در نظر گرفته شود. برای اطلاعات حیاتی، ترجمه حرفه‌ای انسانی توصیه می‌شود. ما در قبال هرگونه سوء تفاهم یا برداشت نادرست ناشی از استفاده از این ترجمه مسئولیتی نداریم.