|

مقدمة حول وضع الهدف في Claude Code: 6 نقاط رئيسية لفهم سير العمل الجديد الذي لا يتوقف حتى تحقيق الهدف

بعد إطلاق Codex لأمر /goal في أبريل 2026، قامت شركة Anthropic في مايو من نفس العام بإضافة الأمر ذاته إلى Claude Code 2.1.139. هذا الأمر يمثل سير عمل جديداً يجعل Claude «لا يتوقف حتى يحقق الهدف»: بمجرد كتابة شرط الإنجاز في المحادثة، سيقوم Claude في نهاية كل جولة تلقائياً بتكليف نموذج صغير وسريع لتقييم ما إذا كان الهدف قد تحقق، وإذا لم يتحقق، فسيستمر في الجولة التالية حتى يتم استيفاء الشرط، وعندها فقط يعيد إليك التحكم.

في هذا المقال، سنشرح بوضوح النقاط الست الأساسية لوضع goal في Claude Code، بما في ذلك آلية عمل حلقة التقييم، الفرق بينه وبين /loop وخطافات التوقف (Stop hook)، كيفية كتابة شروط فعالة، الأنماط الثلاثة (تفاعلي / -p / تحكم عن بعد)، بالإضافة إلى المخاطر وأفضل الممارسات.

القيمة الجوهرية: بعد قراءة هذا المقال، ستتمكن في غضون 10 دقائق من تسليم المهام طويلة الأمد مثل ترحيل الأكواد البرمجية للفريق، تنظيف المشكلات (issues)، وقبول الوثائق إلى وضع goal في Claude Code ليقوم بها تلقائياً، وستعرف متى يجب عليك استخدام سير عمل مستقل آخر.

claude-code-goal-mode-keep-working-until-done-guide-ar 图示

النقاط الجوهرية لوضع Claude Code goal

قبل البدء، دعنا نوضح الحقائق الست الرئيسية لوضع goal في Claude Code. هذه النقاط الست تحدد ما إذا كانت الشروط التي تكتبها ستُنفذ بشكل صحيح، كما تحدد ما إذا كان يجب عليك اختيار /goal بدلاً من سير عمل مستقل آخر.

النقطة المحتوى التأثير
تنسيق الأمر /goal <condition> يُضبط مباشرة في المحادثة، لا حاجة لملفات تهيئة
المقيم (Evaluator) نموذج Haiku صغير وسريع افتراضياً يتم تقييم الإنجاز بواسطة "نموذج آخر"، مستقل عن النموذج الذي ينفذ العمل
النطاق مرتبط بجلسة المحادثة (session-scoped) لا يؤثر على الجلسات الأخرى، مناسب للمهام المؤقتة
إيقاع التشغيل تقييم فوري بعد نهاية كل جولة يتوقف عند الإنجاز، ويبدأ جولة جديدة إذا لم يكتمل
الحد الأقصى للشرط 4000 حرف كحد أقصى يمكنه استيعاب معايير قبول مفصلة
طريقة الخروج نجاح التقييم / /goal clear / Ctrl+C ثلاثة مسارات للخروج، تجمع بين التلقائية والتحكم اليدوي

يعتقد العديد من المستخدمين عند رؤية /goal لأول مرة أنه مجرد أمر تكراري عادي، لكنه في جوهره يمثل قيام Anthropic بتغليف خطاف التوقف (Stop hook) القائم على الموجه (prompt) في شكل أمر اختصار على مستوى الجلسة. هذا التموضع الأساسي يجعله مختلفاً تماماً عن الأتمتة التقليدية بأسلوب cron.

إذا لم يسبق لفريقك استخدام آلية الخطافات المتقدمة في Claude Code، يمكنك البدء بتجربة API الخاصة بنماذج Claude Sonnet / Opus / Haiku عبر منصة APIYI (apiyi.com)، والتعرف على منظومة أدوات Anthropic، ثم الانتقال إلى استخدام وضع goal في Claude Code سيكون أسهل بكثير.

شرح تفصيلي لآلية عمل وضع /goal في Claude Code

للاستخدام الصحيح للأمر /goal، يجب أن تفهم بدقة ما يحدث في كل دورة. تصف الوثائق الرسمية الآلية بأنها "إضافة مُقيّم بعد نهاية كل دورة"، وهو أمر يبدو بسيطاً، لكن التفاصيل هي التي تحدد حدود قدرات هذه الميزة.

claude-code-goal-mode-keep-working-until-done-guide-ar 图示

