الوحدة 2 — الحلقة الوكيليّة والأدوات المدمجة ونافذة السياق
وضعت الوحدة 1 Claude Code بين يديك؛ وهذه الوحدة ترفع الغطاء. فهم الحلقة الوكيليّة، وما يفعله كلّ أداة مدمجة، هو فهم لماذا قد تُكلّف جلسة عُشر ما تكلّفه جلسة مماثلة بعمل مكافئ. تلي ذلك الأوامر التي تقود السياق — /context و/compact و/clear و/btw و/usage — ثمّ، على Kiosque، رسم خريطة وضغط مُوجَّه.
الحلقة: سياق، فعل، تحقّق
حين تُقدّم مهمّة، لا يكتب Claude شيفرة فورًا. بل يُدير حلقة بثلاث مراحل تتداخل: جمع سياق بقراءة ملفّات وبحث، فعل باستدعاء أدوات تُحرِّر أو تُنفّذ، تحقّق بتشغيل اختبارات أو lint أو أمر. كلّ استدعاء أداة يُعيد نتيجة يُلاحظها النموذج وتُغذّي القرار التالي. ليست هذه سلسلة إنتاج: يستطيع Claude أن يقرأ ويُحرّر ويُعيد القراءة ويُصحّح ويُعيد تشغيل الاختبارات، في نحو عشر تكرارات ضمن التور نفسه.
مكوّنان يُشغّلان الحلقة: النموذج الذي يستدلّ (يُختار عبر /model، وضبط الجهد عبر /effort)، والأدوات التي تعمل. الباقي — Claude Code — هو agentic harness: يُوفّر الأدوات، ويُدير السياق، وينفّذ، ويُعيد النتائج. وأنت تبقى داخل الحلقة: Esc يُقاطع النداء الجاري، وكتابة تصحيح دون إيقاف يُغيّر المسار في التور التالي دون فقدان العمل الجاري.
جرد الأدوات المدمجة
تنتظم الأدوات المدمجة في خمس عائلات وظيفيّة. الأسماء المذكورة أدناه هي المعرِّفات الحرفيّة المستعملة في قواعد الأذونات (Outil(...))، وقوائم tools: للوكلاء الفرعيّين، وmatchers الخاصّة بـhooks.
- الملفّات:
Readيقرأ،Editيُنفّذ استبدالاً مُستهدفًا،Writeيُنشئ أو يُبدّل،NotebookEditيُعدّل خليّة Jupyter. لا يطلبReadإذنًا داخل مسار العمل؛ ويطلبانهEditوWriteفي الوضع اليدويّ. قاعدةEdit(...)تمنح ضمنيًّاReadالمقابل. - البحث:
Grep(نمط داخل المحتوى)،Glob(نمط اسم)،LSP(تعريفات، مراجع، تشخيصات نوعيّة — عبر إضافة code intelligence). - التنفيذ:
Bash(shell Unix)،PowerShell(Windows، حين يُفعَّل)،Monitor(عمليّة في الخلفيّة تُرجع كلّ سطر مخرج إلى Claude). - الويب:
WebFetch(URL)،WebSearch(بحث). - التنسيق:
Agent(وكيل فرعيّ بنافذته الخاصّة)،Skill(يُحمّل skill)،AskUserQuestion(سؤال متعدّد الخيارات)،SendMessageوListAgents(مراسلة بين الجلسات).
تُضاف إليها أدوات خدميّة: EnterPlanMode / ExitPlanMode (وضع plan، الوحدة 8)، EnterWorktree / ExitWorktree (git worktrees)، TaskCreate / TaskList / TaskUpdate (قائمة مهامّ)، CronCreate / CronList / CronDelete (prompts مجدولة عبر /loop)، RemoteTrigger (روتينات سحابيّة عبر /schedule)، ToolSearch (تحميل عند الطلب لأدوات MCP المؤجَّلة)، Workflow (workflow ديناميكيّ)، PushNotification (إشعار سطح مكتب أو موبايل). TodoWrite مُعطَّل افتراضيًّا لصالح عائلة Task*.
الأدوات التي تطلب إذنًا افتراضيًّا هي التي تكتب أو تنفّذ: Bash وEdit وWrite وNotebookEdit وPowerShell وMonitor وWebFetch وWebSearch وEnterWorktree وSkill وWorkflow وArtifact. يستثنى Bash لمجموعة معرَّفة من أوامر القراءة فقط (ls، pwd، git status) لا تطرح سؤالًا؛ يُضيف Bash(git log *) ما نشاء إلى قائمة السماح.
تتبع قاعدة الإذن دائمًا الصيغة Outil(spécifieur). لـBash، المُحدِّد نمط أمر (Bash(npm run *))؛ لـRead/Edit/Write، مسار (Edit(app/**))؛ لـWebFetch، مجال (WebFetch(domain:docs.example.com))؛ لـSkill، اسم (Skill(deploy *)). تُفصِّل الوحدة 7 كلّ التوليفات.
نافذة السياق: ما يملؤها
نافذة السياق هي كلّ ما يراه Claude في كلّ تور. تحتوي، بالترتيب:
- prompt النظام: تعليمات الأساس، تعريفات الأدوات،
output-styles، نصّ--append-system-prompt. - سياق المشروع: ملفّات
CLAUDE.mdالمدمَجة من أعلى الشجرة إلى مجلّدك، القواعد بلاpaths:، الذاكرة التلقائيّة (أوّل 200 سطر أو 25 كيلوبايت منMEMORY.md)، أوصاف skills. - تعريفات أدوات MCP — فقط الأسماء وتعليمات الخادم: المخطّطات الكاملة مؤجَّلة عبر tool search (الوحدة 11).
- المحادثة: رسائلك، ردود Claude، نتائج الأدوات.
الطبقات الثلاث الأولى نادرًا ما تتغيّر من تور إلى آخر: هنا يعمل كاش الطلبات. أمّا الرابعة، فتتمدّد وتُعاد ضغطها عند الحاجة.
يعرض /context شبكة ملوَّنة للاستهلاك، مع اقتراحات تحسين، وملفّات الذاكرة المحمّلة، وكلفة خوادم MCP، والتجاوز إن وُجد. مرِّر all لتفصيل كلّ عنصر. اقرأ /context قبل أيّ compact: هي الطريقة الوحيدة الموثوقة لمعرفة من يلتهم الرموز.