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..." في رسالتك.
📖 ملخص
- CLI:
pi-agent chatللمحادثة السريعة؛ Python:Agent.chat()للاستخدام البرمجي - يدعم المحادثات متعددة الأدوار والاستجابات المهيكلة والإخراج المتدفق
- موجهات النظام تحدد شخصية الوكيل؛ الرسائل تتبع معيار الدور/المحتوى
- كائنات الاستجابة تتضمن نصاً ومعلومات النموذج واستخدام الرموز وبيانات وصفية أخرى
📝 تمارين
- أساسي (الصعوبة: ⭐): أرسل رسالة باستخدام كل من CLI وPython، قارن التجربة.
- متوسط (الصعوبة: ⭐⭐): أنشئ وكلاء اثنين بموجهات نظام مختلفة، احصل على إجابات بأساليب مختلفة لنفس السؤال.
- متقدم (الصعوبة: ⭐⭐⭐): نفّذ تأثير "آلة كاتبة فورية" باستخدام الإخراج المتدفق.