يتولى نموذج اللغة الكبير (النموذج الرئيسي) تنفيذ المهام، بينما يقوم نموذج صغير وسريع بتقييم ما إذا تم إنجاز المهمة. تكمن ميزة تقسيم العمل بين النموذجين في أن المُقيّم يظل محايداً ويستخدم قدرات حوسبة أقل تكلفة لاتخاذ القرار؛ أما العيب فهو أن المُقيّم لا يرى سوى ما تم عرضه في المحادثة، ولا يمكنه الوصول إلى الحالة الفعلية لنظام الملفات أو الأوامر الخارجية.

يمكن تقسيم عملية التقييم بعد كل دورة إلى 4 خطوات:

  1. تجميع السياق: إرسال الشرط الحالي وسجل المحادثة بالكامل إلى المُقيّم.
  2. اتخاذ قرار النموذج: يُرجع المُقيّم نتيجة (نعم/لا) مع سبب (reason).
  3. التوجيه: في حال كانت النتيجة "لا"، يتم إرسال السبب إلى النموذج الرئيسي كإرشاد لمواصلة العمل، وفي حال كانت "نعم"، يتم مسح الهدف تلقائياً ووضع علامة "تم الإنجاز" (achieved).
  4. تحديث المؤشرات: يتم تحديث واجهة المستخدم لعرض مؤشرات elapsed (الوقت المنقضي)، turns (عدد الدورات)، و tokens (عدد الرموز) تحت ◎ /goal active.

عند كتابة الشروط، تذكر دائماً قيود الخطوة الأولى: المُقيّم يرى فقط سجل المحادثة، لذا يجب أن يكون الشرط شيئاً "يمكن للنموذج الرئيسي إثباته داخل المحادثة". على سبيل المثال، شرط مثل "npm test يخرج برمز 0" هو شرط جيد لأن النموذج الرئيسي سيقوم بتشغيل الاختبارات ولصق النتائج؛ بينما شرط مثل "قاعدة بيانات بيئة الإنتاج لا تحتوي على بيانات تالفة" هو شرط سيء لأنه لا يمكن التحقق منه من خلال المحادثة.

عادة ما تكون تكلفة المُقيّم ضئيلة جداً ولا تُذكر. فسعر الوحدة لسلسلة Haiku أقل بكثير من Sonnet أو Opus، وكل دورة تقيّم فقط ملخصاً للمحادثة، مما يؤدي إلى استهلاك عدد قليل جداً من الرموز (tokens) حتى في المحادثات الطويلة. بالنسبة للفرق التي ترغب في تقليل تكاليف المُقيّم بشكل أكبر، يمكنها استخدام خدمة وكيل API مثل APIYI (apiyi.com) لتوجيه النموذج الصغير والسريع في Claude Code إلى Haiku 4.5 أو Haiku 3.5، مع التحكم في الحصص (quotas) على مستوى مساحة العمل.

مقارنة بين وضع الهدف في Claude Code وسير العمليات المستقلة الأخرى

يوفر Claude Code أربع آليات للحفاظ على استمرارية المحادثة، وغالبًا ما يخلط المبتدئون بينها. يوضح الجدول التالي هذه الآليات الأربع بناءً على شروط التفعيل، وشروط التوقف، والسيناريوهات النموذجية لتسهيل الاختيار:

claude-code-goal-mode-keep-working-until-done-guide-ar 图示

الآلية وتيرة التفعيل شروط التوقف سيناريوهات الاستخدام
/goal تُفعل فور انتهاء الجولة السابقة تحقق الشروط المحددة من قبل المُقيّم المهام الطويلة ذات معايير القبول الواضحة
/loop تُفعل في فترات زمنية ثابتة يدوياً من المستخدم أو عند تحديد Claude للاكتمال الاستعلام الدوري، فحص الحالة
Stop hook تُفعل فور انتهاء الجولة السابقة نص برمجي للمستخدم أو موجه مخصص على مستوى الفريق، تسري عبر جلسات متعددة
Auto mode أثناء استدعاء الأدوات في جولة واحدة عند انتهاء تسلسل الأدوات في الجولة تقليل نوافذ التأكيد لكل أداة

النقطة الأساسية هي أن /goal و Stop hook يقومان تقريباً بنفس المهمة، لكن /goal يسري فقط على الجلسة الحالية ويمكن إدخاله مؤقتاً في الطرفية (Terminal). أما Stop hook فيجب كتابته في ملف الإعدادات، ويمتد نطاق تأثيره ليشمل جميع الجلسات ضمن النطاق (Scope)، مما يجعله أكثر ملاءمة للقيود الصارمة على مستوى الفريق.

