گردش‌های کاری عامل‌گرای کاربر خود را با ابزارهای WebMCP بسازید

منتشر شده: ۲۶ آگوست ۲۰۲۶

توضیح دهنده وب افزونه‌ها وضعیت کروم قصد
گیت‌هاب محاکمه مبدا محاکمه مبدا مشاهده قصد آزمایش

WebMCP تجربیات پایداری را برای کاربرانی که در وب‌سایت شما با یک عامل (agent) تعامل دارند، ایجاد می‌کند. چه عامل در یک مرورگر، یک افزونه یا در سایت شما تعبیه شده باشد، ابزارهای شما باید برای پشتیبانی از کاربران در انجام وظایف مورد نیاز و دستیابی به اهداف خاص ساخته شوند.

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

در عوض، از این چارچوب پیروی کنید تا به بهترین شکل نحوه تعریف و ساخت ابزارهایی را که برای وب‌سایت یا برنامه وب شما مفید هستند، درک کنید.

هدف کاربر را تعریف کنید

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

  • نتیجه ایده‌آل چیست؟ به طور واضح تعریف کنید که «موفقیت» برای کاربر چگونه به نظر می‌رسد.
  • چه زمینه‌ای مورد نیاز است؟ مشخص کنید که عامل برای دستیابی به هدف به چه اطلاعات یا داده‌های خاصی نیاز دارد.
  • مرزها چیستند؟ تعریف کنید که عامل چه کارهایی را نباید انجام دهد یا چه اقداماتی محدود شده است.
  • کدام اهداف را در اولویت قرار دهید؟ با شناسایی مسیرهایی که پشتیبانی عاملی بیشترین ارزش افزوده را ارائه می‌دهد، شروع کنید. به دنبال فرصت‌هایی باشید که در آن‌ها رویکرد مکالمه‌ای، در مقایسه با یک تجربه مبتنی بر رابط کاربری، مسیری طبیعی‌تر، کارآمدتر یا شهودی‌تر را برای کاربر جهت دستیابی به هدفش فراهم می‌کند.
عامل برای دریافت اطلاعات تماس، یک ابزار واحد به نام findClient را فراخوانی می‌کند.
وقتی کاربر از یک اپراتور می‌خواهد اطلاعات تماس را پیدا کند، اپراتور یکی از ابزارهای WebMCP را برای انجام وظیفه فراخوانی می‌کند: findClient .

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

ابزارهای شما باید هرگونه اقدام لازم برای دستیابی به هدف کاربر را تسهیل کنند.

درخواست تکی کاربر به سه مؤلفه رابط کاربری احتمالی مربوط می‌شود: جلسه ویدیویی، یک سند یادداشت و ایمیل.
کاربر از نماینده می‌خواهد که پس از جلسه، یک ایمیل پیگیری ارسال کند. نماینده برای انجام این کار با ۳ ابزار WebMCP تعامل دارد: recordTranscript ، summarizeNotes و draftEmail .

تعریف حالت اولیه

وقتی هدف کاربر را فهمیدید، «خط شروع» را مشخص کنید. حالت اولیه، محیط و زمینه را قبل از اینکه عامل اقدامی انجام دهد، تعریف می‌کند.

ابعاد زیر را در نظر بگیرید:

  • وضعیت برنامه : کاربر در محصول شما در کجا قرار دارد؟ چه داده‌هایی قابل مشاهده یا فعال است؟ به عنوان مثال: آیا کاربر در حال مشاهده یک پروژه خاص، در داشبورد یا در تنظیمات است؟
  • زمینه عامل : چه چیزی قبلاً مورد بحث قرار گرفته است؟ عامل از قبل چه اطلاعاتی دارد و چه اطلاعاتی کم دارد؟
  • محدودیت‌های سیستم : آیا فیلترهای فعال، مجوزهای کاربر یا تنظیمات سراسری سیستم وجود دارد که آنچه عامل می‌تواند بلافاصله انجام دهد را محدود کند؟ برای مثال، اگر هدف نیاز به ورود کاربر دارد، آیا جریان قبل یا بعد از ورود شروع می‌شود؟

پس از تعریف، می‌توانید از همان ابتدا ابزارهایی را که عامل برای مؤثر بودن به آنها نیاز دارد، بهتر تعیین کنید. ممکن است ابزارهای اضافی در ادامه تعامل مورد نیاز باشند که می‌توانید با ایفای نقش در سناریو آنها را کشف کنید.

