0Pricing
AI Prompt Engineering · درس

إزالة الغموض من المطالبات

تقنيات لإزالة التفسيرات المتعددة من تعليماتكم

إزالة الغموض من المطالبات درس مجاني في 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')

original_text = (
    'Our software helps companies manage their data. '
    'It has many features. Customers like it a lot.'
)

# Ambiguous improvement request
vague = f'Make this better:\n\n{original_text}'

# Unambiguous improvement request
specific = (
    f'Rewrite this product description to be exactly 50% shorter, '
    f'more confident in tone, and replace vague phrases like "many features" '
    f'and "a lot" with specific claims. Do not add new features I have not mentioned.\n\n'
    f'{original_text}'
)

for label, prompt in [('VAGUE', vague), ('SPECIFIC', specific)]:
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=200,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(f'--- {label} ---')
    print(response.content[0].text)
    print()

تفسيرات متعددة: أمثلة عملية

يمكن أن تكون أي مطالبة تحتوي على ضمير غير محدد، أو صفة نسبية، أو فاعل مفقود غامضة. إليكم بعض الأمثلة:

  • 'حسّن الأداء' — أداء ماذا؟ السرعة أم الدقة أم تفاعل المستخدم؟
  • 'اكتب عن التأثير' — هل هو إيجابي أم سلبي أم اقتصادي أم اجتماعي؟
  • 'أصلح هذا' — هل المطلوب إصلاح المنطق أم الأسلوب أم التنسيق أم القواعد؟
  • 'اجعله احترافيًا' — هل المطلوب مفردات رسمية؟ فقرات منظمة؟ إزالة الرموز التعبيرية؟
import openai

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

# Disambiguating 'fix this code'
buggy_code = 'def divide(a, b): return a / b'

ambiguous = f'Fix this:\n{buggy_code}'

unambiguous = (
    f'Fix only the division-by-zero bug in this function. '
    f'Add a guard that raises a ValueError with message "b cannot be zero" when b=0. '
    f'Do not change anything else — keep the function signature and return type identical.\n\n'
    f'{buggy_code}'
)

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

تقنية إزالة الغموض: تحديد التفسير

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

القالب: 'عندما أقول [مصطلح غامض]، فإنني أقصد [تعريفًا محددًا].'

أمثلة:

  • 'عندما أقول تحرير، فإنني أقصد تصحيح القواعد الإملائية والنحوية فقط — لا تغيّر المحتوى.'
  • 'عندما أقول موجز، فإنني أقصد 3 جمل كحد أقصى.'
  • 'عندما أقول احترافي، فإنني أقصد عدم استخدام ضمائر المتكلم وعدم استخدام الاختصارات.'
import anthropic

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

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=256,
    messages=[{
        'role': 'user',
        'content': (
            'Edit the following paragraph. '
            'When I say "edit", I mean: fix grammar and punctuation only. '
            'Do NOT change vocabulary, sentence structure, or content. '
            'When done, list each change you made in a numbered list below the edited text.\n\n'
            'The team have went to the meeting early, but the manager '
            'werent there so they waited for alot of time before leaving.'
        )
    }]
)
print(response.content[0].text)

تقنية إزالة الغموض: تحديد النطاق

يشيع الغموض في النطاق عند طلب التحسينات أو التوسعات. عالجوه بتحديد ما يندرج ضمن النطاق وما لا يندرج ضمنه بدقة.

ضمن النطاق: ما يُسمح للنموذج بتغييره
خارج النطاق: ما يجب أن يظل دون تغيير

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

import openai

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

code_block = '''
def calculate_tax(income, rate):
    return income * rate

def calculate_net(income, tax):
    return income - tax
'''

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Add Python type hints to the following code.\n'
            'IN SCOPE: adding type hints to parameters and return values only.\n'
            'OUT OF SCOPE: changing function names, logic, docstrings, or formatting.\n'
            'Do not add any comments or docstrings.\n\n'
            + code_block
        )
    }]
)
print(response.choices[0].message.content)

تقنية إزالة الغموض: تحديد شكل المخرجات

يحدث الغموض في المخرجات عندما تريدون تنسيقًا محددًا ولا تذكرونه. 'أعطني البيانات' — هل تريدونها في فقرة؟ أم قائمة؟ أم جدول؟ أم كائن JSON؟