يتكامل Auto mode و /goal بشكل كامل: حيث يعالج Auto mode مشكلة "المقاطعة المستمرة للتأكيد على الأدوات داخل الجولة الواحدة"، بينما يعالج /goal مشكلة "المهام التي تتطلب عدة جولات لإتمامها". من خلال دمج هاتين الآليتين في المهام الطويلة، يمكن جعل سير العمل تقريباً بدون تدخل بشري. بالنسبة للفرق التي لا تقوم بتشغيل Claude Code في بيئتها الخاصة، يمكنها أولاً اختبار منطق التكرار نفسه عبر ربط Claude محلياً باستخدام APIYI (apiyi.com)، ثم اتخاذ قرار بشأن الترقية إلى أدوات Claude Code الكاملة.

العناصر الثلاثة الأساسية لشروط وضع /goal في Claude Code

تعد كتابة الشروط بشكل غير دقيق السبب الرئيسي لفشل وضع /goal. تشير وثائق Anthropic الرسمية بوضوح إلى أن الشرط الناجح الذي يمكنه الصمود لعشرات الجولات يجب أن يتضمن 3 عناصر أساسية:

العنصر الأول هو نقطة نهاية قابلة للقياس. يجب أن تكون نقطة النهاية حدثاً منفصلاً وقابلاً للملاحظة، مثل: رمز خروج الاختبار (exit code)، عدد الملفات، العناصر المتبقية في قائمة الانتظار، أو ما إذا كان البناء (build) ناجحاً. المؤشرات الغامضة تجعل أداة التقييم تتأرجح بين "نعم" و"لا"، مما يؤدي إلى تحول /goal إلى حلقة مفرغة.

العنصر الثاني هو طريقة تحقق واضحة. يجب أن يوضح الشرط مباشرة كيف يجب على Claude إثبات الوصول إلى نقطة النهاية، على سبيل المثال: "يحتوي مخرج npm test على كلمة PASS" أو "مخرج git status فارغ". كلما كانت طريقة التحقق أكثر تحديداً، قل احتمال خداع أداة التقييم بسبب غموض الصياغة.

العنصر الثالث هو قيود غير قابلة للتغيير. إذا كانت هناك ملفات أو إعدادات معينة يجب أن تظل دون تغيير، فيجب حظرها صراحة في الشرط، مثل: "لا تقم بتعديل أي ملف تحت tests/legacy/". هذا يمنع النموذج الأساسي من إجراء تغييرات تخريبية فقط من أجل "اجتياز الاختبار".

بدمج هذه العناصر الثلاثة، يبدو شرط /goal عالي الجودة كما يلي: "اجتياز جميع الاختبارات في tests/auth وأن يكون مخرج npm run lint هو 0، مع عدم تعديل أي ملف في tests/legacy/، والتوقف بعد 20 جولة كحد أقصى". إضافة "التوقف بعد 20 جولة" هي توصية وقائية لمنع /goal من الدخول في حلقة لا نهائية في الظروف الاستثنائية.

بما أن الشرط يدعم ما يصل إلى 4000 حرف، يمكنك وضع وثيقة متطلبات (PRD) مصغرة داخله. إذا كنت تستخدم منصة APIYI (apiyi.com) لاستدعاء نماذج Claude من أجل إدارة الوكلاء (Agents)، يمكنك أيضاً الاستفادة من هذه الطريقة لتصميم "موجه" (prompt) التقييم الخاص بك، لجعل شروط إيقاف الوكيل واضحة وقابلة للقياس.

ثلاثة أنماط تشغيل عملية لوضع Claude Code goal

يدعم /goal ثلاثة أنماط للاستدعاء: التفاعلي، وغير التفاعلي (-p)، والتحكم عن بعد. إتقان هذه الأنماط الثلاثة هو السبيل الوحيد لدمجها بفعالية في سير عمل CI، والسكربتات المحلية، والتعاون عن بعد.

البدء السريع في النمط التفاعلي

# اكتب مباشرة داخل جلسة Claude Code
/goal all tests in test/auth pass and the lint step is clean, or stop after 20 turns

بعد الإعداد، سيظهر مؤشر ◎ /goal active في واجهة المستخدم، والذي يعرض في الوقت الفعلي ثلاثة مؤشرات: الوقت المنقضي (elapsed)، والجولات (turns)، والرموز (tokens). يمكنك في أي وقت إدخال /goal بدون معلمات لعرض الحالة، أو إدخال /goal clear (أو الأسماء المستعارة stop / off / reset / none / cancel) لإنهاء المهمة مبكراً.

النمط غير التفاعلي (مناسب لـ CI)

