Skill در هوش مصنوعی چیست و چطور Skill اختصاصی بسازیم؟ آموزش کامل از صفر
اخبار و تکنولوژی

Skill در هوش مصنوعی چیست و چطور Skill اختصاصی بسازیم؟ آموزش کامل از صفر

Skill در هوش مصنوعی روشی برای تبدیل دستورها، تجربه‌ها و فرایندهای تکراری به یک قابلیت قابل استفاده مجدد برای Agentها و مدل‌هایی مثل ChatGPT، Codex و Claude است. در این آموزش با ساختار SKILL.md، تفاوت Skill با Prompt و Tool و روش ساخت یک Skill واقعی آشنا می‌شویم.

اگر برای انجام یک کار با هوش مصنوعی مجبور هستید هر بار همان Prompt طولانی، قوانین، قالب خروجی و مراحل کار را دوباره توضیح دهید، Skill دقیقاً برای حل همین مشکل ساخته شده است.

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

مثلاً می‌توانید Skillهایی بسازید که به هوش مصنوعی یاد بدهند:

  • مقالات سایت شما را با ساختار مشخص بنویسد.
  • کدهای پروژه را طبق استاندارد تیم بررسی کند.
  • گزارش فروش هفتگی تولید کند.
  • فایل Excel را طبق یک قالب خاص بسازد.
  • Pull Requestها را با قوانین تیم شما Review کند.
  • محتوای شبکه اجتماعی را با لحن برند بنویسد.
  • قبل از تحویل هر طراحی، یک چک‌لیست UI/UX مشخص را اجرا کند.

در سال‌های اخیر، مفهوم Agent Skills به یکی از روش‌های مهم برای شخصی‌سازی Agentهای هوش مصنوعی تبدیل شده است. OpenAI و Anthropic هر دو از ساختارهایی مبتنی بر فایل SKILL.md برای تعریف Workflowهای قابل استفاده مجدد استفاده می‌کنند.

برای مطالعه بیشتر می‌توانید به OpenAI Skills و Anthropic Agent Skills مراجعه کنید.

Skill را نباید با یک Prompt ذخیره‌شده ساده اشتباه گرفت. یک Skill می‌تواند علاوه بر دستورها، فایل‌های مرجع، Template، Script و منابع دیگری داشته باشد و Agent فقط زمانی آن را بارگذاری کند که برای وظیفه فعلی مرتبط باشد.

Skill در هوش مصنوعی دقیقاً چیست؟

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

یک Skill ساده ممکن است فقط چنین ساختاری داشته باشد:

text
my-skill/
└── SKILL.md

اما یک Skill حرفه‌ای‌تر می‌تواند به شکل زیر باشد:

text
my-skill/
├── SKILL.md
├── references/
│   ├── style-guide.md
│   └── examples.md
├── scripts/
│   └── validate.py
└── assets/
    └── report-template.md

در این ساختار:

  • SKILL.md مغز اصلی Skill است.
  • references/ اطلاعات و مستندات کمکی را نگه می‌دارد.
  • scripts/ شامل کدهایی است که Agent می‌تواند برای کارهای دقیق و تکرارشونده اجرا کند.
  • assets/ برای Templateها، نمونه‌ها و فایل‌های موردنیاز استفاده می‌شود.

این ساختار باعث می‌شود Skill فقط یک Prompt طولانی نباشد و بتواند مانند یک بسته کوچک از دانش، دستورها و ابزارهای موردنیاز Agent عمل کند.

چرا اصلاً به Skill نیاز داریم؟

مهم‌ترین مزیت Skill این است که دانش «چگونه انجام دادن یک کار» را از یک مکالمه موقت به یک قابلیت دائمی و قابل استفاده مجدد تبدیل می‌کند.

فرض کنید همیشه از ChatGPT می‌خواهید مقاله‌ای برای سایتتان تولید کند و هر بار باید این موارد را توضیح دهید:

  • ساختار Front Matter
  • نحوه نوشتن عنوان
  • قواعد SEO
  • لحن برند
  • نحوه استفاده از H2 و H3
  • ساختار FAQ
  • قالب CTA
  • روش لینک‌دهی
  • محدودیت منابع
  • چک‌لیست نهایی

ممکن است Prompt شما چند هزار کلمه شود.

با Skill می‌توانید همه این قوانین را یک‌بار داخل فایل تعریف کنید و بعد فقط بگویید:

