WebMCP সর্বোত্তম অনুশীলন

আলেকজান্দ্রা ক্লেপার
Alexandra Klepper

প্রকাশিত: ১৮ মে, ২০২৬

WebMCP টুল ডিক্লারেশন সুস্পষ্ট হওয়া উচিত, যাতে ডেভেলপার বা এজেন্টদের আউটপুট দেখে পুনরায় চেষ্টা করার প্রয়োজন না হয়। আপনি Imperative API বা Declarative API যা-ই ব্যবহার করুন না কেন, এই সর্বোত্তম অনুশীলনগুলো অনুসরণ করুন:

  • নির্মাণ শুরু করার আগে একটি টুল কৌশল তৈরি করুন।
  • স্পষ্ট ভাষা এবং সিম্যান্টিক এইচটিএমএল ব্যবহার করুন।
  • আপনার স্কিমা ডিজাইন করুন এবং ইনপুট পরিচালনা করুন।
  • নির্ভরযোগ্য টুল তৈরি করুন।
  • পরীক্ষা ও ডিবাগ করুন।

একটি টুল কৌশল তৈরি করুন

যেকোনো সফ্টওয়্যার অ্যাপ্লিকেশনের মতোই, আপনার প্রথম পদক্ষেপ হওয়া উচিত আপনার টুল কৌশল পরিকল্পনা করা:

  • প্রতিটি টুলের একটিমাত্র কাজ থাকা উচিত । উদাহরণস্বরূপ, একটি টুলের কাজ হতে পারে ব্যবহারকারীকে একটি নির্দিষ্ট ধরনের ফর্মে নিয়ে যাওয়া, যেখানে অন্য একটি টুলের কাজ হবে ইনপুট ফিল্ডগুলোর সাথে ব্যবহারকারীর তথ্য মেলানো। খেয়াল রাখবেন যেন একই ধরনের টুল বারবার তৈরি না হয়, কারণ এতে এজেন্ট বিভ্রান্ত হতে পারে যে কোনটি ব্যবহার করবে। নিজেকে জিজ্ঞাসা করুন: আমি কি একই ফাংশন দিয়ে একাধিক কাজ করতে পারি?
  • টুল নিবন্ধন পরিচালনা করুন । পেজের কোনো নির্দিষ্ট অবস্থায় টুলগুলো দরকারি হলে সেগুলোকে নিবন্ধন করুন, এবং যখন টুলটি আর ব্যবহারযোগ্য থাকবে না তখন নিবন্ধন বাতিল করুন।
    • ইম্পারেটিভ এপিআই : আপনি registerTool ব্যবহার করে রেজিস্ট্রেশন গতিশীলভাবে পরিচালনা করতে পারেন।
    • ডিক্লারেটিভ এপিআই : আপনি ফর্মে toolname এবং tooldescription ব্যবহার করে টুলের অ্যাট্রিবিউটগুলো যোগ বা অপসারণ করার মাধ্যমে রেজিস্ট্রেশনকে ডাইনামিকভাবে পরিচালনা করতে পারেন।
  • জটিলতা হ্রাস করুন: বেশিরভাগ অ্যাপ্লিকেশনের জন্য, স্ট্যাটিক রেজিস্ট্রেশনই ডিফল্ট পদ্ধতি হওয়া উচিত।
  • কাজটি সম্পন্ন করার জন্য এজেন্টের উপর আস্থা রাখুন । কঠোর বা নেতিবাচক নির্দেশনা লেখার পরিবর্তে, ধরে নিন যে এজেন্ট কাজটি সম্পন্ন করার জন্য কী প্রয়োজন তা বুঝতে সক্ষম; এজেন্টের কাছ থেকে ধাপে ধাপে একটি সুনির্দিষ্ট প্রবাহ পরিচালনা করার প্রত্যাশা করবেন না।

যদিও অনুমোদিত টুলের সংখ্যার কোনো সর্বোচ্চ সীমা নেই, প্রতিটি টুল কনটেক্সট উইন্ডোর একটি অংশ দখল করে এবং কাজ শেষ হতে লাগা সময় বাড়িয়ে দেয়। আপনি যত বেশি টুল দেবেন এবং টুলগুলোর মধ্যে যত বেশি মিল থাকবে, এজেন্টের পক্ষে সঠিকভাবে বেছে নেওয়া তত কঠিন হবে। আপনার অ্যাপ্লিকেশনের জন্য কোনটি উপযুক্ত, তা নির্ধারণ করতে পরীক্ষা-নিরীক্ষা করুন।

এটি আপনাকে উদ্দেশ্যের পুনরাবৃত্তি ছাড়াই স্বতন্ত্র টুল তৈরি করতে এবং কখন এই টুলগুলো ব্যবহার করা যাবে তা পরিচালনা করতে সাহায্য করে।