اذكروا دائمًا شكل المخرجات الدقيق الذي تتوقعونه. وسيطابقه النموذج بدقة عندما تحددونه صراحةً.

import anthropic

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

candidates_text = (
    'Alice: 5 years Python, worked at Stripe, has a CS degree.\n'
    'Bob: 3 years JavaScript, worked at a startup, self-taught.\n'
    'Carol: 8 years Java, worked at Google, has an MS in CS.'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': (
            'Extract the candidate data below into a JSON array. '
            'Each object must have exactly these keys: name, years_experience, primary_language, '
            'previous_employer, education_level. '
            'education_level values: DEGREE, MASTERS, SELF_TAUGHT.\n\n'
            + candidates_text
        )
    }]
)
print(response.content[0].text)

تقنية إزالة الغموض: مطالبة النموذج بالتوضيح

عند كتابة مطالبة معقدة تعرفون أنها غامضة، يمكنكم توجيه النموذج إلى طرح أسئلة توضيحية قبل محاولة تنفيذ المهمة.

يفيد هذا خصوصًا عند بناء مساعدين للذكاء الاصطناعي — إذ تريدون من النموذج جمع المعلومات بدلًا من الافتراض، تمامًا كما يفعل مستشار بشري جيد.

import openai

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

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[
        {
            'role': 'system',
            'content': (
                'You are a professional copywriter. '
                'Before starting any writing task, ask exactly 3 clarifying questions '
                'that would most improve the output quality. '
                'Only proceed to write after the user answers those questions.'
            )
        },
        {
            'role': 'user',
            'content': 'Write a landing page headline for my business.'
        }
    ]
)
print(response.choices[0].message.content)

المصطلحات النسبية التي تحتاج إلى تحديد

لا تحمل المصطلحات النسبية معنى ثابتًا — فهي تعني أشياء مختلفة لأشخاص مختلفين:

  • 'موجز' — جملة واحدة؟ 3 جمل؟ فقرة واحدة؟
  • 'رسمي' — هل يعني عدم استخدام الاختصارات؟ أسلوب الاستشهاد الأكاديمي؟ اللغة القانونية؟
  • 'بسيط' — مستوى قراءة للصف الخامس؟ عدم استخدام المصطلحات التقنية؟ جمل قصيرة فقط؟
  • 'شامل' — هل يغطي جميع الحالات الرئيسية؟ يتضمن الحالات الحدّية؟ مع أمثلة؟

استبدلوا كل مصطلح نسبي بما يعادله الملموس والقابل للقياس.

import anthropic

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

# Relative terms mapped to concrete equivalents
mapping = [
    ('Give me a brief summary',   'Summarize in exactly 2 sentences'),
    ('Write something formal',    'Write using no contractions, no first person, and Flesch-Kincaid grade 12+'),
    ('Make it simple',            'Use only words a 10-year-old would know; max 15 words per sentence'),
    ('Be comprehensive',          'Cover at least 5 distinct subtopics with one example each'),
]

for vague, concrete in mapping:
    print(f'Vague:    "{vague}"')
    print(f'Concrete: "{concrete}"')
    print()

غموض الفاعل: من ينفّذ الإجراء؟

يحدث غموض الفاعل عندما لا يكون واضحًا من أو ما الذي تنطبق عليه التعليمات.

'أعد كتابة المقدمة' — مقدمة ماذا؟ المستند الذي ألصقتموه؟ المستند الذي ناقشناه قبل 5 رسائل؟ مستند جديد؟

'ترجم هذا' — أي جزء؟ الرد بأكمله؟ قسم الملخص فقط؟ تعليقات التعليمات البرمجية؟

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

import openai

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

# Clear subject reference prevents wrong-section edits
contract_text = (
    '## Section 1: Payment Terms\nPayment is due within 30 days.\n\n'
    '## Section 2: Termination\nEither party may terminate with 30 days notice.'
)

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'In the contract below, rewrite ONLY Section 2 (Termination). '
            'Change the notice period from 30 days to 90 days. '
            'Do not change Section 1 or any other text.\n\n'
            + contract_text
        )
    }]
)
print(response.choices[0].message.content)

