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 للحزم.

📖 ملخص


📝 تمارين

  1. أساسي (الصعوبة: ⭐): استخدم مهارة code_review المدمجة لمراجعة بعض الكود.
  2. متوسط (الصعوبة: ⭐⭐): أنشئ مهارة "مستشار تحسين SQL" مخصصة بأوامر وأدوات مناسبة.
  3. متقدم (الصعوبة: ⭐⭐⭐): صمّم حزمة مهارات "مهندس DevOps" بمهارات فرعية لتحليل السجلات وفحص النشر وتهيئة المراقبة.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%