# كيف يتعامل وكيل الذكاء الاصطناعي مع الأعياد حين ينشر لجماهير مختلفة؟

_2026-10-13 · كيف يجدول وكيل الذكاء الاصطناعي حول الأعياد: اربط كل حساب بتقاليد جمهوره، واستدعِ get_holidays، واقرأ calendar_notes، واحجب مساء اليوم السابق._

الوكيل الذي ينشر لحسابات كثيرة يجب أن يفحص كل موعد مجدول مقابل أعياد جمهور كل حساب، لا مقابل تقويم وطني واحد. في Shager يعني ذلك فحصين: استدعاء `get_holidays` للتقاليد المهمة قبل التخطيط، ثم قراءة `calendar_notes` التي تعود مع كل منشور مجدول. أما الجزء الذي لا تستطيع أي أداة أن تؤديه عن الوكيل فهو تحديد التقاليد التي تنطبق على كل حساب، ولذلك يجب أن يُكتب هذا صراحة لكل عميل.

## التقويم سهل، والربط هو الصعب

معظم أخطاء الأعياد لا تأتي من نقص البيانات، بل من افتراض أن كل الجماهير تتشارك تقويمًا واحدًا.

تخيّل وكالة تدير هذه الحسابات من مساحة عمل واحدة:

1. مطعم عائلي في قرية درزية في الجليل.
2. سلسلة عيادات أسنان معظم مرضاها من المواطنين العرب في إسرائيل.
3. متجر أدوات منزلية يبيع لجمهور من الحريديم.
4. مركز مجتمعي للناطقين بالروسية، يتبع جزء من جمهوره تقويم الكنيسة الأرثوذكسية.
5. علامة تجارية للتجارة الإلكترونية تشحن إلى أوروبا وأمريكا الشمالية.

منشور خصم مبهج يوم الثلاثاء قد يكون مناسبًا لأربعة منهم وفي توقيت سيئ جدًا للخامس. والوكيل لا يعرف إلا ما في تعليماته. لذلك، قبل أن تفيد أي من الأدوات أدناه، يحتاج ملف كل عميل إلى سطر صريح واحد: التقاليد التي يتبعها هذا الجمهور. وإذا كنت تشغّل أصلًا [وكيلًا واحدًا لعملاء كثيرين](/ar/blog/one-agent-many-clients)، فهذا الملف هو مكان السطر.

## ماذا يغطي تقويم الأعياد في Shager؟

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

يحمل كل يوم واحدة من أربع توصيات للنشر:

| التوصية | ما يجب أن يفعله الوكيل | أمثلة |
| --- | --- | --- |
| `avoid` | لا محتوى ترويجي لهذا الجمهور | يوم الغفران؛ ويوم ذكرى المحرقة ويوم الذكرى في إسرائيل |
| `sensitive` | محتوى محترم فقط، بلا بيع مباشر ولا مزاح | أيام الصوم، والجمعة العظيمة، وعاشوراء، ويوم عرفة، وليلة القدر |
| `opportunity` | تهنئة أو منشور خاص بالمناسبة مناسب | عيد الفطر، وعيد الميلاد، وديوالي، ورأس السنة القمرية، والجمعة السوداء |
| `normal` | لا شيء يتغير | كل ما عدا ذلك |

ويعرض التقويم في التطبيق البيانات نفسها للبشر، مع مرشّح للتقاليد ولون لكل توصية.

## استدعاء get_holidays

