AI Prompt Engineering · درس

تقديم المعلومات الخلفية

متى وكيف تدرجون المعرفة المتخصصة والقيود وتفاصيل المشروع

الدرس 2 من 413 خطوة

تقديم المعلومات الخلفية درس مجاني في AI Prompt Engineering على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Prompt Engineering، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.

أهمية المعلومات الخلفية

تمنح المعلومات الخلفية النموذجَ الحقائق التي لا يمكنه معرفتها بمفرده: تفاصيل مشروعك المحددة، وقيود فريقك، وأعمالك الحالية، وتوقعات أصحاب المصلحة.

من دون معلومات خلفية، يُنشئ النموذج مخرجات لموقف عام افتراضي. أما مع المعلومات الخلفية، فينشئ مخرجات لموقفك أنت.

متى تُدرج معرفة المجال

أدرج معرفة المجال في مطالبتك عندما:

  • يحتمل الموضوع تفسيرات متعددة باختلاف القطاعات
  • تعمل باستخدام مصطلحات متخصصة
  • تعتمد الإجابة الصحيحة على معايير أو لوائح خاصة بالمجال
  • قد يقدم النموذج إجابة عامة بينما تحتاج إلى إجابة خاصة بمجالك

لا تلصق كتبًا دراسية كاملة؛ بل لخّص أهم حقيقتين أو ثلاث حقائق في المجال وأكثرها صلة بسؤالك المحدد.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

domain_knowledge = (
    'Domain: algorithmic trading at a regulated broker-dealer in the US. '
    'Relevant rules: SEC Rule 15c3-5 (Market Access Rule) requires pre-trade risk checks. '
    'Latency budget: all risk checks must complete in under 100 microseconds. '
    'Stack: C++ for the matching engine, Python for strategy logic.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': (
            f'{domain_knowledge}\n\n'
            f'Question: How should we implement position limit checks for our order router?'
        )
    }]
)
print(response.content[0].text)

إدراج تفاصيل المشروع

توضح تفاصيل المشروع للنموذج السياق المحدد لعملك. وتشمل تفاصيل المشروع الأساسية:

  • ماهية المشروع ومرحلته الحالية (MVP / التوسع / النضج)
  • حزمة التقنيات والبنية
  • حجم الفريق ومستويات المهارة
  • الجدول الزمني وضغوط المواعيد النهائية
  • التغييرات أو الأحداث الأخيرة التي تؤثر في السؤال
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

project_context = (
    'Project: a mobile recipe app (React Native, Node.js backend, MongoDB). '
    'Stage: pre-launch, 2 weeks to go live. '
    'Team: 2 frontend devs, 1 backend dev, no dedicated QA. '
    'Current issue: app search is slow (3-5 seconds) with 50,000 recipes in the DB. '
    'Constraint: no time for a full re-architecture before launch.'
)

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            f'{project_context}\n\n'
            f'Suggest 3 quick wins to improve search speed before launch. '
            f'Each suggestion: what to do (1 sentence), estimated effort (hours), '
            f'expected improvement.'
        )
    }]
)
print(response.choices[0].message.content)

مشاركة الأعمال الحالية

تتيح مشاركة أعمالك الحالية للنموذج البناء على ما أنجزته بالفعل بدلًا من البدء من الصفر. أدرج الأعمال الحالية عندما تريد:

  • متابعة مستند أو شفرة أو توسيعهما
  • الحصول على نقد واقتراحات للتحسين
  • مطابقة الأسلوب (مطابقة نبرة ما هو موجود وتنسيقه)
  • التحقق من الاتساق (هل ينسجم هذا الجزء الجديد مع البنية الحالية؟)
import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

existing_intro = (
    'At Northlight Labs, we build AI tools that work the way humans think — '
    'not the other way around. Founded in 2022 by two ex-Google researchers, '
    'we have helped 500 companies ship smarter products without hiring ML teams.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=200,
    messages=[{
        'role': 'user',
        'content': (
            'Here is our existing company intro paragraph:\n\n'
            f'{existing_intro}\n\n'
            'Write a second paragraph (matching this exact tone and style) '
            'that describes our flagship product: an API that lets developers '
            'add natural language search to any database with 3 lines of code. '
            'Keep it under 60 words.'
        )
    }]
)
print(response.content[0].text)

وصف القيود مسبقًا

القيود هي القواعد التي يجب أن يعمل النموذج ضمنها. ويمنع ذكرها مسبقًا النموذجَ من اقتراح أفكار صحيحة تمامًا، لكنها مستحيلة في وضعك.