স্পষ্ট ভাষা এবং শব্দার্থিক কোড ব্যবহার করুন

টুলগুলোর নাম ও ব্যবহার বর্ণনা করতে স্পষ্ট এবং সরাসরি ভাষা ব্যবহার করুন। এটি এজেন্টদের তাদের প্রয়োজনীয় জিনিস খুঁজে পেতে, প্রাপ্ত তথ্য বুঝতে এবং ডেভেলপারের প্রত্যাশা অনুযায়ী সেই তথ্য ব্যবহার করতে সাহায্য করে।

টুলের নাম লেখার সময়, কার্যসম্পাদন এবং সূচনার মধ্যে পার্থক্য করুন এবং ঠিক কী ঘটে তা বর্ণনা করে এমন ক্রিয়াপদ ব্যবহার করুন। উদাহরণস্বরূপ, create-event হলো তাৎক্ষণিক ইভেন্ট তৈরির একটি টুল, কিন্তু start-event-creation-process হলো এমন একটি টুল যা ব্যবহারকারীকে ইভেন্টটি তৈরি করার জন্য একটি ফর্মে পাঠিয়ে দেয়।

একটি সুস্পষ্ট বিবরণে টুলটি কী কাজ করে এবং কখন এটি ব্যবহার করতে হবে তা বর্ণনা করা উচিত। সীমাবদ্ধতার মতো নেতিবাচক ভাষার পরিবর্তে ইতিবাচক ভাষা এবং পছন্দের বিষয়গুলো তুলে ধরুন।

না

আবহাওয়ার জন্য এই যন্ত্রটি ব্যবহার করবেন না।

একটি সুলিখিত বিবরণে সীমাবদ্ধতাগুলো অন্তর্নিহিত থাকা উচিত।
করুন

এই টুলটি একটি নির্দিষ্ট তারিখ ও সময়ের জন্য ক্যালেন্ডার ইভেন্ট তৈরি করতে পারে।

জ্ঞানীয় কম্পিউটিং হ্রাস করুন

ঠিক যেমন জটিল কাজ সম্পন্নকারী মানুষের জন্য জ্ঞানীয় ভার কমানো উচিত, তেমনি মডেলের জন্যও জ্ঞানীয় গণনা কমানো উচিত:

  • ব্যবহারকারীর সরাসরি ইনপুট গ্রহণ করুন । এজেন্টকে গাণিতিক কাজ করতে বা ইনপুট স্ট্রিং রূপান্তর করতে বলবেন না। উদাহরণস্বরূপ, যদি কোনো ব্যবহারকারী বলেন, "১১:০০ থেকে ১৫:০০," টুলটি এটিকে একটি স্ট্রিং হিসেবে গ্রহণ করবে। এই সময়গুলোর মধ্যবর্তী মিনিট গণনা করতে মডেলকে বলবেন না।
  • প্যারামিটারগুলোর জন্য নির্দিষ্ট টাইপ ঘোষণা করুন , যেমন স্ট্রিং, নাম্বার বা এনাম।
  • আপনি কেন নির্দিষ্ট কিছু সিদ্ধান্ত নিয়েছেন তা ব্যাখ্যা করুন । আপনি কী সিদ্ধান্ত নিয়েছেন তা স্ব-ব্যাখ্যামূলক হওয়া উচিত। এই কারণটি এজেন্টদের আরও ভালো সিদ্ধান্ত নিতে সাহায্য করে। উদাহরণস্বরূপ, যদি আপনি একটি ই-কমার্স শপ চালান, তাহলে একটি অস্পষ্ট আইডি ব্যবহার না করে স্বাভাবিক ভাষায় শিপিং টাইপ ঘোষণা করুন: shipping_id=1 এর পরিবর্তে shipping="Express"

নির্ভরযোগ্যতাকে অগ্রাধিকার দিন

