0Pricing
AI Prompt Engineering · درس

المخرجات النصية العادية مقابل المنسقة

متى تطلبون نصًا عاديًا ونظيفًا بدلًا من مخرجات Markdown الغنية

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

حالة النص العادي

يُعد تنسيق Markdown قويًا، لكنه ليس دائمًا الخيار المناسب. تحتاج العديد من التطبيقات الواقعية إلى نص نظيف غير منسق، تظهر فيه رموز Markdown كأحرف حرفية بدلًا من ظهورها كت nonسيق مُعرَض.

إن معرفة متى تطلب نصًا عاديًا لا تقل أهمية عن معرفة كيفية طلب تنسيق غني.

متى يكون النص العادي مطلوبًا

استخدم إخراج النص العادي عندما لا تعرض بيئتك Markdown:

  • محتوى البريد الإلكتروني: يعرض معظم عملاء البريد علامات النجمة كما هي
  • رسائل SMS والإشعارات الفورية: لا تدعم التنسيق
  • الإخراج الصوتي: يقرأ تحويل النص إلى كلام «** غامق **» حرفيًا
  • حقول CRM ومكتب المساعدة: لا يعرض كثير منها Markdown
  • معالجة بيانات API: عندما يُخزَّن النص أو تجري معالجته لاحقًا
  • حقول الإدخال في الأنظمة القديمة: النص العادي فقط
import anthropic

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

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=200,
    messages=[{
        'role': 'user',
        'content': (
            'Write a 120-character push notification for a flash sale ending in 2 hours. '
            'Plain text only — no emojis, no markdown, no asterisks, no special characters. '
            'Must include: urgency, discount percentage (30%), and category (electronics). '
            'Output the notification text only — nothing else.'
        )
    }]
)
print(response.content[0].text)

طلب النص العادي صراحةً

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

  • «النص العادي فقط — من دون تنسيق Markdown»
  • «لا تستخدم علامات النجمة، ولا علامات الرقم، ولا رموز التعداد النقطي»
  • «لا عناوين، ولا نص غامق، ولا قوائم — فقرات نثرية متصلة فقط»
  • «أزل كل التنسيق — وأخرج النص كما لو كنت تكتبه في Notepad»
import openai

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

# Without plain text instruction — likely gets markdown
default_prompt = 'Explain what a webhook is in 100 words.'

# With explicit plain text instruction
plain_prompt = (
    'Explain what a webhook is in 100 words. '
    'Output format: plain text only. No markdown. No asterisks. No headers. '
    'No bullet points. Just continuous prose paragraphs.'
)

for label, prompt in [('DEFAULT (likely markdown)', default_prompt), ('EXPLICIT PLAIN TEXT', plain_prompt)]:
    response = client.chat.completions.create(
        model='gpt-4o', max_tokens=150,
        messages=[{'role': 'user', 'content': prompt}]
    )
    print(f'--- {label} ---')
    print(response.choices[0].message.content)
    print()

النص العادي لمحتوى البريد الإلكتروني

تُعد صياغة البريد الإلكتروني من أكثر حالات استخدام النص العادي شيوعًا. ورغم أن بعض عملاء البريد الإلكتروني يدعمون تنسيق HTML، ينبغي أن يصل محتوى البريد الذي ينشئه الذكاء الاصطناعي في صورة نثر نظيف يمكن للمحرر البشري لصقه مباشرةً في عميل البريد الإلكتروني أو نظام CRM من دون تنظيف.

حدّد ما يلي: «اكتب نص البريد الإلكتروني كنص عادي. من دون Markdown. لا تستخدم علامات النجمة للنص الغامق. لا تستخدم الشرطات للقوائم. استخدم جملًا مرقمة أو فواصل أسطر بدلًا من القوائم.»

import anthropic

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

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=300,
    messages=[{
        'role': 'user',
        'content': (
            'Write a 3-paragraph re-engagement email for inactive newsletter subscribers. '
            'Context: SaaS analytics tool, subscriber inactive for 60 days.\n'
            'Format requirements:\n'
            '- Plain text only — no asterisks, no pound signs, no bullet symbols\n'
            '- Paragraph 1: acknowledge absence, create curiosity\n'
            '- Paragraph 2: one new feature they missed\n'
            '- Paragraph 3: CTA with a direct link placeholder [LINK]\n'
            '- No subject line — body only'
        )
    }]
)
print(response.content[0].text)

فقرات نثرية نظيفة

إلى جانب تجنب رموز Markdown، يعني «النثر النظيف» تنظيم الأفكار في جمل متصلة بدلًا من نقاط قائمة مجزأة.

يتسم النثر الجيد بما يلي:

  • يستخدم كلمات انتقالية لربط الأفكار (ولكن، بالإضافة إلى ذلك، ونتيجةً لذلك)
  • ينوع أطوال الجمل لإضفاء إيقاع مناسب
  • يجمع الأفكار المرتبطة في فقرات متماسكة
  • يتجنب بدء كل جملة باسم