أنواع القيود التي ينبغي إدراجها:

  • تقنية: «Python 3.11، ومن دون مكتبات خارجية»
  • الميزانية: «0 دولار — البرمجيات مفتوحة المصدر فقط»
  • الوقت: «يجب إنجازه ضمن دورة عمل مدتها ساعتان»
  • تنظيمية: «لا يجوز تضمين معلومات التعريف الشخصية في السجلات»
  • مؤسسية: «لا يمكن تغيير مخطط قاعدة البيانات»
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'We need to add rate limiting to our REST API.\n\n'
            'Constraints:\n'
            '- Python 3.11 FastAPI application\n'
            '- No external dependencies beyond what is already installed (requests, pydantic, uvicorn)\n'
            '- Must work as a single process (no Redis, no shared state between workers)\n'
            '- Rate limit: 100 requests per minute per IP address\n'
            '- If limit exceeded, return HTTP 429 with Retry-After header\n\n'
            'Show me a complete implementation.'
        )
    }]
)
print(response.choices[0].message.content)

معلومات أصحاب المصلحة

توضح معلومات أصحاب المصلحة للنموذج مَن سواهم مهم في وضعك. ويؤثر أصحاب المصلحة في المخاطر التي ينبغي إبرازها، والاعتراضات التي ينبغي معالجتها، ومعنى النجاح.

  • «يشمل جمهوري المدير المالي الذي يشكك في استثمارات الذكاء الاصطناعي»
  • «سيراجع فريقنا القانوني هذا المحتوى قبل نشره»
  • «لدى المستخدم النهائي احتياجات تتعلق بإمكانية الوصول — يجب أن يكون متوافقًا مع قارئ الشاشة»
  • «يفضل مدير التقنية لدينا الحلول البسيطة على الحلول المبتكرة بلا داعٍ»
import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

stakeholder_context = (
    'This proposal will be reviewed by:\n'
    '1. CTO: cares about technical risk and maintainability, skeptical of microservices\n'
    '2. CFO: cares about cost, wants to see clear ROI numbers\n'
    '3. VP Engineering: cares about developer experience and team morale\n'
    'The CTO has veto power.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=400,
    messages=[{
        'role': 'user',
        'content': (
            f'{stakeholder_context}\n\n'
            f'Write a 3-paragraph executive summary for a proposal to migrate '
            f'our monolith to a modular monolith (not microservices). '
            f'Address each stakeholder\'s top concern in a separate paragraph.'
        )
    }]
)
print(response.content[0].text)

المنهج الزمني

في المواقف المعقدة، ينظم المنهج الزمني المعلومات الخلفية في صورة تسلسل زمني للأحداث. وهذا يساعد النموذج على فهم السببية والحالة الراهنة.

التنسيق:

  • ما كانت عليه الحالة من قبل
  • ما الذي تغير أو حدث
  • ما الحالة الراهنة
  • ما الذي تحتاج إلى المساعدة فيه في ضوء هذا التسلسل
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

chronological_background = (
    'Timeline:\n'
    '- 6 months ago: We launched v1 of our API with a flat pricing model ($99/month).\n'
    '- 3 months ago: Power users (top 10%) started consuming 80% of compute.\n'
    '- 1 month ago: We introduced usage-based pricing — power users complained loudly.\n'
    '- Current: 12% of power users have churned; new signups are up 15%.\n'
    '- Goal: Keep power users without losing the new-signup growth.\n'
)

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            f'{chronological_background}\n\n'
            f'Suggest 3 pricing model adjustments that could address both groups. '
            f'For each: describe the change, who it benefits, and the revenue risk.'
        )
    }]
)
print(response.choices[0].message.content)

استخدام بياناتك الخاصة كمعلومات خلفية

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

الصق البيانات دائمًا بتنسيق واضح وسهل القراءة. وتعمل الجداول والقوائم المنظمة على أفضل نحو، بينما يصعب على النموذج تحليل كتل النصوص الخام.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

metrics_data = (
    'Weekly active users (WAU) last 8 weeks:\n'
    'Week 1: 1,200  |  Week 2: 1,350  |  Week 3: 1,290  |  Week 4: 1,400\n'
    'Week 5: 1,380  |  Week 6: 1,220  |  Week 7: 1,100  |  Week 8: 980\n'
    'Note: We launched a pricing change in Week 5.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': (
            f'{metrics_data}\n\n'
            f'Analyze the trend, identify where decline began, '
            f'and suggest 2 hypotheses for the cause. '
            f'Be specific — reference the exact weeks in your analysis.'
        )
    }]
)
print(response.content[0].text)

ما ينبغي عدم تضمينه كمعلومات خلفية

للمعلومات الخلفية تكلفة تتمثل في استخدام الرموز. أدرج فقط ما يؤثر مباشرةً في الإجابة.

معلومات خلفية غير ضرورية عادةً:

  • قصة تأسيس الشركة (إلا إذا كانت هوية العلامة التجارية مهمة)
  • الهيكل التنظيمي للفريق (إلا إذا كانت سلطة اتخاذ القرار مهمة)
  • السياق التاريخي الأقدم من الفترة المعنية بالقرار
  • التقنيات التي لا تستخدمها
  • المشكلات التي حُلّت بالفعل ولا علاقة لها بالسؤال الحالي

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