مکالمه را نقش‌آفرینی کنید

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

برای آزمایش فرضیات خود، این فرآیند را دنبال کنید:

  1. مکالمه را ترسیم کنید : تعامل کامل را گام به گام، از هدف اولیه کاربر تا راه‌حل نهایی تصور کنید. مکالمه باید منعکس‌کننده نحوه استفاده کاربران نهایی از محصول شما باشد، نه تیم‌های داخلی.
  2. تحلیل ابزار و نیازهای سایت : در هر نوبت، بپرسید:
    • نماینده برای پاسخ دادن به چه اطلاعاتی از محصول شما نیاز دارد؟
    • چه اقداماتی را باید انجام دهد؟
    • چه ابزارهایی برای پشتیبانی از آن اقدامات مورد نیاز است؟
    • سایت شما هنگام فراخوانی این ابزارها چه واکنشی باید نشان دهد؟
  3. تکرار و اصلاح : اگر در طول این شبیه‌سازی متوجه یک شکاف یا ابزار از قلم افتاده شدید، مراحل ۱ و ۲ را برای اصلاح طرح خود تکرار کنید. سپس، شبیه‌سازی را از سر بگیرید.

آن را در عمل به کار ببرید

برای مشاهده‌ی این موضوع در عمل، سناریوی رزرو پرواز برای یک سفر کاری را بررسی خواهیم کرد. تصور کنید کاربری در داشبورد سفر است و می‌خواهد برای سه‌شنبه‌ی آینده پروازی به نیویورک رزرو کند.

  1. هدف کاربر را تعریف کنید : رزرو موفقیت‌آمیز پروازی که با سیاست‌های شرکت مطابقت دارد.
  2. تعریف حالت اولیه : کاربر در داشبورد سفر است. نماینده می‌تواند به پروفایل شرکتی کاربر که شامل تنظیمات ذخیره شده (مانند خط هوایی و کلاس بلیط) است، دسترسی داشته باشد.
  3. تعامل را نقش‌آفرینی کنید : کاربر گزینه‌ها را درخواست می‌کند، معیارها را اضافه می‌کند و پرواز را رزرو می‌کند.

تعامل را نقش‌آفرینی کنید

درخواست اولیه :

  1. کاربر : "من برای سه‌شنبه‌ی آینده به یک پرواز به نیویورک نیاز دارم."
  2. مامور : «من می‌توانم در این مورد کمکتان کنم. کی می‌خواهید برگردید؟»
  3. کاربر : "جمعه برمی‌گردم."
  4. عامل دو اقدام انجام می‌دهد: get_user_profile() ‎ و return home_airport . سپس، search_flights(origin=home_airport, destination="JFK", date="2023-10-24", return_date="2023-10-27")
  5. این سایت نتایج پروازها از home_airport به فرودگاه جان اف کندی را برای تاریخ ۲۴ تا ۲۷ اکتبر نمایش می‌دهد.
  6. نماینده : «من ۵۰ پرواز پیدا کردم. چطور می‌خواهید آنها را مرتب یا فیلتر کنید؟»

ارزیابی مجدد و اصلاح :

  1. کاربر : "راستش، گزینه‌های خیلی زیادی هست. من فقط پروازهای بدون توقف در کلاس اقتصادی می‌خوام."
  2. عامل اقدام زیر را انجام می‌دهد: filter_flights(criteria={"stops": 0, "class": "economy"}) .
  3. این سایت نتایج پروازها از home_airport به فرودگاه جان اف کندی را برای تاریخ ۲۴ تا ۲۷ اکتبر، بر اساس پروازهای بدون توقف و اقتصادی، نمایش می‌دهد.
  4. متصدی : «اینها ۳ پرواز بدون توقف در بخش اقتصادی هستند که با درخواست شما مطابقت دارند.»

نهایی کردن رزرو :

  1. کاربر : "عکس صبح در دلتا خوب به نظر می‌رسد."
  2. اپراتور از ابزار lookup_flight(airline='DL') برای دریافت شناسه پرواز مربوطه استفاده می‌کند، سپس پرواز را رزرو می‌کند: book_flight(flight_id="delta_123") .
  3. سایت تأیید رزرو پرواز delta_123 را نمایش می‌دهد.
  4. نماینده : «من آن را برای شما رزرو کرده‌ام.»

