SSD Nodes Learn 🎉 VPS من $4.99/شهر
الأدلة Matt Connorبقلم Matt Connor

الفرق بين مهارات الوكيل وMCP وملفات القواعد

تعرف على الفرق بين مهارات الوكيل وخوادم MCP وملفات القواعد لاختيار الأداة الأنسب لمشروعك. اكتشف تكلفة كل منها في استهلاك الرموز وكيفية تقليل نفقات السياق في وكلاء البرمجة.

مهارات الوكيل (Agent skills) مقابل خوادم MCP مقابل ملفات القواعد: الإجابة المختصرة

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

لهذا الاختيار تكلفة، وتلك التكلفة هي السياق. كل رمز (token) يُنفق على تعليمات لم يحتجها الوكيل هو رمز غير متاح للكود الذي يقرؤه. كما أنك تدفع ثمن هذا الرمز مجدداً في كل دورة، لأن نافذة السياق بأكملها تُرسل من جديد مع كل طلب. لذا، السؤال المفيد ليس أي آلية يمكنها إنجاز المهمة؛ ففي معظم الأيام، يمكن للآليات الثلاث القيام بذلك. السؤال هو أيها يستهلك أقل تكلفة أثناء خموله.

تكلفة كل منها قبل الاستخدام

تُحمَّل هذه العناصر الثلاثة في لحظات مختلفة، وهذا التوقيت هو جوهر الاختلاف بينها.

يُحمَّل ملف القواعد بالكامل عند التشغيل في كل جلسة، سواء كان ذا صلة أم لا. يقرأ Claude Code ملف CLAUDE.md في بداية كل محادثة ويحمّله بالكامل بغض النظر عن طوله. الهدف الموثّق هو أقل من 200 سطر لكل ملف، لأن الملف الأطول يستهلك سياقاً (context) أكبر ويُنفَّذ بشكل أقل موثوقية. هذان التأثيران يدفعان في نفس الاتجاه، ولهذا السبب يكون ملف القواعد المكون من 900 سطر أسوأ من كونه عديم الفائدة.

تُحمَّل المهارة (skill) على مرحلتين. عند بدء التشغيل، يدخل سطر description فقط من مقدمة (frontmatter) كل SKILL.md إلى السياق، ليعرف النموذج وجود المهارة ومتى تنطبق تقريباً. أما متن المهارة فيُحمَّل عند استدعائها. لذا، فإن مستنداً مرجعياً مكوناً من 400 سطر لا يكلّفك شيئاً تقريباً حتى لحظة الحاجة إليه.

كان خادم MCP هو الأكثر تكلفة في السابق، وهنا تكمن النقطة التي تجعل معظم المقارنات التي تقرؤها حالياً قديمة. ميزة البحث عن الأدوات (tool search) مفعّلة افتراضياً في إصدار Claude Code الحالي. لا تُحمَّل عند بدء الجلسة سوى أسماء الأدوات وحقل تعليمات الخادم، بينما يتم تأجيل تحميل مخططات JSON (ترميز كائنات JavaScript) الكاملة حتى يبحث عنها Claude. إضافة خادم لم تعد تكلّف آلاف الرموز (tokens) مقدماً. لا تزال هناك تكلفة، ولا تزال التكلفة تُدفع بالكامل مقدماً في الإعدادات التي تكون فيها ميزة البحث عن الأدوات معطّلة.

ChartStartup and post-use context cost, estimated tokens
The data behind this chart
[
  {
    "label": "Rules file, 200 lines",
    "at_startup": "2,500",
    "after_use": "2,500"
  },
  {
    "label": "Skill, 12 KB body",
    "at_startup": 40,
    "after_use": "3,000"
  },
  {
    "label": "MCP server, tool search on",
    "at_startup": 500,
    "after_use": "3,200"
  },
  {
    "label": "MCP server, tool search off",
    "at_startup": "4,500",
    "after_use": "4,500"
  }
]

