Pi Agent: Skills System
آخر تحديث: 2026-08-31
--- title: "نظام المهارات" description: "تعمّق في نظام مهارات Pi Agent، وافهم تكوين المهارة وإنشاءها وإدارتها وتركيبها، وابنِ وحدات قدرات وكلاء قابلة لإعادة الاستخدام." order: 11 lang: ar
المهارات هي "شهادات الاحتراف" للوكيل — حمّل مراجعة كود، يصبح مراجعاً؛ حمّل ترجمة، يصبح مترجماً.
1. ما هي المهارات
المهارة هي حزمة مجمّعة من الأدوات وقوالب الأوامر والتكوين التي تحدد القدرة الكاملة للوكيل في مجال معين:
TEXT
📖 للعرض فقط
المهارة = قالب أوامر + قائمة أدوات + معلمات تكوين + أمثلة
مثال:
مهارة code_review =
أمر ("أنت خبير مراجعة كود...") +
أدوات (file_reader, search) +
تكوين (temperature=0.3, max_tokens=2048)
2. المهارات المدمجة
| المهارة | الوصف | الأدوات |
|---|---|---|
| code_review | مراجعة الكود | file_reader |
| bug_fix | إصلاح الأخطاء | file_reader, search |
| test_gen | توليد الاختبارات | file_reader, shell |
| doc_gen | توليد الوثائق | file_reader |
| translate | ترجمة متعددة اللغات | — |
| summarize | تلخيص المحتوى | file_reader |
| search_assistant | مساعد البحث | search |
| data_analyst | تحليل البيانات | file_reader, calculator |
(1) استخدام المهارات المدمجة
PYTHON
from pi_agent import Agent
agent = Agent(name="reviewer")
result = agent.run(skill="code_review", code="def add(a,b): return a+b")
(2) استخدام المهارة عبر CLI
BASH
pi-agent chat --skill code_review "Review main.py"
pi-agent run --skill translate --lang ja "Translate this text"
3. مهارات مخصصة
(1) تعريف YAML
أنشئ ~/.pi-agent/skills/api_designer.yaml:
YAML
name: api_designer
description: "REST API design expert"
version: "1.0"
system_prompt: |
You are a REST API design expert.
Follow these principles:
1. Use plural nouns for resource paths
2. Express operations with HTTP methods
3. Return appropriate HTTP status codes
4. Design consistent error response formats
tools:
- file_reader
- search
parameters:
temperature: 0.3
max_tokens: 4096
(2) تعريف Python
PYTHON
from pi_agent import Agent, Skill
api_skill = Skill(
name="api_designer",
description="REST API design expert",
system_prompt="You are a REST API design expert following best practices",
tools=["file_reader", "search"],
parameters={"temperature": 0.3, "max_tokens": 4096}
)
agent = Agent(name="api_guy", skills=[api_skill])
result = agent.run(skill="api_designer", prompt="Design a blog system API")
4. تركيب المهارات
يمكن استخدام مهارات متعددة معاً:
مثال 1: حزمة مهارات تطوير مكملة (الصعوبة: ⭐⭐)
PYTHON
from pi_agent import Agent, Skill
review_skill = Skill(name="code_review", tools=["file_reader"])
fix_skill = Skill(name="bug_fix", tools=["file_reader", "shell"])
test_skill = Skill(name="test_gen", tools=["file_reader", "shell"])
agent = Agent(
name="full_stack",
skills=[review_skill, fix_skill, test_skill]
)
review = agent.run(skill="code_review", code=source_code)
fix = agent.run(skill="bug_fix", code=source_code, issues=review)
tests = agent.run(skill="test_gen", code=fix)
5. معلمات المهارة
يمكن للمهارات تعريف معلمات مخصصة:
YAML
name: translator
parameters:
temperature: 0.5
max_tokens: 4096
custom_params:
source_lang:
type: string
default: "en"
target_lang:
type: string
required: true
style:
type: string
default: "formal"
enum: ["formal", "casual", "technical"]
PYTHON
result = agent.run(
skill="translator",
text="Hello World",
target_lang="ja",
style="technical"
)
6. إدارة المهارات
BASH
pi-agent skills list
pi-agent skills show code_review
pi-agent skills install community/web-scraper
pi-agent skills create my_skill --tools file_reader,shell
❓ أسئلة شائعة
س ما الفرق بين المهارات والأدوات؟
ج الأداة هي قدرة واحدة (مثل "قراءة ملف")، بينما المهارة هي مجموعة من أداة + أمر + تكوين (مثل "مراجعة كود" = أداة file_reader + أمر مراجعة + temperature منخفض).
س هل يمكن تبديل المهارات ديناميكياً؟
ج نعم. استخدم
/skill في الوضع التفاعلي، أو agent.run(skill=...) لتحديد مهارات مختلفة لكل استدعاء.س هل يوجد سوق للمهارات؟
ج Pi Agent يحتوي على مستودع مهارات مجتمعي. استخدم
pi-agent skills search <keyword> للبحث. راجع الدرس 17 للحزم.📖 ملخص
- المهارة = أمر + أدوات + مجموعة تكوين
- 8 مهارات مدمجة؛ تعريف مخصص عبر YAML أو Python
- المهارات قابلة للتركيب والمعلمات والمشاركة
- إدارة المهارات عبر CLI وAPI
📝 تمارين
- أساسي (الصعوبة: ⭐): استخدم مهارة code_review المدمجة لمراجعة بعض الكود.
- متوسط (الصعوبة: ⭐⭐): أنشئ مهارة "مستشار تحسين SQL" مخصصة بأوامر وأدوات مناسبة.
- متقدم (الصعوبة: ⭐⭐⭐): صمّم حزمة مهارات "مهندس DevOps" بمهارات فرعية لتحليل السجلات وفحص النشر وتهيئة المراقبة.