یک AI Agent بدون مهارتهای تخصصی، فقط یک مدل زبانی قدرتمند است؛ اما وقتی به آن Skillهای مناسب بدهیم، میتواند ابزارها را بشناسد، کارها را مرحلهبهمرحله انجام دهد، تصمیم بگیرد و حتی از تجربههای قبلی خود برای انجام بهتر کارها استفاده کند.
فرض کنید مدیر یک فروشگاه اینترنتی هستید و هر روز دهها کار تکراری انجام میدهید؛ بررسی سفارشها، پیدا کردن محصولات مناسب، پاسخ دادن به مشتریان، بررسی قیمت رقبا، نوشتن گزارش فروش و حتی انتشار محتوا در شبکههای اجتماعی.
حالا تصور کنید یک دستیار هوشمند دارید که فقط با یک جمله به او میگویید:
محصولات پرفروش امروز را بررسی کن، قیمت آنها را با رقبا مقایسه کن، سه محصولی که بیشترین فرصت فروش دارند پیدا کن و یک گزارش برای من آماده کن.
ابتدا اطلاعات فروش را بررسی میکنم، سپس قیمت رقبا را مقایسه میکنم، محصولات مناسب را رتبهبندی میکنم و در پایان گزارش را آماده میکنم.
اینجا دقیقاً جایی است که مفهوم Skill اهمیت پیدا میکند. Agent برای انجام چنین کاری باید مجموعهای از تواناییهای مشخص داشته باشد.
در سادهترین تعریف، Skill یک توانایی یا قابلیت تخصصی است که به یک AI Agent اجازه میدهد یک نوع وظیفه مشخص را بهصورت قابل تکرار انجام دهد.
اگر AI Agent را مانند یک کارمند هوشمند در نظر بگیریم، Skillها همان مهارتهایی هستند که این کارمند برای انجام وظایف مختلف یاد گرفته است.
Skill یعنی مجموعهای از دانش، دستورالعمل، ابزار و منطق لازم برای انجام یک وظیفه مشخص توسط Agent.
یکی از اشتباهات رایج این است که Agent و Skill را یک چیز بدانیم. در حالی که این دو نقش متفاوتی دارند.
تصمیم میگیرد چه کاری باید انجام شود، چه Skillهایی مورد نیاز هستند و چه مراحلی باید اجرا شوند.
یک توانایی تخصصی است که Agent برای انجام یک وظیفه مشخص از آن استفاده میکند.
فرض کنید میخواهیم یک Agent برای یک فروشگاه اینترنتی بسازیم. کاربر فقط میگوید:
Agent نباید همه کارها را خودش از ابتدا اختراع کند. بلکه باید تشخیص دهد که برای رسیدن به هدف، به چند Skill مختلف نیاز دارد.
پیدا کردن محصولات بر اساس نام، دستهبندی، قیمت و موجودی.
بررسی تعداد فروش، نرخ تبدیل و عملکرد محصولات.
مقایسه قیمت محصولات با منابع و فروشگاههای دیگر.
نوشتن عنوان، توضیحات و متن تبلیغاتی مناسب.
تبدیل نتایج تحلیل به یک گزارش قابل فهم برای مدیر.
ارسال گزارش از طریق Email، Telegram یا سیستم داخلی.
زمانی که کاربر یک درخواست را به Agent میدهد، Agent ابتدا هدف کاربر را تحلیل میکند. سپس مشخص میکند برای رسیدن به این هدف به چه تواناییهایی نیاز دارد.
کاربر هدف خود را به زبان طبیعی بیان میکند.
Agent درخواست را به وظایف کوچکتر تقسیم میکند.
Agent تشخیص میدهد از چه Skillهایی استفاده کند.
Skill ابزارها، APIها یا منابع داده را فراخوانی میکند.
Agent نتیجه را بررسی کرده و در صورت نیاز دوباره اقدام میکند.
نتیجه نهایی به شکل قابل استفاده به کاربر ارائه میشود.
یک Skill حرفهای معمولاً فقط شامل یک Prompt ساده نیست. برای اینکه یک Skill قابل اعتماد و قابل استفاده مجدد باشد، میتواند از چند بخش مختلف تشکیل شود.
برای مثال فرض کنید Skill ما وظیفه «تحلیل محصول» را بر عهده دارد. ساختار مفهومی آن میتواند چیزی شبیه این باشد:
{
"skill": "product_analysis",
"description":
"تحلیل عملکرد و فرصت فروش یک محصول",
"inputs": [
"product_name",
"sales_data",
"price",
"rating"
],
"tasks": [
"بررسی فروش",
"بررسی قیمت",
"بررسی امتیاز",
"محاسبه فرصت فروش"
],
"output": [
"score",
"recommendation",
"reason"
]
}
این ساختار باعث میشود Agent بداند این Skill برای چه کاری طراحی شده، چه اطلاعاتی دریافت میکند، چه مراحلی انجام میدهد و در نهایت چه خروجیای باید تولید کند.
این دو مفهوم به یکدیگر نزدیک هستند اما یکی نیستند.
| مفهوم | نقش | مثال |
|---|---|---|
| Skill | روش انجام یک وظیفه | تحلیل محصول |
| Tool | وسیلهای برای انجام یک عملیات | API جستجو |
| Agent | تصمیمگیرنده و هماهنگکننده | Agent فروش |
جستجوی محصول، مقایسه قیمت، تحلیل فروش و مدیریت سفارش.
دریافت داده، تحلیل آماری، ساخت نمودار و تولید گزارش.
تولید کد، تست، بررسی خطا و اصلاح پروژه.
تحقیق بازار، تولید محتوا و تحلیل کمپینها.
طراحی تمرین، ارزیابی دانشجو و تولید محتوای آموزشی.
اتصال Agent به سنسورها، سیستمهای کنترلی و نرمافزارهای ربات.
به جای ساخت یک Agent عمومی و ضعیف، میتوانید Agentهایی بسازید که در یک حوزه مشخص عملکرد بسیار خوبی دارند.
یک Skill را میتوان برای چند Agent مختلف استفاده کرد.
یک وظیفه بزرگ را میتوان به Skillهای کوچکتر و قابل مدیریت تقسیم کرد.
میتوان مشخص کرد Agent در هر Skill چه کاری انجام دهد و چه محدودیتهایی داشته باشد.
به جای بازنویسی کل Agent، میتوانید یک Skill جدید به سیستم اضافه کنید.
اگر میخواهید وارد دنیای AI Agentها شوید، پیشنهاد میکنم یادگیری را مرحلهبهمرحله انجام دهید.
یاد بگیرید چگونه دستورالعملهای دقیق و قابل اجرا بنویسید.
نحوه اتصال مدل به ابزارها و APIها را یاد بگیرید.
با حلقه تصمیمگیری، Planning و Execution آشنا شوید.
وظایف را به Skillهای مستقل و قابل استفاده مجدد تبدیل کنید.
مدیریت حافظه و Context را برای Agent یاد بگیرید.
عملکرد Skill و Agent را اندازهگیری و بهبود دهید.
Skill خوب فقط یک Prompt طولانی نیست. یک Skill حرفهای باید هدف مشخص، ورودی مشخص، خروجی مشخص، ابزارهای مورد نیاز، قوانین اجرایی و محدودیتهای مشخص داشته باشد.
مسیر توسعه هوش مصنوعی در حال حرکت از مدلهایی که فقط به سؤال پاسخ میدهند، به سمت سیستمهایی است که میتوانند برای رسیدن به یک هدف برنامهریزی کنند و مجموعهای از اقدامات را انجام دهند.
در چنین سیستمهایی، Skillها نقش بسیار مهمی دارند؛ زیرا به Agent اجازه میدهند تواناییهای خود را بهصورت ماژولار گسترش دهد.
Skill را میتوان یک توانایی تخصصی برای AI Agent دانست. Agent برای رسیدن به هدف، Skill مناسب را انتخاب میکند، Skill از ابزارها و دادههای مورد نیاز استفاده میکند و نتیجه را به Agent بازمیگرداند.
بنابراین اگر قصد دارید از استفاده ساده از ChatGPT و مدلهای زبانی عبور کنید و وارد دنیای واقعی AI Agentها شوید، یادگیری طراحی و معماری Skillها یکی از مهارتهای مهم شما خواهد بود.
خیر. Prompt میتواند بخشی از یک Skill باشد، اما Skill میتواند علاوه بر دستورالعمل، شامل ابزار، منطق، ورودی، خروجی، دانش و محدودیتهای اجرایی نیز باشد.
برای Agentهای ساده ممکن است یک ساختار ساده کافی باشد، اما در پروژههای واقعی و پیچیده، تقسیم تواناییها به Skillهای مشخص باعث افزایش قابلیت توسعه، کنترل و استفاده مجدد میشود.
برای Skillهای ساده لزوماً نه؛ اما برای Skillهای حرفهای که به API، دیتابیس، ابزارهای خارجی و اتوماسیون متصل هستند، آشنایی با برنامهنویسی بسیار مفید است.
Skill مشخص میکند یک وظیفه چگونه انجام شود و Tool وسیلهای است که عملیات واقعی را انجام میدهد؛ برای مثال Skill «جستجوی محصول» میتواند از یک API بهعنوان Tool استفاده کند.
حالا که مفهوم Skill را میشناسی، قدم بعدی این است که یک Agent واقعی بسازی و تواناییهای آن را با Skillهای مختلف گسترش دهی.
شروع کار با skillهای آماده ←