هذه تقديرات وليست قياسات من جهازك. وهي مستمدة من حجم النص الذي تحمّله كل آلية، بمعدل أربعة أحرف تقريباً لكل رمز: ملف قواعد من 200 سطر يبلغ حجمه حوالي 10 KB من Markdown، ووصف المهارة يبلغ حوالي 160 حرفاً، والخادم الذي يعرض اثنتي عشرة أداة يحمل حوالي 18 KB من المخططات بالإضافة إلى كتلة تعليمات بحجم 2 KB. يقوم Claude Code باقتطاع وصف كل أداة وحقل تعليمات كل خادم عند 2 KB، لذا فإن هذا الجزء له سقف محدد. يوضح لك القسم التالي كيفية قراءة أرقامك الحقيقية.

اقرأ الصفين الأولين معاً. يكلّف ملف القواعد 2,500 رمزاً في جلسة لم يحتج فيها أحد إليه. تكلّف المهارة 40 رمزاً في نفس الجلسة، و3,000 في الجلسة الواحدة من أصل عشر جلسات التي يتم فيها تفعيلها. الصفان الأخيران يمثلان نفس الخادم مرتين، مع تفعيل وتعطيل البحث عن الأدوات: 500 رمزاً مقابل 4,500. هذه الفجوة هي السبب في استمرار تداول النصائح القديمة حول تضخم سياق MCP.

يحتاج البحث عن الأدوات إلى نموذج يدعم كتل tool_reference، وهو ما يعني اعتباراً من أغسطس 2026 كلاً من Claude Sonnet 4.5 وHaiku 4.5 وOpus 4.5 وما بعدها. يعطّل Claude Code هذه الميزة عندما يشير ANTHROPIC_BASE_URL إلى مضيف ليس من الطرف الأول، لأن معظم الوكلاء (proxies) لا تمرر تلك الكتل. اضبط ENABLE_TOOL_SEARCH للتحكم في ذلك: false يحمّل كل مخطط مقدماً، وtrue يؤجل تحميلها جميعاً، وauto يحمّلها مقدماً فقط عندما تتسع داخل 10% من نافذة السياق.

# Load schemas up front only if they fit in 5% of the window
ENABLE_TOOL_SEARCH=auto:5 claude

السؤال الفاصل: هل تتغير البيانات بين مرات الاستدعاء؟

اطرح هذا السؤال أولاً، لأنه يستبعد أحد الخيارات تماماً. إذا كان الوكيل يحتاج إلى قراءة أو كتابة شيء قد يختلف في المرة التالية التي ينظر فيها، فأنت بحاجة إلى خادم. مثل نظام تتبع المشكلات، أو قاعدة بيانات، أو لوحة تحكم للمراقبة، أو واجهة برمجة تطبيقات (API) داخلية خاصة بك. تدوين البيانات لا يفيد، لأن ما كتبته يصبح قديماً بمجرد أن يقوم شخص آخر بتعديل السجل.

إذا كانت الإجابة ستظل صحيحة بعد ستة أسابيع دون أن يقوم أحد بصيانتها، فأنت بحاجة إلى مهارة (skill). مثل قائمة مراجعة للإصدارات، أو إجراء ترحيل، أو شكل استجابات الخطأ الخاصة بك، أو الطريقة التي يفضل هذا المستودع كتابة الاختبارات بها. المهارة هي ملف داخل git. ليس لها منفذ، ولا عملية (process)، ولا نمط فشل سوى أن تكون خاطئة، وهو أمر يمكن لمراجعة الكود اكتشافه.

إذا كانت حقيقة واحدة يجب أن تنطبق على عمل لم تفكر فيه بعد، ضعها في ملف القواعد. Run make lint before committing. Never push to main. Handlers live in src/api/handlers/. سطر واحد لكل منها. في اللحظة التي يتحول فيها الإدخال إلى خطوات، فإنه يتوقف عن كونه حقيقة ويصبح إجراءً، ويجب نقله إلى مهارة.

