Loading
Loading
حان وقت التطبيق! في هذا الدرس ستبني chatbot مخصص خطوة بخطوة. سنعمل بطريقتين: الأولى بدون كود للمبتدئين، والثانية بالكود الفعلي للمهتمين بالتطبيق البرمجي.
مساعد خدمة عملاء لمتجر تقني افتراضي — يجيب على أسئلة العملاء عن التوصيل والإرجاع والمنتجات، ويُحيل المشاكل المعقدة للدعم البشري.
يمكنك تعديل الفكرة لأي مجال: تعليم، طب، سياحة، موارد بشرية...
قبل أي كود، اسأل نفسك هذه الأسئلة:
| السؤال | إجابتنا | |--------|---------| | ما هدف الـ Chatbot؟ | خدمة عملاء متجر تقني | | من المستخدم؟ | عملاء يريدون معلومات سريعة | | الأسئلة الشائعة؟ | التوصيل، الإرجاع، الأسعار | | النبرة؟ | ودية ومحترفة | | الحدود؟ | لا يعطي وعوداً بخصومات |
الـ System Prompt هو التعليمات التي تُحدد هوية الـ Chatbot وسلوكه — المستخدم لا يراها.
أنت "دعم إلكترونيكس"، مساعد خدمة عملاء لمتجر تقنية افتراضي.
مهمتك: الإجابة بدقة وأدب على استفسارات العملاء.
القواعد:
1. تحدث دائماً بالعربية ما لم يبدأ العميل بالإنجليزية
2. لا تعِد بخصومات أو عروض لم تُذكر هنا
3. إذا لم تعرف الإجابة، قُل بصدق وأحِل لـ support@example.com
4. اجعل ردودك مختصرة (3-5 جمل)
معلومات المتجر:
- ساعات العمل: 9 صباحاً - 11 مساءً يومياً
- التوصيل: 2-5 أيام عمل، مجاني فوق 200 ريال
- سياسة الإرجاع: 14 يوماً من تاريخ الاستلام
- الدعم البشري: support@example.com
للمبتدئين — استخدم Claude.ai مباشرة:
هذا التطبيق الأسرع — مثالي للنماذج الأولية (Prototyping).
للمطورين والمهتمين بالتطبيق الفعلي — الكود أدناه يبني chatbot تفاعلي في الـ Terminal.
اختبر هذه السيناريوهات:
بعد كل اختبار، عدّل الـ System Prompt لتحسين الاستجابة.
بنفس المنطق تستطيع بناء:
بناء Chatbot = تصميم System Prompt محكم + اختبار متكرر + تحسين مستمر. الكود بسيط — الصعوبة الحقيقية في تصميم السلوك بدقة: ماذا يفعل، وماذا لا يفعل، وكيف يتعامل مع المواقف الصعبة.
import anthropic
client = anthropic.Anthropic(api_key="your-api-key")
SYSTEM_PROMPT = """
You are "Tech Support," a customer service assistant for a virtual technology store.
Your mission: answer customer inquiries accurately and politely.
Rules:
1. Respond in the language the customer uses
2. Never promise discounts or deals not mentioned in this context
3. If you don't know the answer, say so honestly and refer to support@example.com
4. Keep responses concise (3-5 sentences)
Store information:
- Business hours: 9 AM - 11 PM daily
- Shipping: 2-5 business days, free over $50
- Return policy: 14 days from delivery date
- Human support: support@example.com
"""
conversation_history = []
def chat(user_message: str) -> str:
conversation_history.append({
"role": "user",
"content": user_message
})
response = client.messages.create(
model="claude-opus-4-5",
max_tokens=500,
system=SYSTEM_PROMPT,
messages=conversation_history
)
assistant_message = response.content[0].text
conversation_history.append({
"role": "assistant",
"content": assistant_message
})
return assistant_message
print("Tech Support Chatbot ready! (type 'quit' to exit)")
while True:
user_input = input("You: ")
if user_input.lower() in ["quit", "exit"]:
break
response = chat(user_input)
print(f"Bot: {response}\n")