text
برای موضوع Gemini یک مقاله بنویس.

Agent می‌تواند Skill مرتبط با تولید مقاله را پیدا کند و قوانین آن را اجرا کند.

مزیت‌های اصلی Skill

  • کاهش نیاز به تکرار Promptهای طولانی
  • یکسان ماندن کیفیت خروجی
  • کاهش فراموش شدن قوانین
  • امکان استفاده چند نفر از یک Workflow مشترک
  • نگهداری و Version Control با Git
  • امکان اضافه کردن Script و ابزار
  • امکان ترکیب چند Skill
  • قابل انتقال بودن دانش تیم به Agent
  • ساده‌تر شدن نگهداری Promptهای پیچیده

Skillها مخصوصاً برای وظایفی مفید هستند که چندمرحله‌ای، تکرارشونده یا دارای قالب و قوانین مشخص هستند.

تفاوت Skill با Prompt، Tool و Agent چیست؟

یکی از اشتباه‌های رایج این است که Prompt، Skill، Tool و Agent را یک چیز بدانیم؛ درحالی‌که هرکدام نقش متفاوتی دارند.

مفهوموظیفه
Promptمی‌گوید الان چه کاری انجام شود
Skillتوضیح می‌دهد آن نوع کار چگونه انجام شود
Toolامکان انجام یک عمل واقعی را فراهم می‌کند
Agentتصمیم می‌گیرد چگونه برای رسیدن به هدف از مدل، Skill و Tool استفاده کند

Prompt چیست؟

Prompt دستور فعلی کاربر است.

مثلاً:

text
این Pull Request را بررسی کن.

این جمله فقط هدف فعلی را مشخص می‌کند.

Skill چیست؟

Skill روش انجام کار را تعریف می‌کند.

مثلاً:

text
هنگام Review کردن Pull Request:

1. ابتدا تغییرات امنیتی را بررسی کن.
2. سپس Performance را بررسی کن.
3. Breaking Changeها را مشخص کن.
4. برای هر مشکل Severity تعیین کن.
5. در انتها نتیجه را با قالب مشخص ارائه بده.

این دستورها می‌توانند بارها برای Pull Requestهای مختلف استفاده شوند.

Tool چیست؟

Tool به Agent قابلیت انجام یک عمل واقعی می‌دهد.

برای مثال:

  • خواندن فایل
  • جستجوی وب
  • اجرای Python
  • دریافت اطلاعات از GitHub
  • ارسال ایمیل
  • خواندن تقویم
  • اجرای Command
  • فراخوانی API

Skill خودش الزاماً Tool نیست.

Skill می‌تواند به Agent توضیح دهد چه زمانی و چگونه از Tool استفاده کند.

Agent چیست؟

Agent سیستم کامل‌تری است که می‌تواند:

  1. هدف را دریافت کند.
  2. وضعیت را تحلیل کند.
  3. Skill مناسب را پیدا کند.
  4. Tool مناسب را انتخاب کند.
  5. عملیات را انجام دهد.
  6. نتیجه را بررسی کند.
  7. در صورت نیاز مسیر را اصلاح کند.

به‌صورت مفهومی می‌توان چنین نوشت:

text
Agent = Model + Instructions + Skills + Tools + Context

البته معماری واقعی هر پلتفرم می‌تواند متفاوت باشد.

فایل SKILL.md چیست؟

فایل SKILL.md مهم‌ترین فایل یک Agent Skill است.

این فایل با Markdown نوشته می‌شود و معمولاً شامل دو قسمت اصلی است:

  1. YAML Front Matter
  2. دستورهای Skill

حداقل ساختار می‌تواند چنین باشد:

markdown
---
name: article-writer
description: Write SEO-friendly Persian articles using the site's editorial rules.
---

Use this skill when the user asks to create an article.

1. Research the topic.
2. Verify time-sensitive facts.
3. Write the article in Persian.
4. Use the required Markdown structure.
5. Run the final editorial checklist before delivery.

قسمت زیر Metadata یا اطلاعات اولیه Skill محسوب می‌شود:

yaml
---
name: article-writer
description: Write SEO-friendly Persian articles using the site's editorial rules.
---

و ادامه فایل، دستورهایی است که Agent هنگام اجرای Skill باید دنبال کند.