claude -p "/goal CHANGELOG.md has an entry for every PR merged this week, or stop after 15 turns"

نمط -p يجعل /goal يستمر في العمل حتى يتم استيفاء الشرط أو تقوم بإيقافه باستخدام Ctrl+C، وهو مناسب جداً للدمج في مسارات العمل المؤتمتة مثل GitHub Actions أو GitLab CI أو Jenkins Pipeline. إذا كنت تقوم بإدارة استدعاءات API الخاصة بـ Claude عبر APIYI (apiyi.com)، يمكنك أيضاً تغليف نمط الحلقة نفسه في سكربتاتك الخاصة، لتمكين العملاء غير التابعين لـ Claude Code من الاستمتاع بقدرات مماثلة.

استعادة الجلسة

claude --resume <session-id>
# أو
claude --continue

عند استعادة الجلسة، ستتم استعادة حالة الهدف النشطة (active goal)، ولكن عدادات الجولات (turns) والوقت (timer) والرموز (tokens) ستبدأ من الصفر مجدداً. هذه الميزة مفيدة جداً لإعادة الهيكلة طويلة الأمد: لا داعي للقلق بشأن الانقطاع عند إغلاق جهاز الكمبيوتر في عطلة نهاية الأسبوع، يمكنك المتابعة يوم الاثنين.

عرض قوالب شروط الأهداف الشائعة (انقر للتوسيع)
# القالب 1: ترحيل الكود
/goal migrate all usages of legacy_api.* to new_api.* in src/, run npm test until exit 0, do not modify tests/legacy/, or stop after 30 turns

# القالب 2: تنظيف قائمة المهام (Backlog)
/goal close all GitHub issues labeled "needs-triage" by either resolving or relabeling, run gh issue list --label needs-triage and verify the output is empty, or stop after 25 turns

# القالب 3: قبول وثائق التصميم
/goal implement every acceptance criterion in docs/design.md, prove each by referencing the exact section, do not edit docs/design.md itself, or stop after 40 turns

# القالب 4: تقسيم الملفات
/goal split src/megafile.ts into modules under src/parts/ where each file is < 300 lines, run npm run typecheck until exit 0, or stop after 20 turns

مخاطر وضع /goal في Claude Code وأفضل الممارسات

بما أن وضع /goal يمنح النموذج صلاحية اتخاذ القرار، فإن نقاط المخاطر تختلف تماماً عن الأوامر التقليدية. يوضح الجدول التالي المخاطر الأربعة الأكثر أهمية وإجراءات التخفيف المقابلة لها.

claude-code-goal-mode-keep-working-until-done-guide-ar 图示

المخاطر شروط التحفيز إجراءات التخفيف
تكاليف خارجة عن السيطرة خطأ في تقييم النموذج أو شروط فضفاضة إضافة حد أقصى "or stop after N turns" للشروط
هلوسة المقيم تعذر التحقق من الشروط عبر السجلات استخدام صيغة "تشغيل الأمر X للتحقق من مخرجات Y"
تعديلات تخريبية تعديل ملفات غير مقصودة لتحقيق الهدف إضافة قيود "do not modify …" للشروط
سوء استخدام مساحة العمل تفعيل غير مقصود في بيئة غير موثوقة يجب قبول "trust dialog"؛ يمكن استخدام disableAllHooks للتعطيل

الخطر الأول هو الأكثر مباشرة. لا توفر Codex ولا Claude Code حالياً قدرة رسمية "لتعيين حد أقصى للإنفاق لكل هدف"، لذا إذا خرجت المهمة الطويلة عن السيطرة، فقد تستهلك عدداً من الـ Token يفوق التوقعات بمراحل. الطريقة الأكثر أماناً هي كتابة حد أقصى للمحاولات (turns) مباشرة في الشروط، مع إضافة تنبيهات الميزانية على مستوى المنصة.

من الضروري أيضاً تجهيز نموذج صغير ومستقر للمقيم. إذا كنت تستخدم Haiku كنموذج سريع، فستكون سرعة التقييم والتكلفة تحت السيطرة؛ أما إذا استخدمت نموذجاً كبيراً مثل Sonnet، فسترتفع تكاليف التقييم بشكل ملحوظ. يمكن لفريق التطوير استخدام منصة APIYI (apiyi.com) لتهيئة base_url وحصص منفصلة لنموذج Haiku، مما يتيح مراقبة تكاليف المقيم والنموذج الرئيسي بشكل منفصل تماماً.