المطالبة: «اكتب في فقرات نثرية نظيفة — من دون قوائم أو عناوين، وبجمل متصلة تستخدم كلمات انتقالية.»

import openai

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

prose_prompt = (
    'Explain the advantages of using Docker for development environments. '
    'Write in 3 clean prose paragraphs. '
    'Requirements:\n'
    '- No bullet points or numbered lists\n'
    '- No markdown headers\n'
    '- Use transition words between sentences and paragraphs\n'
    '- Vary sentence length — mix short and long\n'
    '- 150 words total maximum'
)

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

النص العادي للإخراج الصوتي

تقرأ أنظمة تحويل النص إلى كلام كل شيء حرفيًا. إذا كان إخراج الذكاء الاصطناعي سيُقرأ بصوت عالٍ:

  • تجنب جميع رموز Markdown
  • تجنب الاختصارات (فقد لا يوسعها نظام تحويل النص إلى كلام)
  • اكتب الأرقام كاملةً بالكلمات عند الحاجة
  • استخدم الفواصل في مواضع التوقف الطبيعية
  • تجنب الأقواس، إذ غالبًا ما يقرأها نظام تحويل النص إلى كلام بطريقة غير سلسة
  • اكتب الرموز الخاصة لفظًا، مثل نطق '@' بلفظ «at»
import anthropic

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

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=200,
    messages=[{
        'role': 'user',
        'content': (
            'Write a 45-second spoken weather briefing for London today. '
            'Conditions: 12 degrees Celsius, light rain, wind 15 km/h from the southwest.\n'
            'Format for voice output:\n'
            '- No markdown symbols of any kind\n'
            '- No parentheses\n'
            '- No abbreviations (write "kilometres per hour" not "km/h")\n'
            '- Natural spoken rhythm — use commas for pause points\n'
            '- Write numbers as words when under ten'
        )
    }]
)
print(response.content[0].text)

إزالة Markdown من إخراج موجود

قد تحصل أحيانًا على إخراج Markdown من استدعاء للذكاء الاصطناعي، ثم تحتاج إلى تنظيفه لسياق مختلف. يمكنك استخدام استدعاء ثانٍ للذكاء الاصطناعي مخصص للإزالة:

«أزل جميع تنسيقات Markdown من النص التالي. استبدل **غامق** بنص عادي، وأزل عناوين #، وحوّل النقاط التعدادية إلى جمل مرقمة، وأزل جميع علامات النجمة وعلامات الرقم. أخرج نصًا عاديًا نظيفًا فقط.»

import openai
import re

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

markdown_text = (
    '## Key Benefits\n'
    '- **Faster deployment** with Docker containers\n'
    '- **Consistent environments** across dev and prod\n'
    '- Reduced *configuration drift* between machines\n'
    '### Getting Started\n'
    'Run docker-compose up to start all services.'
)

# Option 1: Ask AI to strip
response = client.chat.completions.create(
    model='gpt-4o',
    max_tokens=150,
    messages=[{
        'role': 'user',
        'content': (
            'Remove all markdown formatting from the text below. '
            'Keep all the information but strip: **, ##, ###, -, *, backticks. '
            'Convert bullet lists to flowing sentences. Output plain text only.\n\n'
            + markdown_text
        )
    }]
)
print('AI-stripped:', response.choices[0].message.content.strip())

# Option 2: Simple regex strip (for code-based pipelines)
import re
clean = re.sub(r'[#*]', '', markdown_text).strip()
print('Regex-stripped:', clean)

النص العادي في رسائل النظام

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

يُعد هذا النهج الأنظف لتطبيقات الإنتاج عندما تعرف بيئة العرض مسبقًا.

import anthropic

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

# System message enforces plain text for all responses
plain_text_system = (
    'You are a helpful assistant embedded in a mobile push notification system. '
    'All your responses are displayed as plain text in mobile notifications. '
    'ALWAYS follow these formatting rules:\n'
    '- Never use markdown (no **, no #, no -, no backtick, no *, no _)\n'
    '- Never use bullet points or numbered lists\n'
    '- Write in 1-2 complete sentences only\n'
    '- Maximum 120 characters per response\n'
    '- No emojis'
)

response = client.messages.create(
    model='claude-opus-4-5',
    max_tokens=64,
    system=plain_text_system,
    messages=[
        {'role': 'user', 'content': 'Notify user their order has shipped and will arrive in 2 days.'}
    ]
)
print(response.content[0].text)

إطار اتخاذ قرار التنسيق

استخدم إطار اتخاذ القرار السريع هذا قبل طلب أي تنسيق للإخراج:

  1. إلى أين يذهب الإخراج؟ واجهة ويب، أو بريد إلكتروني، أو طرفية، أو صوت، أو قاعدة بيانات
  2. هل تعرض تلك البيئة Markdown؟ نعم ← استخدم Markdown. لا ← استخدم النص العادي.
  3. هل سيقرأه إنسان؟ نعم ← نظّم المحتوى ليسهل تصفحه سريعًا. لا ← حسّنه للتحليل.
  4. هل ستعالجه الشفرة؟ نعم ← استخدم JSON أو CSV، من دون نثر.
  5. هل سيُقرأ بصوت مسموع؟ نعم ← استخدم نصًا عاديًا مناسبًا للصوت، من دون اختصارات.