چرا name و description در Skill مهم هستند؟

دو فیلد مهم Skill عبارت‌اند از:

yaml
name:
description:

این دو فقط اطلاعات نمایشی نیستند.

در بسیاری از سیستم‌های Agentic، مدل ابتدا نام و توضیح Skillهای موجود را می‌بیند و براساس آن تصمیم می‌گیرد کدام Skill برای درخواست فعلی مناسب است.

بنابراین Description باید دو چیز را مشخص کند:

  • Skill چه کاری انجام می‌دهد؟
  • چه زمانی باید از آن استفاده شود؟

مثلاً این Description ضعیف است:

yaml
description: Helps with articles.

چون مشخص نیست:

  • چه نوع مقاله‌ای؟
  • برای چه زمانی؟
  • با چه هدفی؟
  • چه چیزی باعث فعال شدن Skill می‌شود؟

نسخه بهتر:

yaml
description: Research and write Persian SEO articles for the Hooshamoozan website. Use when the user asks to create, rewrite, update, or fact-check an article for the site.

این Description هم کاری که Skill انجام می‌دهد و هم شرایط استفاده از آن را توضیح می‌دهد.

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

مرحله‌به‌مرحله یک Skill بسازیم

برای اینکه موضوع کاملاً روشن شود، یک Skill واقعی می‌سازیم.

فرض کنیم می‌خواهیم Skillی داشته باشیم که مقالات فارسی یک سایت را قبل از انتشار بررسی کند.

نام آن را می‌گذاریم:

text
persian-article-editor

مرحله اول: پوشه Skill را بسازید

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

text
persian-article-editor/
└── SKILL.md

در ساده‌ترین حالت همین دو مورد کافی هستند:

  • یک پوشه
  • یک فایل SKILL.md

مرحله دوم: Metadata را تعریف کنید

داخل SKILL.md بنویسید:

yaml
---
name: persian-article-editor
description: Review and improve Persian website articles for clarity, SEO, factual accuracy and readability. Use when the user asks to edit, proofread, fact-check or prepare a Persian article for publication.
---

این قسمت به Agent کمک می‌کند تشخیص دهد Skill برای چه درخواست‌هایی مناسب است.

مرحله سوم: هدف Skill را مشخص کنید

بعد از Front Matter بنویسید:

markdown
# Persian Article Editor

Use this skill when reviewing Persian articles before publication.

The goal is to improve:

- factual accuracy
- readability
- SEO
- heading structure
- source quality
- Persian grammar

اینجا Agent دقیقاً می‌فهمد هدف Skill چیست.

مرحله چهارم: Workflow را مشخص کنید

یکی از اشتباه‌های رایج این است که Skill را با جمله‌های خیلی مبهم بنویسیم.

مثلاً:

text
مقاله را خوب بررسی کن.

این دستور مشخص نمی‌کند «خوب بررسی کردن» دقیقاً یعنی چه.

نسخه بهتر:

markdown
## Workflow

1. Read the full article before editing.
2. Identify time-sensitive claims.
3. Verify important factual claims using reliable sources.
4. Check heading hierarchy.
5. Remove unnecessary repetition.
6. Improve unclear Persian sentences.
7. Check that the introduction answers search intent quickly.
8. Verify that external links point to real sources.
9. Check SEO title and meta description.
10. Run the final checklist before returning the article.

هرچه Workflow مشخص‌تر باشد، خروجی قابل پیش‌بینی‌تر می‌شود.

برای Skill قالب خروجی تعریف کنید

اگر خروجی باید ساختار مشخصی داشته باشد، آن را داخل Skill بنویسید.

مثلاً:

markdown
## Output format

Return the result using this structure:

### مشکلات مهم
- ...

### پیشنهادهای SEO
- ...

### خطاهای factual
- ...

### نسخه اصلاح‌شده
...

این روش به‌خصوص برای Skillهایی که قرار است چند نفر در یک تیم از آن استفاده کنند اهمیت دارد.

با این کار، خروجی Agent در دفعات مختلف ساختار مشابهی خواهد داشت.

چک‌لیست نهایی اضافه کنید

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

مثلاً:

markdown
## Final checks

Before finishing:

- Confirm that no unsupported claims were added.
- Confirm that all URLs are real.
- Confirm heading hierarchy is valid.
- Confirm no H1 was added inside the article body.
- Confirm Persian punctuation is correct.
- Confirm there is no unnecessary keyword stuffing.

