بهترین شیوه‌های WebMCP

الکساندرا کلپر
Alexandra Klepper

منتشر شده: ۱۸ مه ۲۰۲۶

اعلان ابزار WebMCP باید واضح باشد، بدون اینکه توسعه‌دهندگان یا نمایندگان نیازی به بررسی خروجی‌ها و تلاش مجدد داشته باشند. چه از API امری (Imperative API) استفاده کنید و چه از API اعلانی (Declarative API)، این بهترین شیوه‌ها را دنبال کنید:

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

یک استراتژی ابزار ایجاد کنید

درست همانطور که برای هر نرم‌افزار دیگری انجام می‌دهید، اولین قدم شما باید برنامه‌ریزی استراتژی ابزارتان باشد:

  • هر ابزار باید شامل یک تابع واحد باشد . برای مثال، یک ابزار می‌تواند کاربر را به یک نوع فرم خاص هدایت کند، جایی که ابزار دیگر باید فیلدهای ورودی را با اطلاعات کاربر مطابقت دهد. مراقب باشید که ابزارهای همپوشانی ایجاد نکنید، زیرا ممکن است عامل در مورد استفاده از آنها گیج شود. از خود بپرسید: آیا می‌توانم چندین کار را با یک تابع انجام دهم؟
  • مدیریت ثبت ابزار . ابزارها را زمانی که در یک وضعیت خاص صفحه مفید هستند ثبت کنید، و سپس وقتی ابزار دیگر قابل استفاده نیست، ثبت را لغو کنید.
    • API دستوری : شما می‌توانید به صورت پویا ثبت نام را با registerTool و unregisterTool مدیریت کنید.
    • API اعلانی : شما می‌توانید با اضافه کردن یا حذف ویژگی‌های ابزار روی یک فرم، با toolName و toolDescription ، ثبت نام را به صورت پویا مدیریت کنید.
  • کاهش پیچیدگی: برای اکثر برنامه‌ها، ثبت استاتیک باید رویکرد پیش‌فرض باشد.
  • به عامل اعتماد کنید تا وظیفه را انجام دهد *. به جای نوشتن دستورالعمل‌های سفت و سخت یا منفی، فرض کنید که عامل قادر به درک آنچه برای انجام وظیفه لازم است، است، نه اینکه از عامل انتظار داشته باشید که جریان دقیقی از مراحل را مدیریت کند.

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

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

از زبان واضح و کد معنایی استفاده کنید

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

هنگام نوشتن نام ابزارها، اجرا را از شروع متمایز کنید و از افعالی استفاده کنید که دقیقاً آنچه اتفاق می‌افتد را توصیف می‌کنند. برای مثال، create-event ابزاری برای ایجاد فوری رویداد است، اما start-event-creation-process ابزاری است که کاربر را به فرمی برای ایجاد رویداد هدایت می‌کند.

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

نکن

«از این ابزار برای پیش‌بینی آب و هوا استفاده نکنید.»

محدودیت‌ها باید در یک توصیف خوب نوشته شده، ضمنی باشند.
انجام دهید

«این ابزار می‌تواند یک رویداد تقویمی ایجاد کند که برای یک تاریخ و زمان خاص برنامه‌ریزی شده باشد.»

به حداقل رساندن محاسبات شناختی

همانطور که باید بار شناختی را برای انسان‌هایی که وظایف پیچیده را انجام می‌دهند به حداقل برسانید، باید محاسبات شناختی را برای مدل نیز به حداقل برسانید:

  • ورودی خام کاربر را بپذیرید . از درخواست انجام محاسبات ریاضی یا تبدیل رشته‌های ورودی توسط عامل خودداری کنید. برای مثال، اگر کاربری بگوید «۱۱:۰۰ تا ۱۵:۰۰»، ابزار باید این را به عنوان یک رشته بپذیرد. از درخواست محاسبه دقایق بین این زمان‌ها توسط مدل خودداری کنید.
  • انواع خاصی را برای پارامترها، مانند رشته، عدد یا enum، تعریف کنید .
  • توضیح دهید که چرا انتخاب‌های خاصی را انجام داده‌اید . اینکه چه انتخابی انجام داده‌اید باید کاملاً واضح باشد. دلیل آن به نمایندگان کمک می‌کند تا انتخاب‌های بهتری داشته باشند. برای مثال، اگر یک فروشگاه تجارت الکترونیک دارید، به جای استفاده از یک شناسه مبهم، نوع حمل و نقل را با زبان طبیعی اعلام کنید: shipping="Express" به جای shipping_id=1 .

اولویت‌بندی قابلیت اطمینان

عامل‌ها و انسان‌ها از ابزارهایی که مطابق انتظار رفتار می‌کنند، سود می‌برند:

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

تست و اشکال‌زدایی ارزیابی

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

  • تعریف مشکل . می‌توانید مشکل خود را مانند یک قرارداد API، شامل نوع ورودی، فرمت خروجی و هرگونه محدودیت اضافی، تعریف کنید.
  • یک خط مبنا و یک نتیجه ایده‌آل تعریف کنید . به خصوص در مورد ورودی متن، درک این موضوع که چه نوع نتایجی می‌توانند خروجی مورد انتظار شما را به دست آورند، مهم است.
  • نحوه ارزیابی خروجی را تعیین کنید . شما احتمالاً نتایج ذهنی و کیفی را بر اساس کیفیت ورودی، مفید بودن و توانایی انجام وظیفه بعدی شناسایی و اندازه‌گیری می‌کنید. تعدادی تکنیک وجود دارد که می‌توانید برای ارزیابی خروجی از آنها استفاده کنید، از جمله بررسی‌های مبتنی بر کد برای خروجی‌های مبتنی بر قانون (محدودیت‌های کاراکتر) و LLM-as-a-judge .

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

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

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