الأكاديمية ← دليل المطوّرتوثيق رسمي · شرح عربي واضح

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

Agent Loop Internals

للمطور12 دقيقة3 أسئلة2026-08-09
الفكرة في دقيقة

ابدأ بالمعنى، ثم انتقل إلى التفاصيل.

هذا الدرس يشرح كيف تعمل حلقة الوكيل من الداخل ضمن موضوع داخل Hermes وكيف يوسّعه المطور. ستعرف ما الذي يفعله هذا الجزء، متى تحتاجه، وما أصغر خطوة آمنة للتأكد أنه يعمل.

إن كنت مبتدئًا

إن كنت جديدًا: لا تحفظ الأسماء. ركّز على ثلاثة أسئلة: ما المشكلة التي يحلها هذا الجزء؟ ما البيانات أو الصلاحيات التي يحتاجها؟ وكيف أعرف أن النتيجة صحيحة؟

للتطبيق العملي

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

للمتخصص

للمتخصص: راجع Core Responsibilities، Two Entry Points، API Modes، ثم افحص حالات الفشل والتوافق مع إصدارك.

ما الذي تحتاجه قبل البدء؟

اعرف Python وGit وبنية مشروع برمجي قبل تعديل الكود.

ماذا ستعرف؟

نتيجة واضحة قبل أن تقرأ.

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

تعريفات قصيرة قبل التفاصيل.

Tool
فعل منظّم يستطيع الوكيل استدعاءه لقراءة شيء أو تغييره.
وصف الصفحة الرسمي

Detailed walkthrough of AIAgent execution, API modes, tools, callbacks, and fallback behavior

خريطة الموضوع

ما الذي يقوله المصدر، وبأي ترتيب؟

  1. 01
    Core Responsibilities

    ابدأ بهذا القسم لتفهم الفكرة أو البنية الأساسية.

  2. 02
    Two Entry Points

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  3. 03
    API Modes

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  4. 04
    Turn Lifecycle

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  5. 05
    Message Format

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  6. 06
    Message Alternation Rules

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  7. 07
    Interruptible API Calls

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  8. 08
    Tool Execution

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  9. 09
    Sequential vs Concurrent

    اقرأه بعد الأساسيات، ثم اربطه بالخطوة السابقة قبل المتابعة.

  10. 10
    Execution Flow

    اختم بهذا القسم لتفحص النتيجة والحالات الخاصة.

أمثلة من الصفحة الرسمية

انسخ بعد أن تفهم الأثر.

`chat()` is a thin wrapper around `run_conversation()` that extracts the `final_response` field from the result dict. ## API Modes Hermes supports three API execution modes, resolved from provider selection, explicit args, and base URL heuristics: | API mode | Used for | Client type | |----------|----------|-------------| | `chat_completions` | OpenAI-compatible endpoints (OpenRouter, custom, most providers) | `openai.OpenAI` | | `codex_responses` | OpenAI Codex / Responses API | `openai.OpenAI` with Responses format | | `anthropic_messages` | Native Anthropic Messages API | `anthropic.Anth
### Message Format All messages use OpenAI-compatible format internally:
Reasoning content (from models that support extended thinking) is stored in `assistant_msg["reasoning"]` and optionally displayed via the `reasoning_callback`. ### Message Alternation Rules The agent loop enforces strict message role alternation: - After the system message: `User → Assistant → User → Assistant → ...` - During tool calling: `Assistant (with tool_calls) → Tool → Tool → ... → Assistant` - **Never** two assistant messages in a row - **Never** two user messages in a row - **Only** `tool` role can have consecutive entries (parallel tool results) Providers validate these sequence
تطبيق الآن

اقرأ الأمر الأول وحدد المدخلات والمخرجات قبل نسخه.

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

اختبار الفهم

ثلاثة قرارات قبل علامة الاكتمال.

1. ما المرجع النهائي عند تغيّر معلومات «شرح Agent Loop Internals»؟
2. ما أفضل طريقة لتطبيق هذا الدرس؟
3. ماذا تفعل قبل خطوة قد تعدّل ملفات أو حسابًا خارجيًا؟