الغموض الزمني: متى؟

يمكن أن تكون الإشارات الزمنية في المطالبات غامضة: 'حديث'، 'حالي'، 'أحدث'، 'الآن'.

تملك بيانات تدريب النموذج تاريخًا نهائيًا — وهو لا يعرف معنى 'الآن' ما لم تخبروه بذلك. قدّموا دائمًا تواريخ واضحة للمهام الحساسة زمنيًا.

  • 'أبحاث حديثة' → 'أبحاث نُشرت في عامي 2024 أو 2025'
  • 'أفضل الممارسات الحالية' → 'أفضل الممارسات حتى يناير 2025'
  • 'أحدث إصدار' → 'الإصدار 3.12 (صدر في أكتوبر 2024)'
import anthropic
from datetime import date

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

today = date.today().isoformat()

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=256,
    system=f'Today is {today}. Use this as the reference for any time-related words.',
    messages=[{
        'role': 'user',
        'content': (
            'Describe the best practices for Python async programming '
            'as of January 2025. If your knowledge does not cover this timeframe, '
            'say so explicitly and share what you know up to your cutoff.'
        )
    }]
)
print(response.content[0].text)

إعداد رادار للغموض

قبل إرسال أي مطالبة، افحصوها بحثًا عن مؤشرات الغموض التالية:

  • ضمائر من دون مراجع واضحة: هو، هذا، ذلك، هم
  • صفات نسبية: أفضل، أقصر، رسمي، بسيط، شامل، حديث
  • أفعال غامضة: أصلح، حسّن، حدّث، اجعل، افعل شيئًا بشأن
  • نطاق مفقود: عدم ذكر ما يندرج ضمن النطاق وما لا يندرج ضمنه
  • تنسيق مفقود: عدم تحديد تنسيق المخرجات
  • سياق مفقود: من هو الجمهور المستهدف، وما الغرض من المخرجات
def scan_prompt_for_ambiguity(prompt):
    '''Simple heuristic scanner for common ambiguity patterns.'''
    warnings = []
    vague_verbs = ['fix', 'improve', 'make it', 'update', 'change it', 'redo']
    relative_adj = ['better', 'shorter', 'longer', 'formal', 'simple', 'recent', 'comprehensive']
    missing_format = ['json', 'table', 'list', 'bullet', 'paragraph', 'word', 'sentence']

    lower = prompt.lower()
    for v in vague_verbs:
        if v in lower:
            warnings.append(f'Vague verb detected: "{v}" — specify what change exactly')
    for a in relative_adj:
        if a in lower:
            warnings.append(f'Relative adjective: "{a}" — anchor with a measurable definition')
    if not any(f in lower for f in missing_format):
        warnings.append('No output format specified — add format, length, or structure')
    return warnings

test = 'Make the report better and more formal.'
print('Prompt:', test)
for w in scan_prompt_for_ambiguity(test):
    print(' WARNING:', w)

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

يرسل مطوّر هذه المطالبة: 'بسّط التعليمات البرمجية.' فيختصر الذكاء الاصطناعي التعليمات البرمجية، بينما كان المطوّر يريد استخدام أسماء متغيرات أكثر قابلية للقراءة، لا جعلها أقصر. ما المشكلة الأساسية؟

إزالة الغموض — مراجعة

يجبر الغموض النموذج على التخمين — ويكون تخمينه التفسير الأكثر شيوعًا، لا تفسيركم أنتم. إليكم أهم تقنيات إزالة الغموض:

  • حدّدوا التفسير: 'عندما أقول X، فإنني أقصد Y'
  • حدّدوا النطاق: اذكروا ما يندرج ضمن النطاق وما لا يندرج ضمنه
  • اذكروا شكل المخرجات: JSON / جدول / فقرة / عدد الجمل
  • حدّدوا المصطلحات النسبية: 'موجز' → 'جملتان'، 'رسمي' → 'من دون اختصارات'
  • اذكروا الفاعل: 'القسم 2'، وليس 'هذا الجزء'
  • اطلبوا التوضيح: وجّهوا النموذج إلى طرح الأسئلة قبل المتابعة

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

هل درس «إزالة الغموض من المطالبات» مجاني؟

نعم — نص درس «إزالة الغموض من المطالبات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 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