متى يكون ملف القواعد كافياً

تُحمَّل ملفات القواعد من عدة مواقع، بدءاً من الأكثر عمومية وصولاً إلى الأكثر تخصيصاً: ملف سياسة مُدار، ملف ~/.claude/CLAUDE.md الشخصي الخاص بك، ملف ./CLAUDE.md أو ./.claude/CLAUDE.md الخاص بالمشروع، وملف ./CLAUDE.local.md المستثنى من git. تُدمج جميع الملفات المكتشفة بدلاً من أن يحل أحدها محل الآخر، وتُقرأ الملفات الأقرب إلى دليل عملك الحالي في النهاية.

يقرأ Claude Code ملف CLAUDE.md، وليس AGENTS.md. إذا كان مستودعك يحتوي بالفعل على AGENTS.md لأدوات أخرى، فلا تحتفظ بنسختين ستختلفان مع مرور الوقت.

ln -s AGENTS.md CLAUDE.md

لا يطبع الرابط الرمزي (symlink) أي شيء عند النجاح. ابدأ جلسة، ونفّذ /context، وتأكد من ظهور CLAUDE.md تحت Memory files. إذا لم يكن مدرجاً هناك، فهذا يعني أن الوكيل لم يره قط ولن تجدي أي إعادة صياغة نفعاً. عندما ترغب أيضاً في إضافة أسطر خاصة بـ Claude، استخدم صيغة الاستيراد (import) وضعها أسفل الاستيراد.

@AGENTS.md

## Claude Code

Use plan mode for changes under `src/billing/`.

هناك فخ واحد هنا. لا تحفظ استيرادات @path السياق. يتم توسيع الملف المستورد وتحميله عند التشغيل بجانب الملف الذي أشار إليه، بعمق يصل إلى أربع مستويات. تقسيم ملف قواعد مكون من 600 سطر إلى ستة استيرادات ينظمه للبشر ولا يغير تكلفة الرموز (tokens) على الإطلاق. الاتفاقيات الكامنة وراء AGENTS.md وتوأمه الموجه للبشر تستحق القراءة قبل الاستقرار على تخطيط معين.

ما يقلل التكلفة فعلياً هو .claude/rules/ مع حقل paths. يتم تحميل ملف القواعد الذي يحتوي على paths في الترويسة (frontmatter) فقط عندما يلمس الوكيل ملفاً يطابق أحد الأنماط.

---
paths:
  - "src/api/**/*.ts"
---

# API rules

- Every endpoint validates its input.
- Use the standard error response shape.

يتم تحميل القاعدة التي لا تحتوي على حقل paths عند التشغيل بنفس أولوية .claude/CLAUDE.md. لذا فإن نمط العمل الفعال هو استخدام قواعد قصيرة غير مشروطة، بالإضافة إلى قائمة paths لأي شيء يهم فقط داخل دليل واحد.

عندما ترغب في إضافة مهارة

المهارة هي عبارة عن دليل يحتوي على ملف SKILL.md بداخله. توجد المهارات الشخصية في المسار ~/.claude/skills/<name>/SKILL.md وتُطبّق على كل مشروع على جهازك. أما مهارات المشروع فتوجد في .claude/skills/<name>/SKILL.md، وتنتقل مع المستودع، ويمكن مراجعتها في طلب سحب (pull request) تماماً مثل أي ملف آخر.

mkdir -p ~/.claude/skills/summarize-changes
---
name: summarize-changes
description: Summarizes uncommitted changes and flags anything risky. Use when the user asks what changed, wants a commit message, or asks to review their diff.
---

Run `git status` and `git diff` against the merge base.
Group the changes by intent, not by file.
Call out anything touching auth, migrations or deletions.