این بخش جلوی بسیاری از خطاهای رایج را می‌گیرد.

یک Skill کامل چه شکلی است؟

یک نسخه کامل و ساده از Skill ویرایش مقاله می‌تواند به این شکل باشد:

markdown
---
name: persian-article-editor
description: Review and improve Persian website articles for clarity, SEO, factual accuracy and readability. Use when the user asks to edit, proofread, fact-check or prepare a Persian article for publication.
---

# Persian Article Editor

Use this skill to prepare Persian articles for publication.

## Goals

Improve:

- factual accuracy
- readability
- SEO
- Persian grammar
- article structure

## Workflow

1. Read the full article.
2. Identify its search intent.
3. Check time-sensitive claims.
4. Verify important claims when necessary.
5. Improve weak or unclear paragraphs.
6. Check heading hierarchy.
7. Remove repetition.
8. Check internal and external links.
9. Review meta title and meta description.
10. Run the final checklist.

## Rules

- Never invent sources.
- Never invent URLs.
- Do not keyword-stuff.
- Preserve factual uncertainty.
- Prefer primary sources.
- Keep paragraphs readable.

## Final checks

Before returning the result:

- Verify factual claims.
- Verify links.
- Verify heading hierarchy.
- Verify Persian punctuation.
- Confirm the article answers search intent.

همین فایل ساده می‌تواند پایه یک Skill واقعی باشد.

چه زمانی references اضافه کنیم؟

گاهی تمام اطلاعات نباید داخل SKILL.md قرار بگیرند.

فرض کنید Skill شما باید از یک Style Guide ده‌صفحه‌ای استفاده کند.

اگر همه آن اطلاعات را داخل SKILL.md قرار دهید:

  • فایل بیش‌ازحد بزرگ می‌شود.
  • Context بی‌دلیل مصرف می‌شود.
  • نگهداری Skill سخت‌تر می‌شود.
  • Agent در هر اجرا اطلاعات غیرضروری زیادی دریافت می‌کند.

در این شرایط می‌توانید فایل جداگانه ایجاد کنید:

text
my-skill/
├── SKILL.md
└── references/
    └── brand-guide.md

و داخل Skill بنویسید:

markdown
When writing branded content, read:

references/brand-guide.md

در این حالت، Agent فقط زمانی که واقعاً به اطلاعات Brand Guide نیاز دارد آن فایل را می‌خواند.

این روش به مفهوم Progressive Disclosure نزدیک است؛ یعنی اطلاعات بیشتر فقط زمانی وارد Context شوند که واقعاً لازم باشند.

چه زمانی Script به Skill اضافه کنیم؟

همه کارها نباید با Prompt انجام شوند.

گاهی اجرای کد بسیار مطمئن‌تر است.

مثلاً فرض کنید Skill شما باید:

  • JSON را Validate کند.
  • تعداد کلمات را دقیق بشمارد.
  • فایل CSV را پردازش کند.
  • تغییرات Git را بررسی کند.
  • یک فرمت مشخص را Validate کند.
  • یک محاسبه دقیق انجام دهد.

در چنین شرایطی می‌توانید Script اضافه کنید.

ساختار:

text
seo-audit/
├── SKILL.md
└── scripts/
    └── check_meta.py

نمونه Script:

python
import sys

title = sys.argv[1]

if len(title) > 60:
    print("Title is too long")
else:
    print("Title length is acceptable")

سپس داخل SKILL.md می‌توانید مشخص کنید چه زمانی این Script اجرا شود.

کارهایی که قطعی، محاسباتی و تکرارشونده هستند معمولاً گزینه مناسبی برای Script هستند. کارهایی مثل قضاوت درباره لحن، کیفیت متن یا خلاقیت معمولاً بهتر است به مدل سپرده شوند.

پوشه assets چه کاربردی دارد؟

پوشه assets/ معمولاً برای فایل‌هایی استفاده می‌شود که قرار است به‌عنوان بخشی از خروجی یا Template کار استفاده شوند.

مثلاً:

text
report-builder/
├── SKILL.md
└── assets/
    ├── report-template.md
    └── cover-template.html

نمونه‌های کاربرد Asset:

  • Template گزارش
  • قالب مقاله
  • فایل HTML پایه
  • قالب ایمیل
  • ساختار Presentation
  • نمونه خروجی
  • فایل‌های موردنیاز تولید محتوا

