Pi Agent: First Chat

آخر تحديث: 2026-08-31

--- title: "المحادثة الأولى" description: "أرسل أول رسالة مع Pi Agent، وافهم تدفق المحادثة التفاعلي وصيغ الرسائل ومعالجة الاستجابات." order: 4 lang: ar

Hello World هو دائماً الخطوة الأولى مع أداة جديدة. هذا الدرس يجعل Pi Agent "يتحدث" فعلاً.


1. محادثة سريعة عبر CLI

أبسط طريقة بعد التثبيت هي المحادثة عبر سطر الأوامر:

BASH
pi-agent chat "Hello, please introduce yourself"

المخرجات:

TEXT 📖 للعرض فقط
Pi Agent v0.8.0
Provider: deepseek (deepseek-chat)

Hello! I'm Pi Agent, a lightweight AI agent framework. I can help you
answer questions, call tools, and execute tasks. Chatting with me is
like talking to an AI partner that can take action!

(1) تحديد المزوّد

BASH
pi-agent chat --provider openai --model gpt-4o "Explain quantum entanglement"

(2) تحديد المهارة

BASH
pi-agent chat --skill code_review "Review this Python code"

2. محادثة عبر كود Python

طريقة أكثر مرونة تستخدم واجهة Python البرمجية:

(1) أبسط محادثة

PYTHON
from pi_agent import Agent

agent = Agent(name="hello")
response = agent.chat("Hello, Pi Agent!")
print(response)

(2) محادثة متعددة الأدوار

PYTHON
from pi_agent import Agent

agent = Agent(name="tutor", system_prompt="You are a Python programming tutor")

r1 = agent.chat("What are list comprehensions?")
print(r1)

r2 = agent.chat("Give me a practical example")
print(r2)

r3 = agent.chat("What are the advantages over for loops?")
print(r3)

(3) استجابة مهيكلة

PYTHON
from pi_agent import Agent

agent = Agent(name="structured")
response = agent.chat(
    "List 5 programming languages with their names and invention years",
    response_format="json"
)

print(type(response))  # <class 'dict'>

3. صيغة الرسالة

يستخدم Pi Agent صيغة رسائل قياسية داخلياً:

PYTHON
messages = [
    {"role": "system", "content": "You are a coding assistant"},
    {"role": "user", "content": "What are decorators?"},
    {"role": "assistant", "content": "Decorators are..."},
    {"role": "user", "content": "Can you give an example?"}
]
الدور الوصف
system موجه النظام، يحدد سلوك الوكيل
user إدخال المستخدم
assistant استجابة الوكيل
tool نتيجة استدعاء الأداة

4. موجه النظام

تحدد موجهات النظام "شخصية" الوكيل وحدود سلوكه:

مثال 1: أدوار وكلاء مختلفة (الصعوبة: ⭐)

PYTHON
from pi_agent import Agent

coder = Agent(
    name="coder",
    system_prompt="You are a Python expert. Respond concisely with code and key explanations only"
)

teacher = Agent(
    name="teacher",
    system_prompt="You are a patient programming teacher. Explain concepts with analogies and step-by-step breakdowns"
)

q = "What are generators?"

print("=== Coder ===")
print(coder.chat(q))

print("=== Teacher ===")
print(teacher.chat(q))

5. الإخراج المتدفق

للاستجابات الطويلة، يتيح لك التدفق رؤية النتائج في الوقت الفعلي:

PYTHON
from pi_agent import Agent

agent = Agent(name="stream")
for chunk in agent.chat_stream("Write a poem about programming"):
    print(chunk, end="", flush=True)

قارنت أليس بين الوضعين: "التدفق أفضل بكثير — لا حاجة للتحديق في شاشة فارغة منتظرة."


6. تفاصيل كائن الاستجابة

طريقة chat() تعيد أكثر من مجرد نص:

PYTHON
from pi_agent import Agent

agent = Agent(name="meta")
response = agent.chat("1+1=?")

print(response.text)          # "2"
print(response.model)         # "deepseek-chat"
print(response.usage)         # {"prompt_tokens": 12, "completion_tokens": 3}
print(response.tool_calls)    # [] (يسجل إذا استُدعيت أدوات)
print(response.finish_reason) # "stop"

❓ أسئلة شائعة

س chat() أم chat_stream()؟
ج استخدم chat() للأسئلة والأجوبة القصيرة، chat_stream() لتوليد النصوص الطويلة. التدفق لا يؤثر على النتيجة، فقط على تجربة المستخدم.
س هل ينمو سياق الأدوار المتعددة بلا حدود؟
ج لا. يُدير Pi Agent نافذة السياق تلقائياً، ويقتطع أقدم الرسائل عند تجاوز الحد. عيّن context_window عند إنشاء وكيل.
س كيف أُجبر الوكيل على استخدام الأدوات؟
ج عيّن tool_choice="required"، أو أمر صراحةً "Please use the search tool to find..." في رسالتك.

📖 ملخص


📝 تمارين

  1. أساسي (الصعوبة: ⭐): أرسل رسالة باستخدام كل من CLI وPython، قارن التجربة.
  2. متوسط (الصعوبة: ⭐⭐): أنشئ وكلاء اثنين بموجهات نظام مختلفة، احصل على إجابات بأساليب مختلفة لنفس السؤال.
  3. متقدم (الصعوبة: ⭐⭐⭐): نفّذ تأثير "آلة كاتبة فورية" باستخدام الإخراج المتدفق.
Web-Tutorial.com

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

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

100%