يُعدّ description الجزء الوحيد من ذلك الملف الذي يظهر في السياق قبل تشغيل المهارة، لذا فهو يؤدي مهمتين. فهو يحدد ما تفعله المهارة، ويحدد متى يجب استخدامها. إذا كان الوصف هو "يساعد في عمليات النشر" (Helps with deploys)، فلن يجد النموذج أي شيء لمطابقته مع الطلب، وبالتالي لن تُفعّل المهارة أبداً، وستستنتج خطأً أن المهارات لا تعمل.

يصبح اسم الدليل هو الأمر، لذا فإن المثال أعلاه يمنحك /summarize-changes. في المهارات الشخصية أو مهارات المشروع، يحدد الـ name في الترويسة (frontmatter) تسمية العرض في القوائم فقط.

بمجرد استدعاء المهارة، يدخل محتواها المُعالج إلى المحادثة كرسالة واحدة ويبقى هناك لبقية الجلسة. لا يقوم Claude Code بإعادة قراءة الملف في المرات اللاحقة. اكتب تعليمات دائمة بدلاً من خطوات تُنفذ لمرة واحدة، واجعل المحتوى مختصراً، لأن كل سطر من تلك النقطة فصاعداً يمثل تكلفة متكررة في كل طلب. بعد الضغط التلقائي، يقوم Claude Code بإعادة إرفاق أحدث استدعاء لكل مهارة، مع الاحتفاظ بأول 5,000 رمز (token) من كل منها ضمن ميزانية إجمالية قدرها 25,000 رمز. إذا استدعيت عدة مهارات كبيرة في جلسة واحدة، فسيتم إسقاط أقدمها بالكامل، وهذا هو السبب في أن المهارة قد تبدو وكأنها توقفت عن التأثير بعد محادثة طويلة. استدعِها مجدداً وستعود للعمل. عندما ينطبق الإجراء نفسه على أكثر من قاعدة برمجية، شارك مهارة واحدة عبر عدة مستودعات بدلاً من نسخ الملف في كل مكان.

متى تحتاج إلى خادم MCP

تعد إضافة خادم عملية تتطلب أمراً واحداً فقط، ويحدد بروتوكول النقل شكل هذا الخادم.

# Remote HTTP server
claude mcp add --transport http notion https://mcp.notion.com/mcp

# Remote HTTP server behind a bearer token
claude mcp add --transport http secure-api https://api.example.com/mcp \
  --header "Authorization: Bearer your-token"

# Local stdio server: everything after -- is passed through untouched
claude mcp add --env AIRTABLE_API_KEY=YOUR_KEY --transport stdio airtable \
  -- npx -y airtable-mcp-server

يعد الرمز -- مهماً. بالنسبة لخادم stdio، فهو يفصل خيارات Claude Code الخاصة عن سطر الأوامر الذي يشغل خادمك. إذا حذفت هذا الرمز، فسيتم تفسير أي --port 8080 مخصص للخادم كخيار لـ claude mcp add، والذي سيرفضه بدوره.

claude mcp list
claude mcp get notion

يؤكد claude mcp add العملية عبر سطر Added ...، والذي يخبرك فقط بأن الإعدادات قد كُتبت على القرص. claude mcp list هو الأمر الذي يخبرك بالحقيقة، لأنه يطبع حالة السلامة بجانب كل خادم: ✔ Connected أو ! Needs authentication أو ✘ Failed to connect. تعني حالة الفشل أن Claude Code لم يتمكن من الوصول إلى ذلك الخادم، وليس أن أمر القائمة قد تعطل. داخل الجلسة، يعرض /mcp نفس الرؤية لكل خادم بالإضافة إلى عدد الأدوات المتاحة.

كل استدعاء لخادم MCP مستقل بذاته ويحمل كل ما يحتاجه، وهذا هو سبب عدم تذكر خادم MCP لطلبك السابق. هذا خيار تصميمي يترتب عليه نتيجة ستتحملها: أي حالة تستحق الحفظ يجب أن تبقى خلف الخادم، في قاعدة بيانات أو ملف، وهذا أمر أصبحت أنت المسؤول عن تشغيله.