# Contrast: bloated vs lean background
bloated_background = (
    'Our company was founded in 2018 by Alice and Bob. '
    'We have 45 employees across 3 offices. We use Jira for project management. '
    'We had a product refresh in 2020. Our CTO came from Amazon. '
    'We use Slack, Notion, and Linear. '
    'We once tried Kubernetes but moved back to Docker Compose. '
    'Question: How should we handle database connection pooling in FastAPI?'
)

lean_background = (
    'Stack: FastAPI, PostgreSQL, deployed on a single 8-core server. '
    'Load: ~200 concurrent users peak. '
    'Current issue: seeing "too many connections" errors under load. '
    'Question: How should we handle database connection pooling?'
)

print('Bloated background:', len(bloated_background.split()), 'words')
print('Lean background:', len(lean_background.split()), 'words')
print('Reduction:', round((1 - len(lean_background.split())/len(bloated_background.split()))*100), '%')

تنسيق المعلومات الخلفية لتحسين سهولة القراءة

يؤثر تنسيق المعلومات الخلفية في مدى جودة معالجة النموذج لها. أفضل الممارسات:

  • استخدم أقسامًا معنونة: Stack: وConstraints: وGoal:
  • استخدم قوائم نقطية للعناصر المتوازية
  • ضع أهم المعلومات أولًا
  • افصل المعلومات الخلفية عن المهمة بسطر فارغ أو علامة واضحة
  • استخدم مصطلحات متسقة؛ ولا تطلق اسمين على الشيء نفسه
import openai

client = openai.OpenAI(api_key='sk-your-key-here')

# Well-formatted background
formatted_background = (
    '=== BACKGROUND ===\n'
    'Project: real-time chat API\n'
    'Stack: Python FastAPI, WebSockets, Redis pub/sub, PostgreSQL\n'
    'Scale: 10,000 concurrent connections target\n'
    'Constraints: single server for now, no Kubernetes\n'
    'Current problem: messages are occasionally delivered out of order\n'
    '=== TASK ===\n'
    'Explain the root cause of out-of-order message delivery in WebSocket pub/sub '
    'and suggest the simplest fix for our stack.'
)

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{'role': 'user', 'content': formatted_background}]
)
print(response.choices[0].message.content)

إعادة استخدام المعلومات الخلفية في رسالة النظام

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

هذا أكثر كفاءة، ويضمن اتساق السياق عبر جميع التفاعلات من دون مطالبة المستخدم بإعادة ذكره.

import anthropic

client = anthropic.Anthropic(api_key='sk-ant-your-key-here')

# System message carries reusable background for every user turn
system_background = (
    'You are an AI assistant embedded in Northlight Labs\' internal developer portal. '
    'Background: our stack is Python 3.11, FastAPI, PostgreSQL 15, Redis 7, Docker. '
    'We follow Google Python style guide. All code examples must include type hints. '
    'We do not use ORM — raw SQL with psycopg3. '
    'Our API follows REST conventions with snake_case JSON fields.'
)

# Now every user turn gets this background automatically
response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    system=system_background,
    messages=[
        {'role': 'user', 'content': 'Show me how to insert a row into the users table.'}
    ]
)
print(response.content[0].text)

اختبار المعرفة

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

تقديم المعلومات الخلفية — مراجعة

تمثل المعلومات الخلفية الجيدة الفرق بين النصيحة العامة والنصيحة التي تناسب وضعك فعلًا. المبادئ الأساسية:

  • أدرج معرفة المجال التي تؤثر في الإجابة الصحيحة ضمن مجالك
  • شارك تفاصيل المشروع: حزمة التقنيات، والمرحلة، وحجم الفريق، والتغييرات الأخيرة
  • أدرج الأعمال الحالية عندما تحتاج إلى المتابعة أو مطابقة الأسلوب
  • اذكر القيود مسبقًا لمنع الاقتراحات عديمة الفائدة
  • أدرج معلومات أصحاب المصلحة حتى يعالج النموذج الاهتمامات المناسبة
  • استخدم المنهج الزمني للسياق المعقد المرتبط بالموقف
  • اجعل المعلومات الخلفية موجزة — أدرج فقط ما يؤثر في الإجابة
البدء مجانًا

تعلم AI Prompt Engineering مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
53
الدروس
199

الأسئلة الشائعة

هل درس «تقديم المعلومات الخلفية» مجاني؟

نعم — نص درس «تقديم المعلومات الخلفية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Prompt Engineering، انتقل إلى CoddyKit PRO. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.

ماذا ستتعلم في «تقديم المعلومات الخلفية»؟

متى وكيف تدرجون المعرفة المتخصصة والقيود وتفاصيل المشروع تتمرن على AI Prompt Engineering مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AI Prompt Engineering؟

لا تُشترط خبرة سابقة. AI Prompt Engineering على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «تقديم المعلومات الخلفية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AI Prompt Engineering هذا؟

نعم. كل درس في AI Prompt Engineering يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. ما المقصود بالسياق في صياغة مطالبات الذكاء الاصطناعي
  2. تقديم المعلومات الخلفية
  3. إعداد المشهد بفعالية
  4. طول السياق وملاءمته
← العودة إلى AI Prompt Engineering