به‌جای اینکه Agent هر بار یک قالب را از ابتدا حدس بزند، می‌توانید Template اصلی را در اختیار Skill قرار دهید.

تفاوت references و assets چیست؟

این دو پوشه ممکن است در نگاه اول مشابه به نظر برسند.

یک تفکیک ساده این است:

پوشهکاربرد
references/اطلاعاتی که Agent باید بخواند و از آن‌ها یاد بگیرد
assets/فایل‌ها و قالب‌هایی که Agent می‌تواند در خروجی استفاده کند

مثلاً:

text
references/
└── brand-guide.md

برای توضیح قوانین برند است.

اما:

text
assets/
└── instagram-post-template.md

قالبی است که Agent می‌تواند برای ساخت خروجی استفاده کند.

این تفکیک اجباری نیست، اما باعث می‌شود ساختار Skill مرتب‌تر و قابل فهم‌تر باشد.

Skillهای خوب چه ویژگی‌هایی دارند؟

یک Skill خوب معمولاً چند ویژگی مشخص دارد.

یک هدف مشخص دارد

Skill نباید قرار باشد «همه کار انجام دهد».

مثلاً:

text
general-assistant

معمولاً بیش‌ازحد کلی است.

اما:

text
wordpress-seo-article-review

هدف بسیار مشخص‌تری دارد.

مراحل قابل اجرا دارد

به‌جای:

text
Make the result professional.

بنویسید:

text
1. Check the title.
2. Check the introduction.
3. Review every H2.
4. Verify links.
5. Remove duplicate information.

Agent با دستورهای عملی بسیار بهتر از عبارت‌های مبهم کار می‌کند.

فقط اطلاعات لازم را داخل Context می‌آورد

Skill خوب نباید ده‌ها صفحه اطلاعات غیرضروری را برای هر درخواست بارگذاری کند.

مستندات بزرگ را می‌توان داخل references/ قرار داد و فقط در شرایط مرتبط خواند.

شرایط پایان کار دارد

Agent باید بداند چه زمانی کار واقعاً تمام شده است.

مثلاً:

markdown
Finish only after all validation checks pass.

یا:

markdown
If required information is unavailable, report the missing information instead of inventing it.

رفتار در شرایط خطا مشخص است

مثلاً:

markdown
If a source cannot be verified:

- do not present the claim as confirmed
- clearly mark the uncertainty
- do not invent a replacement source

این بخش‌ها باعث می‌شوند Skill قابل اعتمادتر شود.

چه چیزهایی را نباید داخل Skill قرار دهیم؟

هر قانون و Promptی ارزش تبدیل شدن به Skill ندارد.

Skill زمانی منطقی است که Workflow تکرارشونده و قابل تعریف باشد.

بهتر است این موارد را بدون دلیل داخل Skill قرار ندهید:

  • درخواست‌های کاملاً یک‌بارمصرف
  • اطلاعاتی که دائماً تغییر می‌کنند
  • توضیحات غیرضروری طولانی
  • Promptهایی که Workflow مشخصی ندارند
  • قوانین متناقض
  • اطلاعاتی که هیچ ارتباطی با وظیفه Skill ندارند
  • کل مستندات یک پروژه بدون نیاز واقعی

همچنین بهتر است Skill را برای جبران ضعف یک Prompt ساده بیش‌ازحد پیچیده نکنید.

هرچه Skill بزرگ‌تر شود، نگهداری، تست و Debug کردن آن نیز دشوارتر خواهد شد.

Skill چگونه انتخاب و اجرا می‌شود؟

یکی از ویژگی‌های مهم Skills این است که در سیستم‌های پشتیبان می‌توانند براساس درخواست کاربر انتخاب شوند.

فرض کنید Agent این Skillها را در اختیار دارد:

text
seo-article-writer
code-review
presentation-builder
financial-report

کاربر می‌گوید:

text
این Pull Request را قبل از Merge بررسی کن.

براساس نام و Descriptionها، Agent می‌تواند تشخیص دهد:

text
code-review

به احتمال زیاد Skill مناسب این درخواست است.

سپس Agent دستورهای کامل آن Skill را می‌خواند و Workflow را اجرا می‌کند.

به همین دلیل description یکی از مهم‌ترین قسمت‌های طراحی Skill است.

