إعادة استخدام القوالب عبر المهام
أنشئوا مكتبة مطالبات شخصية باستخدام قوالب ذات معلمات
إعادة استخدام القوالب عبر المهام درس مجاني في AI Prompt Engineering على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Prompt Engineering، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.
من المطالبات المخصصة إلى مكتبة مطالبات
يبدأ معظم مهندسي المطالبات بكتابة المطالبات بصورة مخصصة — مطالبة لكل مهمة، تُحفظ بشكل غير منظم في تطبيق للملاحظات أو في سجل محادثة. ينجح هذا الأسلوب على نطاق صغير، لكنه يتعثر عندما تحتاج إلى الاتساق عبر المهام أو أعضاء الفريق أو الوقت.
مكتبة المطالبات هي مجموعة منظمة من قوالب المطالبات القابلة لإعادة الاستخدام — مرتبة ومُسماة ومُدارة الإصدارات وموثقة. ويُعد إنشاؤها استثمارًا يحقق عائدًا سريعًا في أي سير عمل يُنشئ محتوى بالذكاء الاصطناعي بانتظام.
تنظيم الملفات: البنية المسطحة
أبسط مكتبة للمطالبات هي مجلد مسطح من ملفات القوالب:
prompts/ email_cold_outreach.j2 email_follow_up.j2 linkedin_post.j2 product_description.j2 blog_post_intro.j2 support_reply.j2
تعمل البنية المسطحة جيدًا حتى نحو 30 إلى 50 قالبًا. وبعد ذلك، تصبح بنية المجلدات المصنفة أسهل في التصفح.
تنظيم الملفات: البنية المصنفة
بالنسبة إلى المكتبات الأكبر، نظّم القوالب حسب نوع المحتوى أو حالة الاستخدام:
prompts/ marketing/ email_cold_outreach.j2 social_linkedin_post.j2 support/ reply_complaint.j2 reply_question.j2 content/ blog_post.j2 product_description.j2 internal/ meeting_summary.j2 project_update.j2
طابق التصنيف مع الطريقة التي يفكر بها فريقك في المهام، لا مع مفاهيم هندسة المطالبات.
اصطلاحات التسمية
ينبغي أن توضح أسماء القوالب الغرض منها فورًا. ومن أنماط التسمية الجيدة:
- نوع_المحتوى + السياق:
email_cold_outreach،post_linkedin_announcement - الإجراء + الكائن:
summarize_meeting،analyze_feedback،generate_tagline - الدور + المهمة:
support_reply_complaint،marketing_product_description
تجنب الأسماء العامة مثل template1 أو prompt_v2 أو new_thing. فالاسم الجيد يكون واضحًا من دون فتح الملف.
إدارة إصدارات القوالب
تتغير المطالبات بمرور الوقت مع اكتشافك للتحسينات. ويمنع التحكم في إصدارات القوالب فقدان السجل وظهور التراجعات:
- خزّن القوالب في git — إذ يتم تتبع كل تغيير ويمكن التراجع عنه
- بالنسبة إلى إدارة الإصدارات المستندة إلى الملفات من دون git:
email_cold_outreach_v1.j2،v2.j2،v3.j2 - ضع وسمًا للإصدارات الرئيسية المستخدمة في الإنتاج: أضف تعليقًا في الأعلى يوضح الإصدار الذي دخل حيز التشغيل ووقت ذلك
- لا تستبدل ملفًا أبدًا من دون الاحتفاظ بنسخة — فما نجح الشهر الماضي قد تحتاج إلى استعادته
يُعد Git الخيار الأكثر متانة: استخدم مجلد prompts/ مخصصًا داخل مستودع مشروعك.
رأس توثيق القالب
يجب أن يحتوي كل ملف قالب على رأس توثيق. وهو كتلة تعليقات في الأعلى تتضمن البيانات الوصفية المهمة:
# Template: email_cold_outreach.j2
# Version: 2.1
# Author: Sarah Chen
# Created: 2025-03-15
# Last modified: 2025-05-10
# Changes in v2.1: Added 'value_prop' variable, removed generic opener
#
# Purpose:
# Generate personalized cold outreach emails for B2B sales.
#
# Required variables:
# - sender_name: str — Name of the sender
# - recipient_name: str — First name of the recipient
# - company_name: str — Recipient's company
# - value_prop: str — 1-2 sentence value proposition tailored to this prospect
# - cta: str — Specific call to action (e.g., '15-minute discovery call')
#
# Optional variables:
# - tone: str (default: 'professional but warm')
# - word_count: int (default: 120)
#
# Example output: see examples/email_cold_outreach_sample.txt
# Known limitations: Performs best when value_prop is specific to the company.سجل القوالب
في بيئات العمل الجماعي، يجعل سجل القوالب — وهو ملف فهرس مركزي يسرد جميع القوالب المتاحة — عملية العثور عليها أسرع بكثير:
# prompts/registry.py
# Central index of all prompt templates
TEMPLATE_REGISTRY = {
'email_cold_outreach': {
'file': 'marketing/email_cold_outreach.j2',
'description': 'Cold outreach email for B2B prospecting',
'required_vars': ['sender_name', 'recipient_name', 'company_name', 'value_prop', 'cta'],
'optional_vars': {'tone': 'professional but warm', 'word_count': 120},
'version': '2.1',
'owner': 'sarah.chen'
},
'linkedin_post': {
'file': 'marketing/linkedin_post.j2',
'description': 'LinkedIn announcement post with professional tone',
'required_vars': ['company', 'announcement', 'cta'],
'optional_vars': {'tone': 'professional and approachable', 'word_count': 180},
'version': '1.0',
'owner': 'marketing_team'
}
}
def get_template_info(name):
return TEMPLATE_REGISTRY.get(name, None)إعادة استخدام القالب عبر المهام
تكمن القوة الحقيقية للمكتبة في اكتشاف أن القالب نفسه يعمل عبر مهام متعددة مع تغييرات طفيفة في المتغيرات. ابحث عن فرص إعادة الاستخدام عبر المهام:
- يمكن لقالب وصف المنتج إنشاء محتوى لموقع الويب وأوصاف لمتجر التطبيقات، باستخدام متغيرات مختلفة للطول والنبرة
- يعمل قالب التلخيص مع ملخصات الاجتماعات وملخصات المقالات وملخصات مراجعات التعليمات البرمجية، وذلك بتغيير متغير نوع المحتوى
- يعمل قالب المقارنة مع المنتجات والمرشحين للوظائف والأساليب التقنية، وذلك بتغيير متغيرَي الموضوع والمعايير
عندما تجد نفسك تكتب قالبًا جديدًا، ابحث في المكتبة أولًا.
تركيب القوالب: أساسي + فرعي
يدعم Jinja2 وراثة القوالب — إذ يحدد القالب الأساسي بنية مشتركة، بينما تتجاوز القوالب الفرعية كتلًا محددة. ويقلل ذلك من التكرار بين القوالب ذات الصلة:
# prompts/base_content.j2 — shared structure for all content templates
'''
You are a professional writer for {{company}}.
Style rules (apply to all outputs):
- Active voice
- No jargon unless defined
- Sentences under 25 words
- No passive voice
- Warm, direct tone
{% block task %}{% endblock %}
{% block constraints %}
Length: {{word_count | default(200)}} words.
{% endblock %}
'''
# prompts/blog_post.j2 — inherits base, adds blog-specific instructions
'''
{% extends 'base_content.j2' %}
{% block task %}
Write a blog post about {{topic}} for {{audience}}.
Structure: Hook (1 para) + Problem (1-2 para) + Solution (2-3 para) + Takeaway (1 para).
Include one concrete example.
{% endblock %}
{% block constraints %}
{{ super() }}
Do not mention competitors. Include one pull quote.
{% endblock %}
'''تتبع أداء القالب
في مسارات الإنتاج، تتبع إصدارات القوالب التي تنتج أفضل المخرجات. إليك طريقة بسيطة للتسجيل:
import json
import datetime
def log_generation(template_name, template_version, variables, output, rating=None):
log_entry = {
'timestamp': datetime.datetime.utcnow().isoformat(),
'template': template_name,
'version': template_version,
'input_vars': {k: str(v)[:50] for k, v in variables.items()}, # truncate for log
'output_length': len(output),
'rating': rating # optional human rating 1-5
}
with open('logs/generation_log.jsonl', 'a') as f:
f.write(json.dumps(log_entry) + '\n')
# Usage after generation
log_generation(
template_name='email_cold_outreach',
template_version='2.1',
variables={'sender_name': 'Alice', 'company_name': 'Acme'},
output='Dear Mr. Smith...',
rating=4
)متى يُحال القالب إلى التقاعد
تصبح القوالب قديمة بمرور الوقت. فيما يلي علامات تدل على ضرورة إحالة القالب إلى التقاعد أو تحديثه:
- تتطلب المخرجات باستمرار تعديلات يدوية كبيرة — ما يعني أن القالب لا يلتقط المتطلبات الصحيحة
- تغيرت المهمة، مثل ظهور إرشادات جديدة للعلامة التجارية أو جمهور جديد أو متطلبات جديدة للتنسيق
- تغير إصدار النموذج، ولم تعد تعليمات القالب تعمل كما هو متوقع
- كُتب قالب أفضل يحل محل هذا القالب
أرشف القوالب المتقاعدة بدلًا من حذفها — علّمها بأنها مهجورة في السجل، واحتفظ بالملفات في مجلد فرعي باسم archive/. قد تحتاج إلى فهم سبب ظهور المخرجات القديمة بالشكل الذي ظهرت به.
اختبار المعرفة: مكتبات الموجّهات
ينشئ فريقك المؤلف من 8 أشخاص محتوى باستخدام الذكاء الاصطناعي لثلاث حالات استخدام مختلفة: حملات البريد الإلكتروني، وتوثيق المنتجات، ووسائل التواصل الاجتماعي. لديكم حاليًا 45 قالبًا للموجّهات محفوظة في مستند Google مشترك، من دون تسمية متسقة أو سجل للإصدارات أو توثيق. ما أول تحسين سيكون الأعلى تأثيرًا؟
مراجعة: إعادة استخدام القوالب عبر المهام
تحوّل مكتبة الموجّهات الموجّهات الارتجالية إلى أصل قابل لإعادة الاستخدام والصيانة. ومن أهم الممارسات: تنظيم بنية الملفات، باستخدام بنية مسطحة لما يصل إلى 50 قالبًا وتصنيف القوالب بعد ذلك، واعتماد اصطلاحات تسمية متسقة، وإضافة رؤوس توثيق تتضمن المتغيرات المطلوبة وملاحظات الإصدار، واستخدام git للتحكم في الإصدارات.
تتمثل أعلى قيمة للمكتبة في إعادة الاستخدام عبر المهام: استخدام بنية القالب نفسها في حالات استخدام متعددة من خلال تغيير قيم المتغيرات. ويقلل تركيب القوالب عبر وراثة Jinja2 من التكرار بين القوالب ذات الصلة. تتبع الأداء وأحل القوالب القديمة إلى التقاعد بفعالية.
الأسئلة الشائعة
هل درس «إعادة استخدام القوالب عبر المهام» مجاني؟
نعم — نص درس «إعادة استخدام القوالب عبر المهام» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Prompt Engineering، انتقل إلى CoddyKit PRO. تتضمن دورة AI Prompt Engineering 4 دروس في المجموع.
ماذا ستتعلم في «إعادة استخدام القوالب عبر المهام»؟
أنشئوا مكتبة مطالبات شخصية باستخدام قوالب ذات معلمات تتمرن على AI Prompt Engineering مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ AI Prompt Engineering؟
لا تُشترط خبرة سابقة. AI Prompt Engineering على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «إعادة استخدام القوالب عبر المهام»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس AI Prompt Engineering هذا؟
نعم. كل درس في AI Prompt Engineering يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- ما قالب المطالبة
- إنشاء أنماط ملء الفراغات
- تقنيات استبدال المتغيرات
- إعادة استخدام القوالب عبر المهام