نمودار توالی

نمودار توالی را در اندازه کامل باز کنید .

واریانس آدرس

ممکن است کاربر هنگام درخواست کمک از یک نماینده مبهم باشد. برای مثال، ممکن است بگوید "من باید هفته آینده به نیویورک بروم." این درخواست روز خاصی را نشان نمی‌دهد، بنابراین شما باید ابزارهایی بسازید که به اندازه کافی انعطاف‌پذیر باشند تا نماینده بتواند پارامترهای از دست رفته ("کدام روز هفته آینده؟") را درخواست کند، نه اینکه فرضیاتی ایجاد کند که ممکن است منجر به شکست شود.

با پیش‌بینی این تغییرات در ایفای نقش، شما اطمینان حاصل می‌کنید که ابزارهای شما اطلاعات لازم را برای عامل فراهم می‌کنند تا ابهام را به طور مؤثر حل کند.

با ظرافت شکست بخورید و بازیابی را ممکن سازید

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

برای مثال:

  • وضعیت اشتباه یا فقدان پیش‌نیازها : اگر اپراتوری قبل از اجرای search_flights ، تابع filter_flights فراخوانی کند، با این جمله پاسخ دهید: «نتیجه‌ای برای جستجوی پرواز یافت نشد. ابتدا پروازها را جستجو کنید.»
  • پارامترهای نامعتبر : اگر ابزاری انتظار تاریخی با فرمت YYYY-MM-DD را دارد اما فرمت متفاوتی دریافت می‌کند، عبارت زیر را برگردانید: "فرمت تاریخ نامعتبر است. تاریخ را با فرمت YYYY-MM-DD وارد کنید."
  • مقادیر بازگشتی غیرمنتظره : اگر ابزاری از یک سرویس خارجی پرس‌وجو کند و نتیجه‌ای خالی یا ناقص دریافت کند، این عبارت را برگرداند: "هیچ پروازی مطابق با معیارهای شما یافت نشد. پارامترهای جستجوی خود را تنظیم کنید."
  • تخلفات منطق تجاری : اگر عملی یک قانون تجاری خاص را نقض کند، مانند فراخوانی cancel_order روی کالایی که قبلاً ارسال شده است، این عبارت را برگردانید: "سفارش ۱۲۳ قبلاً ارسال شده است. کاربر را به سیاست بازگشت کالا هدایت کنید."

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

ابزارهای خود را ارزیابی کنید

مستندسازی اهداف کاربر، انتقال حالت‌ها و مسیرهای مکالمه، طرحی برای ساخت ارزیابی‌های خودکار (evals) فراهم می‌کند. هنگام آزمایش سیستم‌هایی که از هوش مصنوعی مولد استفاده می‌کنند، باید نتایج احتمالی را که با انتظارات شما مطابقت ندارند، در نظر بگیرید. evalها می‌توانند به شما در تأیید انتخاب ابزار سازگار، استخراج پارامتر و مدیریت حالت کمک کنند.

استقرار در محیط تولید

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

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

مشارکت کنید و بازخورد خود را به اشتراک بگذارید

ساخت ابزار برای عامل‌های هوش مصنوعی، کاری مداوم و تکرارشونده است. با تمرکز بر اهداف کاربر، تعریف دقیق وضعیت شروع و ایفای نقش از طریق سبک‌های مختلف مکالمه، می‌توانید ابزارهایی طراحی کنید که نه تنها وظایف را انجام می‌دهند، بلکه به طور فعال عامل هوش مصنوعی را به سمت نتایج موفقیت‌آمیز هدایت می‌کنند.

همانطور که در حال ساخت و ارزیابی هستید، مکالمه بین کاربر و نماینده را در مرکز وب‌سایت خود قرار دهید. این مکالمه باید ابزارها و طراحی سایت را به سمتی هدایت کند که به بهترین شکل با تجربه کاربری شما مطابقت داشته باشد.

WebMCP در حال حاضر در دست بررسی است و ممکن است در آینده تغییر کند. اگر این API را امتحان کردید و بازخوردی داشتید، خوشحال می‌شویم آن را بشنویم.