آیا چند Skill می‌توانند با هم استفاده شوند؟

بله.

یکی از ویژگی‌های مهم Agent Skills، قابل ترکیب بودن آن‌ها است.

مثلاً برای ساخت یک گزارش ممکن است Agent از این Skillها استفاده کند:

text
research
data-analysis
chart-design
report-writing

هر Skill مسئول بخش مشخصی از Workflow است.

به‌جای ساخت یک Skill عظیم مثل:

text
everything-skill

معمولاً بهتر است چند Skill تخصصی طراحی کنید.

مثلاً یک سیستم تولید محتوا می‌تواند شامل این Skillها باشد:

text
topic-research
seo-article
fact-check
image-brief
social-caption

این معماری مدیریت و توسعه سیستم را ساده‌تر می‌کند.

اگر بعداً فقط قوانین Fact Check تغییر کنند، کافی است Skill مربوط به همان بخش را اصلاح کنید.

Skill چه تفاوتی با Custom GPT دارد؟

Skill و Custom GPT می‌توانند در بعضی کاربردها شبیه به نظر برسند، اما دقیقاً یکسان نیستند.

SkillCustom GPT
یک قابلیت یا Workflow مشخصیک دستیار سفارشی کامل
معمولاً قابل ترکیب با Skillهای دیگرمعمولاً تنظیمات و رفتار پایه یک Assistant را مشخص می‌کند
برای یک وظیفه تخصصی مناسب استبرای ساخت دستیار اختصاصی مناسب است
می‌تواند فقط هنگام نیاز استفاده شودمعمولاً رفتار کلی Assistant را تعیین می‌کند

برای مثال:

text
Custom GPT:
دستیار بازاریابی شرکت

Skills:
- instagram-caption
- seo-article
- campaign-analysis
- email-copywriting

در این ساختار، یک Assistant می‌تواند چند Skill تخصصی در اختیار داشته باشد.

بنابراین Skill و Custom GPT لزوماً جایگزین هم نیستند.

Skill چه تفاوتی با MCP دارد؟

MCP و Skill نیز دو مفهوم متفاوت ولی مکمل هستند.

فرض کنید یک MCP Server به Agent اجازه می‌دهد به سیستم فروش شرکت دسترسی داشته باشد.

این سیستم ممکن است Toolهایی مانند موارد زیر فراهم کند:

text
get_orders
get_customer
create_ticket
send_invoice

این Toolها به Agent قابلیت انجام عملیات می‌دهند.

اما Skill می‌تواند مشخص کند برای درخواست:

text
گزارش مشتری ناراضی را آماده کن.

چه Workflowای اجرا شود:

text
1. اطلاعات مشتری را دریافت کن.
2. سفارش‌های اخیر را بررسی کن.
3. تیکت‌های پشتیبانی را بخوان.
4. مشکلات تکراری را پیدا کن.
5. یک خلاصه مدیریتی تولید کن.

بنابراین به‌شکل ساده:

text
MCP = دسترسی و عملیات
Skill = روش انجام Workflow

یک Skill می‌تواند توضیح دهد Toolهای ارائه‌شده از طریق MCP در چه زمانی و با چه ترتیبی استفاده شوند.

چطور Skill حرفه‌ای‌تری بسازیم؟

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

با درخواست‌های واقعی تست کنید

اگر Skill شما برای Code Review است، فقط یک مثال ایده‌آل تست نکنید.

سناریوهای مختلف بسازید:

  • Pull Request کوچک
  • Pull Request بسیار بزرگ
  • تغییر امنیتی
  • تغییر فقط Documentation
  • کد ناقص
  • درخواست مبهم
  • پروژه‌ای که تست ندارد

بررسی کنید Skill چه زمانی به‌درستی عمل می‌کند و چه زمانی دچار مشکل می‌شود.

Failure Caseها را پیدا کنید

فرض کنید مدل همیشه فراموش می‌کند Security Check انجام دهد.

به‌جای اضافه کردن چندین جمله پراکنده، Workflow را واضح‌تر کنید:

markdown
Step 1 must always be security review.

Do not continue to performance review before completing the security review.

Skill را Version Control کنید

چون Skill مجموعه‌ای از فایل‌های متنی است، می‌توانید آن را در Git نگهداری کنید.

مثلاً:

text
v1
- initial workflow