أخيراً، هناك نقاط الامتثال. يعتمد /goal على نظام الخطافات (Hook) الخاص بـ Anthropic، ويتطلب قبول مساحة العمل لـ "trust dialog"، ويجب ألا يتم تعيين disableAllHooks أو allowManagedHooksOnly. إذا قام الفريق بتعطيل الخطافات عبر سياسة إدارة موحدة، فسيتم تعطيل /goal أيضاً، وسيخبرك الأمر بالسبب بدلاً من الفشل الصامت.

أسئلة شائعة

س1: ما الذي يميز /goal عن كتابة سكربت حلقة تكرار (while loop) بنفسي؟

يضيف /goal مقيماً مستقلاً يعمل بالذكاء الاصطناعي. في سكربت while اليدوي، يجب عليك تحديد شروط التوقف بنفسك وكتابة الكود للتحقق منها، بينما يقوم /goal بتفويض هذه المهمة لنموذج صغير وسريع، مما يتيح التعامل مع سيناريوهات غير برمجية مثل "قراءة المحادثة لفهم ما إذا كانت المهمة قد اكتملت".

س2: هل استخدام /goal يستهلك الكثير من الـ Token؟

المخاطرة موجودة ولكنها قابلة للتحكم. نصيحتان: الأولى هي كتابة حد أقصى للمحاولات (turns) في الشروط، والثانية هي تثبيت المقيم على نموذج Haiku الصغير. عند الاتصال بسلسلة Claude عبر APIYI (apiyi.com)، يمكنك تخصيص حصة منفصلة للمقيم لتسهيل المراقبة الدقيقة.

س3: كيف أختار بين /goal و /loop؟

إذا كانت المهمة لها "حالة اكتمال" واضحة، استخدم /goal؛ أما إذا كانت المهمة عبارة عن استطلاع حالة دوري (مثل التحقق من تقدم النشر كل 10 دقائق)، فاستخدم /loop. الآليات الأساسية لكل منهما مختلفة تماماً، والخلط بينهما سيجعل شروط التوقف غامضة.

س4: هل يمكن استخدام وضع /goal الخاص بـ Claude Code في المنطقة العربية؟

نعم. /goal هو أمر خاص بعميل Claude Code، طالما أن العميل يمكنه الاتصال بالنماذج التي توفرها Anthropic. عادةً ما يقوم المطورون بالاتصال بـ Claude API عبر منصات وسيطة مثل APIYI (apiyi.com)، وبمجرد إعداد البيئة، سيعمل /goal بنفس كفاءة المستخدمين في الخارج.

س5: أيهما أفضل: Codex /goal أم Claude Code /goal؟

كلاهما موجه لسير عمل مختلف. يركز Codex /goal على "سير العمل المستمر" ويمكنه إعادة التشغيل عبر العمليات؛ بينما يعمل Claude Code /goal ضمن نطاق الجلسة، ويمكنه الاستئناف عبر --resume للعمل في أيام مختلفة. اختر Codex للمهام المعقدة طويلة الأمد، وClaude Code لمهام التكرار اليومية المعتادة.

ملخص

جوهر وضع "Goal" في Claude Code يكمن في أن Anthropic قامت بتحرير "حلقة التقييم" (Evaluator Loop) من ملفات إعدادات Hook، وجعلتها أمراً برمجياً يمكن استخدامه مؤقتاً في أي جلسة عمل. المشكلة الأساسية التي يحلها هذا الوضع هي: عندما يتطلب تنفيذ مهمة ما جولات متعددة، ولا يرغب المستخدم في البقاء أمام الطرفية (Terminal) للضغط على "Enter" في كل جولة، يقوم نموذج صغير وسريع بدور "الحكم" ليقرر متى يعتبر Claude أن المهمة قد اكتملت بالفعل.

تتمثل توصيات التنفيذ في ثلاث خطوات: أولاً، كتابة الشروط بشكل كامل باستخدام "رباعية" (نقطة النهاية + التحقق + القيود + الحد الأقصى للجولات)، ثم تحديد ما إذا كنت ستستخدم وضع التفاعل (interactive)، أو -p، أو وضع التحكم عن بعد (Remote Control)، وأخيراً فصل مراقبة حصص التقييم عن النموذج الرئيسي عبر منصات مثل APIYI (apiyi.com). بهذه الطريقة، يمكنك الحصول على كفاءة سير العمل المستقل دون فقدان السيطرة على تكاليف الـ Token.


المؤلف: الفريق التقني لـ APIYI
للتواصل: احصل على دعم الوصول إلى سلسلة نماذج Claude و Claude Code عبر APIYI (apiyi.com)
تاريخ التحديث: 13 مايو 2026

موضوعات ذات صلة