خادم MCP هو عملية يجب عليك تشغيلها

هذه هي التكلفة التي تغفلها مقارنات الموردين. المهارة (Skill) هي مجرد ملف. أما خادم MCP فهو برنامج يعمل في مكان ما، وعندما يكون هذا المكان هو خادمك الافتراضي الخاص (VPS)، فأنت المسؤول عن استمرارية عمله.

خادم stdio هو الحالة الأقل تكلفة. يقوم Claude Code بإنشائه كعملية فرعية عند بدء الجلسة، وينتهي بانتهاء الجلسة. لا شيء يستدعي المراقبة، ولا شيء يحتاج إلى تحديثات دورية مستقلة. أما خادم HTTP البعيد فهو خدمة طويلة الأمد، ويحتاج إلى ما تحتاجه أي خدمة من هذا النوع.

[Unit]
Description=Notes MCP server
After=network-online.target
Wants=network-online.target

[Service]
User=mcp
WorkingDirectory=/srv/notes-mcp
ExecStart=/usr/bin/node /srv/notes-mcp/dist/server.js
Environment=PORT=8931
Restart=on-failure
RestartSec=5
NoNewPrivileges=true
PrivateTmp=true

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now notes-mcp
systemctl is-active notes-mcp
journalctl -u notes-mcp -n 50 --no-pager

يجب أن يطبع systemctl is-active المخرج active. إذا طبع failed، فإن السجلات (journal) تحتوي على السبب، وفي التشغيل الأول يكون السبب غالباً متغيراً بيئياً مفقوداً أو منفذاً مشغولاً بواسطة عملية أخرى. استخدام Restart=on-failure ليس اختيارياً هنا، لأن خادم MCP الذي يتعطل لا يعلن عن نفسه. ستكتشف الأمر فقط عندما يخبرك الوكيل (agent) أنه لا يستطيع قراءة نظام تتبع المشكلات الخاص بك.

اربط العملية بـ 127.0.0.1 وضع خادماً عكسياً (reverse proxy) مع TLS (أمن طبقة النقل) أمامه. خادم MCP يصل إلى قاعدة بياناتك ويستجيب على منفذ عام دون مصادقة هو بمثابة قاعدة بيانات منشورة للعامة. يغطي الرابط تشغيل خادم MCP على خادم VPS جوانب الوكيل والشهادة وجدار الحماية بشكل صحيح.

بعد ذلك، احسب العمل المتكرر بصدق. تتلقى الخدمة تحديثات أمنية وفق جدولها الخاص، بشكل منفصل عن الوكيل الذي يتواصل معها. تنتهي صلاحية رمز OAuth الخاص بها، ويبدأ claude mcp list بطباعة ! Needs authentication في وقت غير مناسب. توجد بيانات الاعتماد في ملف إعداد أو في ترويسة Authorization، لذا فهي تحتاج إلى نفس العناية التي تتطلبها أي أسرار أخرى، وهو موضوع مستقل بذاته: إبقاء الأسرار بعيداً عن متناول وكيل الذكاء الاصطناعي. لا وجود لأي من هذا العمل في حالة المهارات.

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

كيفية قياس تكلفة السياق الخاصة بك

توقف عن التخمين وقم بتشغيل /context داخل الجلسة. سيقوم هذا الأمر بطباعة تفاصيل الإقلاع: مطالبة النظام (system prompt)، وملفات الذاكرة، والأدوات، وخوادم MCP، مع وزن الرموز (tokens) لكل منها.

تحقق من أمرين. ضمن ملفات الذاكرة (Memory files)، تأكد من إدراج كل ملف قواعد تتوقعه. الملف المفقود غير مرئي للوكيل، لذا فهذا هو أول شيء يجب استبعاده عندما يتم تجاهل التعليمات. ثم انظر إلى تكلفة خوادمك. إذا كان أحد الخوادم التي تستخدمها مرتين في الشهر يمثل أحد أكبر البنود في تلك القائمة، فقم بإيقاف تشغيله في /mcp وأعد تشغيله للجلسات التي تحتاجه. يتم الاحتفاظ بالإعداد في كلتا الحالتين.