যেসব সরঞ্জাম প্রত্যাশা অনুযায়ী কাজ করে, তা থেকে এজেন্ট এবং মানুষ উপকৃত হয়:

  • রেট লিমিটের জন্য একটি সুষ্ঠু ব্যর্থতার ব্যবস্থা রাখুন । টুলগুলোতে যুক্তিসঙ্গত পুনরাবৃত্তির সুযোগ থাকা উচিত, যেমন মূল্য তুলনার ক্ষেত্রে। যদি কোনো টুল রেট লিমিটের আওতায় আসে, তবে একটি অর্থবহ ত্রুটি বার্তা দেখান অথবা ব্যবহারকারীকে কাজটি নিজে থেকে করার পরামর্শ দিন।
  • ফাংশনগুলো সম্পন্ন হওয়ার পর ইন্টারফেসের অবস্থা আপডেট করুন । এজেন্টরা পরবর্তী পদক্ষেপের পরিকল্পনা করার জন্য ইন্টারফেসের উপর নির্ভর করতে পারে, কিন্তু ফাংশনগুলো সম্পন্ন হতে ইন্টারফেস লোডের চেয়ে বেশি সময় লাগতে পারে। ইন্টারফেস আপডেট হয়ে গেলে এজেন্টের উচিত ফাংশনটি সম্পন্ন হয়েছে কিনা তা নিশ্চিত করা, অথবা পুনরায় আপডেটের জন্য অনুরোধ করা।
  • কোডে কঠোরভাবে যাচাই করুন, স্কিমাতে শিথিলভাবে । যেসব ফাংশন এবং কোডে বাইনারি লজিক আছে, সেগুলোর জন্য কনস্ট্রেইন্ট এবং টেস্টিং ব্যবহার করা উচিত। যদিও স্কিমা কনস্ট্রেইন্ট সহায়ক হতে পারে, তবে সেগুলো নিশ্চিত নয়। আপনার ফাংশন কোডে বর্ণনামূলক এরর যোগ করুন, যাতে মডেলটি নিজে থেকেই সংশোধন করতে পারে এবং নতুন, বৈধ প্যারামিটার দিয়ে পুনরায় চেষ্টা করতে পারে।

মূল্যায়ন পরীক্ষা এবং ডিবাগিং

মূল্যায়ন পরীক্ষা তৈরি করুন এবং ডিবাগিংয়ের জন্য আপনার টুলগুলো উপলব্ধ রাখুন। সুনির্দিষ্ট ইউনিট টেস্টের মতো নয়, মূল্যায়ন পরীক্ষা হার্ড-কোড করা যায় না, কারণ এর আউটপুট অপ্রত্যাশিত রূপ নিতে পারে।

  • সমস্যাটি সংজ্ঞায়িত করুন । আপনি আপনার সমস্যাটিকে একটি এপিআই চুক্তির মতো করে সাজাতে পারেন, যার মধ্যে ইনপুট টাইপ, আউটপুট ফরম্যাট এবং যেকোনো অতিরিক্ত সীমাবদ্ধতা অন্তর্ভুক্ত থাকবে।
  • একটি ভিত্তিস্তর এবং একটি আদর্শ ফলাফল নির্ধারণ করুন । বিশেষ করে টেক্সট ইনপুটের ক্ষেত্রে, কোন ধরনের ফলাফল আপনার প্রত্যাশিত আউটপুট এনে দিতে পারে, তা বোঝা জরুরি।
  • আউটপুট কীভাবে মূল্যায়ন করা হবে তা নির্ধারণ করুন । আপনি সম্ভবত ইনপুটের গুণমান, উপযোগিতা এবং পরবর্তী কাজটি সম্পন্ন করার ক্ষমতার উপর ভিত্তি করে বিষয়ভিত্তিক, গুণগত ফলাফল শনাক্ত ও পরিমাপ করছেন। আউটপুট মূল্যায়নের জন্য আপনি বেশ কিছু কৌশল ব্যবহার করতে পারেন, যার মধ্যে রয়েছে নিয়ম-ভিত্তিক আউটপুটের জন্য কোড-ভিত্তিক যাচাই (অক্ষরের সীমাবদ্ধতা) এবং বিচারক হিসেবে এলএলএম-এর ব্যবহার

কোনো নির্দিষ্ট মডেলের সমস্যা সমাধানের জন্য সংকীর্ণ নিয়ম যোগ করা থেকে বিরত থাকুন। উদাহরণস্বরূপ, আপনি যদি সম্মানসূচক শব্দের জন্য একটি সিলেক্ট ফিল্ড অন্তর্ভুক্ত করেন, তাহলে মডেলটি ভুল পছন্দ করতে পারে। এই সমস্যাটি সমাধানের জন্য সংকীর্ণ নিয়ম যোগ করার পরিবর্তে, আপনার টুলটিকে বিমূর্ত করুন এবং প্রয়োজন অনুযায়ী পরিবর্তন করুন। এই ফিল্ডটিকে ঐচ্ছিক হিসেবে সেট করাই আপনার জন্য সবচেয়ে ভালো হতে পারে। এরপর, ব্যবহারকারী ফলাফলে সন্তুষ্ট কিনা তা নিশ্চিত করার জন্য, এজেন্টকে বলুন ব্যবহারকারীকে জিজ্ঞাসা করতে যে কোন পছন্দটি যুক্তিযুক্ত।

অংশগ্রহণ করুন এবং মতামত জানান

WebMCP নিয়ে সক্রিয় আলোচনা চলছে এবং ভবিষ্যতে এটিতে পরিবর্তন আসতে পারে। আপনি যদি এই API-গুলো ব্যবহার করে দেখেন এবং আপনার কোনো মতামত থাকে, তবে আমরা তা জানতে আগ্রহী।