تتاح هذه الخاصية كأداة MCP باسم `get_holidays`، وكعملية REST موثقة في [مواصفة OpenAPI](https://app.shager.ai/api/v1/openapi.json):

```bash
curl -s "https://app.shager.ai/api/v1/holidays?from=2026-11-20&to=2026-12-05&traditions=jewish,muslim&language=en" \
  -H "Authorization: Bearer $SHAGER_API_KEY"
```

من دون `from` و`to`، يكون النطاق اليوم مضافًا إليه 60 يومًا. والحد الأقصى 400 يوم. يقتصر `traditions` على التقاليد التي تسميها، ويُرجع `language` الأسماء بالإنجليزية أو العبرية. وللاستجابة هذا الشكل:

```json
{
  "data": {
    "from": "2026-11-20",
    "to": "2026-12-05",
    "note": "...",
    "holidays": [
      {
        "date": "YYYY-MM-DD",
        "tradition": "...",
        "name": "...",
        "key": "...",
        "advice": "opportunity",
        "guidance": "...",
        "approximate": true
      }
    ]
  }
}
```

مرّر `guidance` إلى المراجِع البشري؛ فهو يشرح في جملة واحدة لماذا نُقل منشور ما.

## تسلسل الاستدعاءات من البداية إلى النهاية

هذا هو الترتيب الذي أستخدمه في التشغيل الأسبوعي. خذ أواخر نوفمبر 2026 مثالًا: يقع عيد الشكر يوم الخميس 26، والجمعة السوداء يوم 27، والاثنين الإلكتروني يوم 30. بالنسبة إلى علامة التجارة الإلكترونية، هذه سلسلة من أيام `opportunity`. أما بالنسبة إلى متجر الحريديم أو المطعم الدرزي، فقد تكون هذه الأيام `normal` ببساطة، ولا تستحق منشورًا خاصًا بالمناسبة أصلًا.

```text
get_holidays  { from: "2026-11-20", to: "2026-12-05", traditions: <union of all profiles in this run> }

create_post   { workspace_id: "ws_retail",
                channel_ids: ["ch_shop_eu_ig", "ch_shop_us_fb"],
                caption: "...",
                per_channel: [
                  { channel_id: "ch_shop_eu_ig", caption: "..." },
                  { channel_id: "ch_shop_us_fb", caption: "..." }
                ],
                media_ids: ["med_19ae"] }

schedule_post { workspace_id: "ws_retail", post_id: "pst_5d2c",
                schedule_at: "2026-11-27T09:00:00-05:00" }

read calendar_notes on the returned post
  if any entry is avoid or sensitive for a tradition in this account's profile:
    cancel_post, pick a new time, schedule again, and log why
```

أولًا، يتيح `per_channel` أن يحمل المنشور الواحد نصًا مختلفًا لكل حساب، فتذكر الصفحة الأمريكية عطلة عيد الشكر بينما تتحدث الصفحة الأوروبية عن الجمعة السوداء دون الإطار الأمريكي. كتبت المزيد عن ذلك في [تنويع النص لكل حساب](/ar/blog/caption-variation-per-account-with-ai).

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

تعود `calendar_notes` مع كل منشور تُرجعه `create_post` و`get_post` و`schedule_post`، وتسرد الأعياد الواقعة في اليوم المجدول للمنشور مع توصياتها. وهي تلتقط ما فات مرحلة التخطيط، بما في ذلك موعد غيّره أحدهم يدويًا.

## لماذا تُفسد عبارة «يبدأ في المساء السابق» الفحص الساذج للتواريخ

تبدأ الأعياد اليهودية عند غروب الشمس في المساء السابق للتاريخ الذي يظهر في التقويم. ويعيد [شرح حركة اليهودية الإصلاحية](https://reformjudaism.org/learning/answers-jewish-questions/why-do-jewish-holidays-begin-night) ذلك إلى قصة الخلق، حيث يأتي المساء قبل الصباح. واليوم في التقويم الإسلامي يبدأ أيضًا عند غروب الشمس.

الوكيل الذي يقارن التواريخ فقط سيخطئ هنا بطريقة متوقعة. يُدرج التقويم يوم الغفران في تاريخ معين. يفحص الوكيل منشورًا ترويجيًا مجدولًا في الساعة 19:00 من التاريخ السابق، فلا يجد تطابقًا، وينشر في بداية الصوم.

في إسرائيل يرتفع مستوى الحساسية في يومَي الذكرى. يبدأ يوم ذكرى الجنود القتلى عند غروب الشمس في الليلة السابقة، و[تُغلق أماكن الترفيه بحكم القانون](https://www.jewishvirtuallibrary.org/yom-hazikaron-israeli-memorial-day) خلال اليوم. وفي يوم ذكرى المحرقة، [تُغلق أماكن الترفيه العامة بحكم القانون](https://en.wikipedia.org/wiki/Yom_HaShoah) عشية اليوم وفي اليوم نفسه. العلامة التجارية التي تنشر عرض تخفيضات مرحًا في ذلك المساء لا تخالف أي قانون، لكن الجمهور يلاحظ.

قاعدتي في تعليمات الوكيل بسيطة: في أيام `avoid` و`sensitive`، يُحتسب بعد ظهر اليوم السابق ومساؤه جزءًا من اليوم نفسه. أما في أيام `opportunity`، فبداية اليوم في المساء تعمل لصالحك، لأن التهنئة التي تصل قبل بدء العيد تصل في وقتها.

## لماذا تُعلَّم التواريخ الإسلامية بأنها تقريبية؟

يحسب Shager التواريخ الإسلامية وفق تقويم أم القرى ويعلّمها بـ `approximate: true`. تقويم أم القرى هو التقويم الرسمي للمملكة العربية السعودية ويُحسب مسبقًا، بينما يتوقف بدء الأشهر الدينية على رؤية الهلال. وينقل [موقع The New Arab عن الموقع السابق للتقويم نفسه](https://www.newarab.com/news/will-saudi-arabia-announce-wrong-date-ramadan) أنه قد لا يتطابق مع الرؤية الفعلية للهلال. كما تطبق الدول معايير رؤية مختلفة، ولذلك [قد يقع العيد في أيام مختلفة في دول مختلفة](https://www.aljazeera.com/news/2023/3/16/infographic-when-is-ramadan-2023).

الفارق يوم واحد تقريبًا. بالنسبة إلى سلسلة العيادات، يعني ذلك: جهّز تهنئة عيد الفطر كمسودة مبكرًا وجدولها بعد الإعلان المحلي، أو اكتبها بحيث تبقى مناسبة حتى لو نُشرت قبل يوم. وفي يوم `sensitive` تقريبي، اترك يومًا احتياطيًا على كل جانب. أما الجماهير الموزعة على عدة دول، فلا تفترض أن تاريخًا واحدًا يناسبها جميعًا.

## تعليمات يمكنك تكييفها

```text
Before scheduling anything this week:
1. Read each client's audience profile and list its traditions. If a profile has none, stop and ask me.
2. Call get_holidays once for the whole week, with the union of those traditions.
3. avoid: no promotional posts to that audience, including the afternoon and evening before.
4. sensitive: respectful tone only. No discounts, no humour, no countdowns.
5. opportunity: propose a greeting or themed post, written separately per account with per_channel.
6. approximate=true: keep a one day buffer, or wait for the local announcement.
7. After schedule_post, read calendar_notes. On a conflict, cancel, reschedule and tell me what changed.
```

اجمعها مع قواعد التوقيت في [استراتيجية الجدولة للوكلاء](/ar/blog/scheduling-strategy-for-agents)، فيُعالَج فارق التوقيت والأعياد في الجولة نفسها.

## قائمة تحقق قبل كل تشغيل مجدول

1. لكل حساب ملف جمهور يضم قائمة صريحة بالتقاليد.
2. استدعاء `get_holidays` واحد يغطي النطاق الزمني الكامل للتشغيل.
3. يوم `avoid` يحجب أيضًا المساء الذي يسبقه.
4. يوم `sensitive` يغيّر النبرة، لا الموعد فقط.
5. منشورات `opportunity` تُكتب لكل جمهور على حدة، ولا تهنئة عامة واحدة للجميع.
6. التواريخ التقريبية تحصل على يوم احتياطي.
7. الجماهير المختلطة في يوم موضع خلاف تُفصل في منشورات منفصلة.
8. بعد الجدولة، يقرأ الوكيل `calendar_notes` ويُبلغ عن كل تغيير أجراه.

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

إذا لم يكن وكيلك متصلًا بعد، فإن [صفحة الوكلاء](/ar/agents) تشرح الإعداد. وبعد الاتصال، فأول مهمة مفيدة صغيرة: أضف سطر التقاليد إلى ملف كل عميل، وشغّل `get_holidays` على الشهرين القادمين لترى ما هو آتٍ.

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

### هل يمنع Shager الجدولة في يوم avoid؟

لا. التوصية معلومة تُرجعها `get_holidays` وتظهر في `calendar_notes` لكل منشور. يبقى القرار للوكيل ولمن يوافق على عمله، لأن اليوم نفسه قد يكون مهيبًا لجمهور وعاديًا لجمهور آخر.

### كيف يعرف الوكيل أي التقاليد تنطبق على حساب ما؟

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

### هل ينبغي لعلامة تجارة إلكترونية عالمية أن تهتم بالأعياد الدينية أصلًا؟

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

---
Source: https://shager.ai/ar/blog/holiday-aware-posting-for-agents