يمكن للخادم البعيد أيضاً الإبلاغ عن حالة مثل cached 2h ago · connects on first use · 5 tools. هذا يعني أن Claude Code قرأ قائمة الأدوات من جلسة سابقة بدلاً من الاتصال عند الإقلاع، وسيتصل في المرة الأولى التي يتم فيها استدعاء أداة. الأدوات متاحة منذ رسالتك الأولى، لذا لا يوجد شيء يحتاج إلى إصلاح. اضبط MCP_DISCOVERY_CACHE=0 إذا كنت تفضل اتصال كل خادم عند الإقلاع. للحصول على صورة أوسع، يغطي إدارة نافذة سياق Claude Code ما يبقى بعد الضغط، ويحول ما تكلفك تلك الرموز فعلياً الأرقام إلى مبالغ مالية.

لماذا لا يتم تفعيل مهارتي أبداً؟

السبب المعتاد هو description. إنه النص الوحيد الموجود في السياق قبل تشغيل المهارة، لذا إذا لم يحدد الموقف بدقة، فلن يتطابق أي شيء معه. اكتب المشغّل (trigger) داخل الجملة: "استخدمه عندما يسأل المستخدم عما تغير، أو يريد رسالة commit، أو يطلب مراجعة الـdiff الخاص به." الأوصاف الغامضة تفشل بصمت، مما يجعل اكتشاف المشكلة أمراً صعباً.

السبب الثاني هو خطأ مطبعي في الـfrontmatter، وهذا الخطأ يظهر بوضوح. يتم رفض أي مفتاح غير معروف مباشرة:

Unexpected key(s) in SKILL.md frontmatter: argument-hint. Allowed properties are: allowed-tools, compatibility, description, license, metadata, name

السبب الثالث هو الموقع. يتم تحميل مهارات المشروع من .claude/skills/ في دليل العمل الخاص بك وفي كل دليل أب وصولاً إلى جذر المستودع. المهارات الموجودة في الأدلة المتداخلة أسفل المكان الذي بدأت منه لا يتم تحميلها عند التشغيل. تظهر هذه المهارات في المرة الأولى التي يقرأ فيها الوكيل ملفاً أو يعدله داخل ذلك الدليل الفرعي، لذا فهي لا تظهر في الإكمال التلقائي ولا يمكن استدعاؤها بالاسم حتى ذلك الحين.

المكافئ لـ MCP لهذا الفشل الصامت هو إدخال .mcp.json مع url وبدون type. يقرأ Claude Code أي إدخال بدون type على أنه خادم stdio، لذا فإنه يتخطى الإدخال ويبلغ عن:

MCP server "notes" has a "url" but no "type"; add "type": "http" (or "sse" / "ws") to this entry

استخدام الآليات الثلاث معاً

لا تتنافس هذه الآليات على الدور نفسه. الإعداد الناجح هو الذي يستخدم كل آلية حيث تكون تكلفتها منخفضة. يحتوي ملف القواعد على بضعة أسطر صحيحة في كل الظروف. بينما تحتوي المهارات على الإجراءات التي لا تُحمّل إلا عند الحاجة إليها. أما خادم MCP واحد، أو اثنان في حالات نادرة، فيربط الأنظمة التي لا يمكنك التنبؤ بمحتوياتها مسبقاً. إذا كنت لا تزال تبني تصورك الذهني عن المهارة الأولى، فإن ماهية مهارة الوكيل فعلياً تغطي التنسيق بالتفصيل.

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

FAQ

هل يجب عليّ كتابة مهارة (skill) أم تشغيل خادم MCP؟