v2
- added security validation

v3
- improved output format

Version Control کمک می‌کند بدانید:

  • چه چیزی تغییر کرده است؟
  • چه کسی آن را تغییر داده است؟
  • چه زمانی تغییر کرده است؟
  • آیا نسخه جدید واقعاً بهتر عمل می‌کند؟

امنیت Skillها را جدی بگیرید

Skill می‌تواند بسیار قدرتمند باشد؛ مخصوصاً اگر به Script، فایل، Shell، اینترنت یا سرویس‌های خارجی دسترسی داشته باشد.

به همین دلیل، Skill ناشناس را نباید بدون بررسی اجرا کرد.

ریسک‌های احتمالی شامل موارد زیر هستند:

  • اجرای Command مخرب
  • خواندن فایل‌های حساس
  • ارسال اطلاعات به یک سرور خارجی
  • Prompt Injection
  • سوءاستفاده از Token یا Credential
  • تغییر فایل‌های پروژه
  • اجرای Script آلوده
  • دسترسی بیش‌ازحد به ابزارها
هیچ Skill ناشناس دانلودشده از اینترنت را بدون بررسی SKILL.md، پوشه scripts و تمام فایل‌های اجرایی روی Agentی که به اطلاعات حساس شما دسترسی دارد فعال نکنید.

پیش از نصب یک Skill شخص ثالث بهتر است حداقل این موارد را بررسی کنید:

  1. فایل SKILL.md
  2. تمام Scriptها
  3. Commandهای Shell
  4. URLهای خارجی
  5. Permissionهای موردنیاز
  6. فایل‌هایی که Skill اجازه خواندن دارد
  7. اطلاعاتی که ممکن است به سرویس دیگری ارسال شوند

یک مثال واقعی؛ Skill مخصوص تولید محتوای سایت

فرض کنیم یک سایت می‌خواهد تمام نویسندگان هوش مصنوعی از قوانین یکسانی استفاده کنند.

ساختار Skill می‌تواند این‌گونه باشد:

text
website-content/
├── SKILL.md
├── references/
│   ├── editorial-guide.md
│   ├── seo-guide.md
│   └── brand-tone.md
└── assets/
    └── article-template.md

فایل SKILL.md:

markdown
---
name: website-content
description: Research and create publication-ready Persian articles using the website's editorial, SEO and brand standards. Use when creating or updating articles for the website.
---

# Website Content

## Workflow

1. Identify the user's search intent.
2. Research the topic.
3. Prefer primary and official sources.
4. Verify time-sensitive claims.
5. Read the editorial rules in references/editorial-guide.md.
6. Read SEO requirements in references/seo-guide.md.
7. Write the article using assets/article-template.md.
8. Check the brand tone using references/brand-tone.md.
9. Run the final checklist.

## Rules

- Never invent a URL.
- Never invent statistics.
- Clearly state uncertainty.
- Avoid keyword stuffing.
- Prefer useful examples over generic explanations.

## Final checks

Before delivery:

- Check title.
- Check slug.
- Check meta description.
- Check headings.
- Check links.
- Check sources.
- Check factual claims.

بعد از ساخت چنین Skillی، دیگر لازم نیست تمام قوانین تولید محتوا را در هر Chat دوباره توضیح دهید.

Skill چه زمانی واقعاً ارزش ساختن دارد؟

یک قانون ساده وجود دارد:

اگر یک Prompt را بارها کپی می‌کنید، احتمالاً آن Workflow گزینه خوبی برای Skill شدن است.

Skill مخصوصاً زمانی ارزشمند است که:

  • کار چند مرحله دارد.
  • باید همیشه با ترتیب مشخص انجام شود.
  • خروجی قالب مشخص دارد.
  • چند نفر باید از یک استاندارد استفاده کنند.
  • منابع ثابت برای انجام کار وجود دارند.
  • خطا در انجام مراحل هزینه‌بر است.
  • Prompt اصلی بیش‌ازحد طولانی شده است.
  • می‌خواهید Workflow را Version Control کنید.

اما برای سؤال‌هایی مانند:

text
پایتخت ژاپن چیست؟

ساخت Skill مزیت خاصی ایجاد نمی‌کند.

بهترین روش برای طراحی Skill

برای شروع، Skill را بیش‌ازحد پیچیده نکنید.