def choose_format(environment, human_reads, code_processes, voice_output):
    '''Simple formatting decision tree.'''
    if voice_output:
        return 'PLAIN TEXT — voice safe, spell out numbers and units'
    if code_processes:
        return 'JSON or CSV — machine-parseable, no prose'
    renders_markdown = environment in ['web', 'notion', 'github', 'vscode', 'obsidian']
    if renders_markdown and human_reads:
        return 'MARKDOWN — headers, bold, code blocks, lists'
    return 'PLAIN TEXT — clean prose paragraphs, no markdown symbols'

scenarios = [
    ('web',         True,  False, False),
    ('email',       True,  False, False),
    ('api_pipeline',False, True,  False),
    ('voice_app',   False, False, True),
    ('terminal',    True,  False, False),
]
for env, human, code, voice in scenarios:
    result = choose_format(env, human, code, voice)
    print(f'{env:<15} -> {result}')

النص العادي المنظم

لا يعني النص العادي أنه يجب أن يكون غير منظم. يمكنك إنشاء بنية من دون Markdown باستخدام ما يلي:

  • تسميات الأقسام بأحرف كبيرة بالكامل (ALL CAPS)، وتظهر بالطريقة نفسها في أي مكان
  • فواصل أسطر بين الأقسام
  • جمل مرقمة: «1. النقطة الأولى. 2. النقطة الثانية.»
  • شرطات طويلة للفصل: «فكرة أساسية — تحقّق دائمًا قبل التصرف.»
  • مسافات بادئة متسقة باستخدام المسافات (لإخراج الطرفية)
import openai

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

response = client.chat.completions.create(
    model='gpt-4o',
    messages=[{
        'role': 'user',
        'content': (
            'Write a daily briefing for a developer — 3 sections: TASKS, BLOCKERS, NOTES. '
            'Format: plain text only. '
            'Use ALL CAPS section labels followed by a colon. '
            'Use a line break between sections. '
            'Number each item within a section. '
            'No markdown symbols of any kind. '
            'Use realistic placeholder content.'
        )
    }]
)
print(response.choices[0].message.content)

اكتشاف تنسيق الإخراج

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

يُعد هذا نمطًا شائعًا في أنظمة الذكاء الاصطناعي متعددة القنوات التي تقدم المحتوى نفسه عبر الويب والهاتف المحمول ومستهلِكي API.

import anthropic

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

def get_format_instruction(channel):
    formats = {
        'web':   'Use markdown formatting: headers, bold, bullet points, code blocks.',
        'email': 'Plain text only. No markdown symbols. Use line breaks between sections.',
        'sms':   'Plain text. Single paragraph. Max 160 characters.',
        'voice': 'Plain text. No symbols. Natural spoken sentences only. Spell out numbers.',
        'api':   'JSON output only. No prose.',
    }
    return formats.get(channel, 'Plain text only.')

def ask_with_channel(question, channel):
    fmt = get_format_instruction(channel)
    response = client.messages.create(
        model='claude-opus-4-5',
        max_tokens=100,
        system=f'Format instruction: {fmt}',
        messages=[{'role': 'user', 'content': question}]
    )
    return response.content[0].text

q = 'What are 3 benefits of regular code reviews?'
for ch in ['web', 'sms', 'voice']:
    print(f'[{ch.upper()}]:')
    print(ask_with_channel(q, ch)[:150])
    print()

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

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

مراجعة النص العادي والإخراج المنسق

يعتمد اختيار التنسيق المناسب على بيئة الإخراج. القواعد الأساسية هي:

  • استخدم Markdown عندما تعرضه البيئة: واجهات الويب، وNotion، وGitHub، والتوثيق
  • استخدم النص العادي لمحتوى البريد الإلكتروني، ورسائل SMS، والصوت، وأنظمة CRM، ومسارات API
  • استخدم JSON/CSV عندما تعالج الشفرة الإخراج
  • اطلب النص العادي مع تحديد ما يجب تجنبه صراحةً: لا علامات نجمة، ولا علامات رقم، ولا تعداد نقطي
  • عيّن قواعد التنسيق مرة واحدة في رسالة النظام لضمان اتساق سلوك التطبيق
  • يمكن أن يظل النص العادي منظمًا باستخدام تسميات الأقسام بأحرف كبيرة، وفواصل الأسطر، والجمل المرقمة

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

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

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

ماذا ستتعلم في «المخرجات النصية العادية مقابل المنسقة»؟

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

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

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

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

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

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

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

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

  1. طلب القوائم والنقاط
  2. طلب الجداول والبيانات المنظمة
  3. تنسيق Markdown في المطالبات
  4. المخرجات النصية العادية مقابل المنسقة
← العودة إلى AI Prompt Engineering