اتخذ قرارك بناءً على ما إذا كانت المعلومات تتغير بين استدعاء وآخر. إذا كان على الوكيل قراءة حالة مباشرة يمكن لأي شخص آخر تعديلها، مثل نظام تتبع المشكلات، أو قاعدة بيانات، أو لوحة تحكم، فأنت بحاجة إلى خادم MCP، لأن أي شيء تكتبه يصبح قديماً بمجرد تغير السجل. إذا كان بإمكانك كتابة الإجابة مرة واحدة وتظل صحيحة بعد ستة أسابيع، فاكتب مهارة. المهارة هي ملف في git لا يتطلب عملية للتشغيل، ولا منفذاً للكشف عنه، ولا جدولاً للتصحيحات، لذا فهي الخيار الأقل تكلفة كلما كان ذلك ممكناً.

هل لا تزال خوادم MCP تستهلك نافذة السياق (context window) الخاصة بي؟

بدرجة أقل بكثير مما كانت عليه في السابق. تم تفعيل البحث عن الأدوات افتراضياً في Claude Code الحالي، لذا يتم تحميل أسماء الأدوات وحقل تعليمات الخادم فقط عند بدء الجلسة، بينما يتم جلب المخططات الكاملة عندما يبحث عنها Claude. لا يزال التحميل المسبق يحدث عند إيقاف البحث عن الأدوات: مع ENABLE_TOOL_SEARCH=false، أو عند توجيه ANTHROPIC_BASE_URL إلى وكيل (proxy) ليس من الطرف الأول، أو عند استخدام نموذج أقدم من جيل Claude 4.5. شغّل /context لمعرفة الحالة التي أنت فيها، لأن الأرقام الواردة في منشورات المقارنة القديمة تفترض حدوث تحميل مسبق.

هل يقرأ Claude Code ملف AGENTS.md؟

لا. يقرأ Claude Code ملف CLAUDE.md. إذا كان مستودعك يحتوي بالفعل على AGENTS.md لوكلاء آخرين، فقم بتوجيه أحدهما إلى الآخر بدلاً من الاحتفاظ بنسختين. شغّل ln -s AGENTS.md CLAUDE.md لإنشاء رابط رمزي (symlink) بسيط، أو ضع @AGENTS.md في السطر الأول من CLAUDE.md وأضف التعليمات الخاصة بـ Claude أسفله. بعد ذلك، ابدأ جلسة وشغّل /context للتأكد من ظهور CLAUDE.md ضمن ملفات الذاكرة (Memory files).

لماذا توقفت مهاراتي عن التأثير في منتصف الجلسة؟

الضغط التلقائي (Auto-compaction) هو السبب المعتاد. عند تلخيص المحادثة، يقوم Claude Code بإعادة إرفاق أحدث استدعاء لكل مهارة، مع الاحتفاظ بأول 5,000 رمز (token) من كل منها، ضمن ميزانية إجمالية قدرها 25,000 رمز عبر جميع المهارات. يتم ملء هذه الميزانية بدءاً من المهارة التي تم استدعاؤها مؤخراً، لذا إذا استدعيت عدة مهارات كبيرة، فسيتم إسقاط المهارات الأقدم تماماً. استدعِ المهارة مرة أخرى لاستعادة محتواها الكامل.

كيف أمنع تحميل ملف قواعد طويل في كل جلسة؟

انقل الأجزاء التي تهمك في بعض الأحيان فقط إلى ملفات .claude/rules/ مع حقل paths في ترويستها (frontmatter)، بحيث يتم تحميل كل منها فقط عندما يلمس الوكيل ملفاً مطابقاً. تقسيم الملف إلى استيرادات @path لا يساعد، لأن الملفات المستوردة يتم توسيعها وتحميلها عند الإطلاق جنباً إلى جنب مع الملف الذي أشار إليها. أي إجراء متعدد الخطوات بدلاً من كونه حقيقة ثابتة يجب أن يتحول إلى مهارة، حيث إن نص المهارة لا يكلف شيئاً حتى يتم استدعاؤها.