این مراحل معمولاً کافی هستند:

  1. یک کار تکراری انتخاب کنید.
  2. ورودی موردنیاز را مشخص کنید.
  3. مراحل انجام کار را بنویسید.
  4. قوانین ممنوعه را مشخص کنید.
  5. قالب خروجی را تعریف کنید.
  6. چک‌لیست نهایی اضافه کنید.
  7. آن را روی چند مثال واقعی تست کنید.
  8. خطاهای تکراری را اصلاح کنید.
  9. فقط در صورت نیاز Reference یا Script اضافه کنید.
بهترین Skillها معمولاً از یک Prompt عظیم شروع نمی‌شوند. ابتدا Workflow ساده را بسازید و بعد فقط براساس خطاهای واقعی آن را توسعه دهید.

Template آماده برای ساخت Skill

برای شروع سریع می‌توانید از این Template استفاده کنید:

markdown
---
name: my-skill
description: Describe what this skill does and when it should be used.
---

# Skill Name

## Goal

Explain the main goal of this skill.

## When to use

Use this skill when:

- condition one
- condition two
- condition three

## Inputs

The skill may require:

- input one
- input two

## Workflow

1. First step.
2. Second step.
3. Third step.
4. Validate the result.

## Rules

- Never invent missing information.
- Follow the required output structure.
- Use reliable sources when verification is needed.

## Output format

Return:

### Result
...

### Notes
...

## Final checks

Before finishing:

- Check requirement one.
- Check requirement two.
- Check requirement three.

این Template برای شروع کافی است و بعداً می‌توانید آن را متناسب با پروژه خود گسترش دهید.

Skill خوب را چطور تست کنیم؟

ساخت Skill پایان کار نیست.

برای اینکه مطمئن شوید Skill واقعاً کاربردی است، بهتر است حداقل سه نوع تست انجام دهید.

تست فعال شدن

درخواست‌هایی ایجاد کنید که Skill باید برای آن‌ها استفاده شود.

مثلاً:

text
این مقاله را از نظر SEO بررسی کن.

سپس درخواست‌هایی ایجاد کنید که Skill نباید برای آن‌ها استفاده شود:

text
پایتخت فرانسه چیست؟

این تست کمک می‌کند بفهمید Description بیش‌ازحد کلی یا بیش‌ازحد محدود نوشته شده است یا نه.

تست Workflow

بررسی کنید Agent مراحل Skill را واقعاً به ترتیب انجام می‌دهد یا خیر.

مثلاً اگر مراحل شما این‌ها هستند:

مدیر هوش آموزان
درباره نویسنده

مطالب هوش آموزان با تمرکز بر آموزش کاربردی هوش مصنوعی، ابزارهای جدید و تجربه‌های عملی منتشر می‌شوند.

این مقاله برایتان مفید بود؟ بازخورد شما به بهتر شدن آموزش‌های بعدی کمک می‌کند.
پیشنهاد برای ادامه مطالعه

مقالات مرتبط

مشاهده همه مقالات
قابلیت رایگان جدید ChatGPT معرفی شد؛ اتصال ایمیل و تقویم آیفون به هوش مصنوعی
اخبار و تکنولوژی

قابلیت رایگان جدید ChatGPT معرفی شد؛ اتصال ایمیل و تقویم آیفون به هوش مصنوعی

۱۱ دقیقه ۶ بازدید
Gemini 4 Carbon معرفی شد؛ بررسی کامل مدل جدید گوگل، قدرت، قیمت و زمان دسترسی
اخبار و تکنولوژی

Gemini 4 Carbon معرفی شد؛ بررسی کامل مدل جدید گوگل، قدرت، قیمت و زمان دسترسی

۱۰ دقیقه ۱۰ بازدید
MCP چیست؟ آموزش کامل Model Context Protocol و کاربرد آن در هوش مصنوعی
اخبار و تکنولوژی

MCP چیست؟ آموزش کامل Model Context Protocol و کاربرد آن در هوش مصنوعی

۱۲ دقیقه ۲۱ بازدید
گفت‌وگو درباره این مطلب

دیدگاه‌ها و پرسش‌ها

۰ دیدگاه
دیدگاه خود را بنویسید ایمیل شما منتشر نخواهد شد.
هنوز دیدگاهی ثبت نشده است اولین نفری باشید که تجربه یا پرسش خود را به اشتراک می‌گذارد.