وكلاء Claude المدارون: دليل تطبيقي (2026)
١٧ سبتمبر ٢٠٢٦

في 3 سبتمبر 2026، حصلت أداة سطر الأوامر ant من Anthropic على أمر فرعي جديد: ant apply. يقوم هذا الأمر بقراءة تعريفات العميل (agent)، والبيئة (environment)، والمهارة (skill)، ومخزن الذاكرة (memory store)، وتعريفات النشر (deployment) من ملفات في مستودعك ومزامنتها مع Claude API — وهو نفس سير عمل "التخطيط ثم التنفيذ" (plan-then-apply) الذي جعلته Terraform معياراً للبنية التحتية السحابية، ولكن هذه المرة موجه نحو موارد Claude Managed Agents بدلاً من الخوادم12.
ملخص
يقوم الأمر ant apply <path> بإنشاء أو تحديث موارد Claude Managed Agents من ملفات Markdown أو YAML أو JSON، ويعرض لك خطة عمل، ثم يكتب ملف claude-lock.json عند الموافقة لضمان أن التشغيل التالي سيحدث نفس الموارد بدلاً من تكرارها. يتطلب الأمر إصدار CLI 1.30.0 أو أحدث، والذي تم إصداره في 3 سبتمبر 2026، ويعمل في بيئة CI باستخدام --yes أو --dry-run12.
ما ستتعلمه
- كيفية التصريح عن Claude Managed Agent، وبيئة، ومخزن ذاكرة، ونشر مجدول كملفات في مستودع واحد، وتحويلها إلى موارد API حقيقية باستخدام
ant apply - كيف يحدد
ant applyنوع الملف من خلال مساره، والطريقتين المختلفتين اللتين يتم بهما معاقبة الملف ذو الاسم الخاطئ — إحداهما بصمت، والأخرى بخطأ صريح - ماذا يوجد داخل
claude-lock.json، ولماذا يجب عليك رفعه (commit) بدلاً من تجاهله - مشكلتان خفيتان في إرشادات CI الخاصة بـ Anthropic قد تؤديان بصمت إلى تعطل إعداد GitHub Actions المنسوخ
- كيفية مصادقة وظيفة CI مقابل Claude API باستخدام Workload Identity Federation بدلاً من مفتاح مخزن
- ما هي المعايير التي تم التحقق من أمثلة ملفات هذا البرنامج التعليمي بناءً عليها، نظراً لعدم توفر مفتاح API حي لتشغيلها فعلياً
أداتان لسطر الأوامر، يفصل بينهما حرف واحد
أداة ant ليست هي claude. أداة ant CLI هي عميل سطر الأوامر من Anthropic لـ Claude API نفسه — حيث يتم عرض كل مورد من موارد API، بما في ذلك Managed Agents، كأمر فرعي3. أما claude فهي أداة Claude Code CLI المنفصلة للبرمجة المعتمدة على الوكلاء (agentic coding) في الطرفية (terminal).
من المفترض أن تعمل الأداتان معاً. يمكن لـ Claude Code استدعاء ant مباشرة، وتحليل مخرجاته المهيكلة، والتعامل مع موارد API الخاصة بك دون أي كود تكامل مخصص، كما في حالة "سرد جلسات الوكيل الأخيرة وتلخيص الجلسات التي حدث بها خطأ"4.
هذا المنشور يتحدث عن ant، وتحديداً الأمر الفرعي apply.
المتطلبات الأساسية
- أداة
antCLI، الإصدار 1.30.0 أو أحدث. يتم التثبيت باستخدامbrew install anthropics/tap/antعلى macOS، أو مثبت curl الموثق لـ Linux و WSL، أوgo installمن المصدر3. - استخدم
ant --versionللتأكد من أن إصدارك أعلى من 1.30.0. حتى وقت كتابة هذا البرنامج التعليمي، الإصدار الحالي هو 1.33.0 (15 سبتمبر 2026)، ولم يتغير أي شيء بين 1.30.0 و 1.33.0 في سلوك أو أعلام (flags) الأمرapply25.
ant auth login لجلسة OAuth تفاعلية، أو Workload Identity Federation لـ CI — يتم تغطية ذلك قرب نهاية هذا المنشور36.ANTHROPIC_API_KEY فقط إذا كنت ترغب في تشغيل أي من هذا مقابل مساحة عمل حقيقية. راجع قسم "التحقق" أدناه لمعرفة ما تم فحصه في أمثلة هذا البرنامج التعليمي وما لم يتم فحصه.تطبيق أول عميل (Agent) لك
العميل (Agent) هو مصطلح Anthropic لتكوين قابل لإعادة الاستخدام وله إصدار محدد: يتكون من النموذج، ومطالبة النظام (system prompt)، والأدوات، والمهارات المجمعة معاً والتي يتم الرجوع إليها بواسطة معرف (ID) في كل مرة تبدأ فيها جلسة7. اكتب واحداً كملف Markdown تحت agents/، ثم قم بتطبيقه:
ant apply agents/summarizer.md
---
name: Summarizer
model: claude-opus-5
tools:
- type: agent_toolset_20260401
---
You are a helpful assistant that writes concise summaries.
تحتوي الـ frontmatter على حقول تكوين العميل — وهي نفس الحقول التي سترسلها إلى نقطة نهاية إنشاء العميل — ويصبح نص الجسم هو مطالبة النظام الخاصة به. يستنتج ant apply أن هذا الملف هو عميل لأنه موجود تحت agents/1.
في طرفية (terminal) تفاعلية، يقوم ant apply بطباعة خطة وينتظر:
First apply ./claude-lock.json does not exist yet and will be created
Resources will be created with
credentials API key (--api-key / ANTHROPIC_API_KEY)
host api.anthropic.com
organization 1b0c2a4d-6c1f-4f0e-9a57-2e8d1c3b4a5f
workspace wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ
Preview ./claude-lock.json (new)
± Name Plan
+ ./agents/summarizer.md create
Resources + 1 to create
Apply these changes? (y)es / (n)o / (d)etails y
Apply ./claude-lock.json
± Name Status
+ ./agents/summarizer.md created agent_011CYm1BLqPXpQRk5khsSXrs
Resources + 1 created
State written to ./claude-lock.json
الإجابة بـ d تعرض التفاصيل الكاملة لكل حقل قبل أن تعتمدها. يقوم --dry-run بطباعة نفس الخطة التفصيلية ويخرج دون تغيير أي شيء أو كتابة ملف قفل (lockfile)1.
ماذا يوجد داخل claude-lock.json
يقوم أول ant apply بكتابة ملف قفل في أي دليل قمت بتشغيله منه — قم بتشغيله من جذر المستودع (repository root). يسجل الملف أي ملف أنشأ أي مورد، وأين:
{
"version": 1,
"origin": {
"base_url": "https://api.anthropic.com",
"organization_id": "1b0c2a4d-6c1f-4f0e-9a57-2e8d1c3b4a5f",
"workspace_id": "wrkspc_01JwQvzr7rXLA5AGx3HKfFUJ"
},
"resources": {
"./agents/summarizer.md": {
"kind": "agent",
"id": "agent_011CYm1BLqPXpQRk5khsSXrs",
"version": "1",
"hash": "d23251c8d99b3613a64f3f8d87f5fad4",
"remote_hash": "1b771bee5bdbf600a5ad972fdac32d94"
}
}
}
قم بتثبيت (Commit) هذا الملف مع الكود الخاص بك. هذه هي الطريقة التي يجد بها التشغيل التالي — سواء كان تشغيلك أو تشغيل CI — نفس الموارد بدلاً من إنشاء موارد جديدة، وهو المكان الذي تقرأ منه المعرف الحقيقي للمورد بمجرد وجوده. تقوم البصمتان (hashes) بتحديد ما أرسله ملفك مؤخراً وما أعاده الـ API مؤخراً، وهو ما يسمح لتشغيل لاحق بالتمييز بين ملف تم تعديله ومورد قام شخص ما بتغييره خارج هذه الملفات تماماً1.
تطويره إلى مشروع
توضح وثائق Anthropic ذلك من خلال إعداد مراجع لطلبات السحب (pull-request reviewer). وللحفاظ على هذا الأمر ملموساً وتجنب مجرد إعادة كتابة مثالهم، إليك نفس الآليات المطبقة على مشكلة مختلفة: فريق عملاء صغير يقوم بصياغة وتدقيق حقائق منشورات المدونة وفق جدول زمني — وبالمصادفة، هذا قريب من نوع خط الإنتاج الذي أنتج هذا المنشور. كل حقل أدناه هو حقل حقيقي وموثق؛ السيناريو فقط هو الأصلي.
يتخطى هذا المشروع النوع الخامس، المهارات (skills)، عن قصد: المهارة هي دليل يحتوي على SKILL.md في جذره، ويتم رفعه كحزمة واحدة، وليس ملف YAML أو JSON أو Markdown واحد مثل الأنواع الأربعة الأخرى — وهو مختلف ميكانيكياً بما يكفي ليستحق مثالاً خاصاً به بدلاً من مجرد إدخال رمزي هنا1.
خمسة ملفات، أربعة أنواع:
agents/fact-checker.md
agents/writer.md
environments/sandbox.yaml
memory_stores/style-notes.yaml
deployments/nightly-draft.md
agents/fact-checker.md — عميل فرعي ليس لديه قائمة مهام خاصة به:
---
name: Fact Checker
model: claude-opus-5
tools:
- type: agent_toolset_20260401
description: Verifies claims in a draft against live sources before it ships.
---
Check every statistic, date, and named source in the draft you're given.
Flag anything you can't verify instead of guessing at it.
agents/writer.md — المنسق، الذي يفوض المهام إلى مدقق الحقائق عبر مسار نسبي:
---
name: Draft Writer
model:
id: claude-opus-5
effort: high
tools:
- type: agent_toolset_20260401
multiagent:
type: coordinator
agents:
- ./fact-checker.md
---
Draft a technical blog post about agentic AI, then hand the draft to your
fact-checker subagent before you finish.
قائمة multiagent.agents الخاصة بالمنسق هي بالضبط الطريقة التي تدرج بها العملاء الذين يمكنه التفويض إليهم، ويقوم ant apply بحل هذا المسار النسبي إلى المعرف الحقيقي لمدقق الحقائق بمجرد تطبيق كلا الملفين — بترتيب التبعية، بحيث يكون العميل الفرعي موجوداً قبل أن يشير إليه المنسق781.
environments/sandbox.yaml — الساندبوكس السحابي الذي يعمل فيه كلا العميلين:
name: blog-pipeline-sandbox
config:
type: cloud
packages:
pip:
- pyyaml
networking:
type: limited
allowed_hosts:
- api.example-cms.com
allow_package_managers: true
يعد allow_package_managers: true مطلوباً كلما تم تعيين packages في بيئة شبكة limited؛ حيث يؤدي تركه يؤدي إلى خطأ 400، حتى لو كان المضيف الخاص بسجل الحزم موجوداً في allowed_hosts9.
memory_stores/style-notes.yaml — ملاحظات مشتركة بين الجلسات يراجعها الكاتب قبل الصياغة:
name: House Style Notes
description: >-
Corrections and fact-check findings from past drafts, for the writer
agent to check before drafting a new one.
وصف description الخاص بمخزن الذاكرة هو ما يقرأه العميل لفهم الغرض من المخزن؛ فهو ليس تعليقاً للبشر10.
deployments/nightly-draft.md — مشغل cron، المرتبط بمخزن الذاكرة والذي يحمل سقف إنفاق لكل عملية تشغيل:
---
name: Nightly draft run
agent: ../agents/writer.md
environment_id: ../environments/sandbox.yaml
resources:
- path: ../memory_stores/style-notes.yaml
access: read_write
schedule:
type: cron
expression: "0 6 * * *"
timezone: UTC
budget:
type: limit
max_list_cost:
amount: "500"
currency: USD
---
Draft tonight's post and hand it to the fact-checker before you finish.
العمليات المكتوبة بصيغة Markdown تعمل بشكل مختلف عن الأنواع الأخرى: لا يزال الـ frontmatter يحتوي على جسم الطلب، ولكن بدلاً من مصفوفة initial_events منفصلة، يتم استخدام نص Markdown نفسه كرسالة تفتح كل جلسة1.
تقبل عمليات النشر موارد مخزن الذاكرة، والملفات، و GitHub من خلال نفس مصفوفة resources التي تستخدمها الجلسة، حيث يشير كل إدخال إلى ملف وفقاً لنفس قاعدة المسار النسبي الموضحة أعلاه. يستخدم هذا الإدخال read_write حتى تتمكن جلسة صياغة الكاتب من إضافة تصحيحاتها الخاصة إلى المخزن، وليس مجرد قراءة ما هو موجود بالفعل1110.
يأخذ حقل budget نفس شكل ميزانية الجلسة ويتم نسخه في كل عملية تشغيل يبدأها النشر، لذا فهو يحدد سقف كل عملية تشغيل على حدة بدلاً من العمل كحد تراكمي عبر عملية النشر بأكملها. سقف "500" هنا يسمح بإنفاق ما يصل إلى حوالي 5 دولارات بتكاليف الأسعار العامة لأي عملية تشغيل ليلية واحدة، وليس 5 دولارات إجمالاً عبر جميع عمليات التشغيل11.
قم بتطبيق المجلد بالكامل في أمر واحد:
ant apply .
يقوم ant apply بإنشاء البيئة، ومخزن الذاكرة، ومدقق الحقائق أولاً — حيث لا يشير أي من هذه الملفات الثلاثة إلى أي شيء آخر — ثم الكاتب، لأن ملفه يشير إلى مدقق الحقائق، وأخيراً عملية النشر، لأنها تشير إلى البيئة ومخزن الذاكرة والكاتب. ينتهي الأمر بـ claude-lock.json بخمسة إدخالات، إدخال واحد لكل ملف.
كيف يعمل استنتاج النوع فعلياً
يحدد ant apply ماهية الملف من خلال التحقق من ثلاثة أشياء، بهذا الترتيب الدقيق، والتوقف عند أول تطابق1:
- حقل
typeفي المستوى الأعلى مكتوب مباشرة في الملف. - المجلد الذي يوجد فيه الملف:
agents/، أوenvironments/، أوmemory_stores/، أوdeployments/. - اسم ملف يبدأ باسم النوع، مثل
environment_staging.mdالموجود خارج أي من تلك المجلدات.
ينتج عن هذا الترتيب نمطان من الفشل، ولا يتم التنبيه لأي منهما بشكل واضح. الملف الذي لا يطابق أياً من القواعد الثلاث يُفقد بصمت إذا كان بتنسيق Markdown — حيث تنص الوثائق صراحة على أن "ملف Markdown المسمى الذي لا يطابق أي قاعدة يتم التعامل معه كـ agent". قم بتغيير اسم agents/notes.md إلى docs/notes.md خارج أي دليل معروف ومرره بالاسم في سطر الأوامر، وسيحاول ant apply إنشاءه كـ agent بدلاً من إظهار خطأ.
حالة YAML و JSON هي العكس وأكثر وضوحاً: نفس الموقف لملف .yaml أو .json يؤدي إلى خطأ جسيم بدلاً من تصنيف خاطئ صامت1. أما الملفات التي لا تطابق أياً من القواعد الثلاث ولم يتم تسميتها صراحة في سطر الأوامر — مثل ملفات README أو إعدادات CI — يتم تخطيها تماماً، وهو الخيار الافتراضي الآمن لكل ما ليس مقصوداً تطبيقه.
كشف الانحراف (Drift detection): عندما يربح الـ Console الجدال
إذا قام شخص ما بتعديل أو أرشفة أو حذف مورد خارج هذه الملفات — في Claude Console على سبيل المثال — فإن عملية ant apply التالية لهذا الملف لا تقوم بمسح التغيير بصمت. تنتهي الخطة بعبارة This plan cannot be applied: مع ذكر السبب المحدد، ثم يخرج الأمر بـ refusing to apply1.
يقوم --force بمسح التعديل الذي تم خارج النطاق، أو إنشاء مورد بديل إذا تم حذف المورد الأصلي. وفي غياب --force، لا يمكن لـ ant apply تبني مورد موجود بالفعل ولكن لم يتم إنشاؤه من خلال هذه الملفات في المقام الأول — بما في ذلك أي شيء تم إنشاؤه عبر الـ Console أو ant beta:agents create مباشرة.
إذا وجهت ملفاً إلى إعدادات agent موجود بالفعل دون أن يكون هذا الـ agent في ملف القفل (lockfile)، فإن ant apply ينشئ agent ثانياً منفصلاً بدلاً من التعرف على الأول كطابق1.
خداعان تخفيهما فقرة CI الخاصة بـ Anthropic
كلا هذين الأمر ينبعان مباشرة من قسم "Run ant apply in CI" في وثائق Anthropic — فهما ليسا حالات نادرة تم اكتشافها بالتجربة والخطأ، بل مجرد تفاصيل يسهل تخطيها عند القراءة الأولى1.
الأمر ant apply --yes المجرد يتخطى الملفات الجديدة بصمت. نمط CI الموثق من Anthropic هو تسمية دليل المشروع دائماً — ant apply --yes . — تحديداً لأن ant apply --yes المجرد بدون وسيط للمسار "يقوم بتسوية الملفات التي يتتبعها ملف القفل بالفعل فقط ويتخطى أي ملف مضاف حديثاً".
أضف ملفاً سادساً إلى مشروع blog-pipeline أعلاه وانسَ تسمية الدليل في مهمة CI الخاصة بك، ولن يتم إنشاء هذا المورد الجديد أبداً — دون أي خطأ، لأن تخطي ملف غير متتبع لا يُعامل كفشل1.
--dry-run يبلغ عن النجاح حتى عندما يرفض التطبيق الفعلي التنفيذ. خطة --dry-run "تخرج بالكود 0 حتى عندما تكون الخطة محظورة". طلب السحب (pull request) الذي تظهر خطوة --dry-run فيه عبارة This plan cannot be applied: بسبب تعارض في الانحراف لا يزال يجتاز الـ CI، لأن كود الخروج لا يعكس ذلك. قراءة نص الخطة المطبوع — وليس فقط كود الخروج — هي الطريقة الوحيدة التي يكتشف بها فحص الـ PR هذا الأمر قبل أن يقوم شخص ما بدمجه ويرفض التطبيق الفعلي التنفيذ1.
تشغيله في CI باستخدام Workload Identity Federation
توصية Anthropic الخاصة بـ CI هي تخطي مفاتيح API المخزنة تماماً والمصادقة باستخدام Workload Identity Federation (WIF): حيث يقوم مزود CI الخاص بك بإصدار رمز OIDC قصير المدى، وتقوم Anthropic بالتحقق من صحته مقابل القواعد التي تقوم بتكوينها مرة واحدة في Console، وتستبدله برمز API لـ Claude يكون عادةً صالحاً لدقائق، وليس شهوراً، قبل أن تنتهي صلاحيته61.
نمط CI الموثق يتكون من ثلاثة أجزاء:
- عند طلبات السحب (pull requests):
ant apply --dry-run .، لغرض إعلامي فقط، لإظهار الخطة للمراجعين. - بعد الدمج في الفرع الافتراضي:
ant apply --yes .. - في نهاية المهمة، قم بعمل commit لملف
claude-lock.jsonالمحدث — حتى لو فشلت خطوة apply في منتصف الطريق، لأن الـ apply الجزئي لا يزال يسجل ما تم إنشاؤه بالفعل1.
بالنسبة لـ GitHub Actions تحديداً، يأتي رمز الهوية من نقطة نهاية Actions OIDC دون وجود أي سر مخزن على الإطلاق. العمر الافتراضي لرمز WIF هو 3,600 ثانية (يمكن تكوينه من 60 إلى 86,400)، ونطاق OAuth الافتراضي الذي يمنحه — workspace:developer — هو نفس مستوى الوصول الخاص بمفتاح API لمساحة العمل6.
هناك خطأ شائع موثق ينطبق على أي عملية انتقال إلى WIF، وليس فقط CI: حيث يقع ANTHROPIC_API_KEY فوق طبقات federation في ترتيب حل الاعتمادات لكل SDK، لذا فإن أي مفتاح متبقٍ في البيئة سيفوز بصمت على federation بدلاً من إظهار خطأ. يقوم ant auth status بالإبلاغ عن مصدر الاعتمادات الذي فاز بالفعل6.
مرجع الأعلام (Flags)
| العلم (Flag) | التأثير |
|---|---|
--dry-run | يطبع الخطة ويخرج دون تطبيق أو كتابة ملف lockfile. يخرج بالقيمة 0 حتى عندما تكون الخطة محظورة. |
--yes | يطبق دون طلب تأكيد. مطلوب عندما لا يكون هناك طرفية (terminal). |
--force | يطبق حتى لو تم تغيير مورد، أو أرشفته، أو حذفه خارج هذه الملفات. |
--prune | يزيل الموارد الموجودة في lockfile ولكن لم تعد مصرحاً بها في ملف (يؤرشفها، أو يحذفها في حالة skill). |
--upgrade | يعيد حل الـ skills المشار إليها بواسطة رابط GitHub، والتي تظل بخلاف ذلك مثبتة على الـ commit المسجل في lockfile. |
--lock-file <path> | يستخدم ملف lockfile هذا بدلاً من البحث للأعلى من الدليل الحالي؛ ويرفض ملف lockfile لا تتطابق المنظمة أو مساحة العمل الخاصة به مع اعتماداتك. |
--verbose, -v | يظهر الموارد غير المتغيرة وقيم الحقول الكاملة في الخطة. |
المصدر: توثيق ant apply الخاص بـ Anthropic، محدث حتى تاريخ هذا المنشور1.
ant apply مقابل البدائل
هذه مقارنة أصلية، وليست اقتباساً من أي مصدر واحد — كل عمود يعكس ما تم توثيقه مباشرة حول آليات سير العمل الخاصة به.
| الكونسول فقط | سكربتات curl/SDK يدوية | ant apply | |
|---|---|---|---|
| إصدارات في git | لا — التغييرات موجودة فقط في سجل الكونسول الخاص | نعم، إذا كتبت السكربت بهذه الطريقة | نعم، بالتصميم1 |
| معاينة قبل تغيير أي شيء | لا | فقط إذا قمت ببناء diff بنفسك | مدمج (--dry-run، أو details عند الطلب)1 |
| اكتشاف التعديلات الخارجية | غير متاح — الكونسول هو مصدر الحقيقة | لا، إلا إذا قمت ببناء ملف حالة خاص بك | مدمج، عبر claude-lock.json1 |
| ترتيب الاعتمادية لموارد متعددة | يدوي — تقوم بإنشاء كل مورد بالترتيب الصحيح بنفسك | يدوي | تلقائي، يتم حله من مراجع المسارات1 |
| مصمم للـ CI | لا | حسب ما تكتبه في السكربت | --yes / --dry-run، نمط GitHub Actions الموثق1 |
التحقق
لم يتم التقاط أي من مخرجات الأوامر أو أمثلة الملفات أعلاه من تشغيل حي لـ ant apply على مساحة عمل حقيقية — يتطلب ذلك ANTHROPIC_API_KEY مدفوع أو قاعدة Workload Identity Federation مهيأة ومنظمة Claude موجودة، ولم يكن أي منهما متاحاً أثناء كتابة هذا البرنامج التعليمي. لا ينبغي قراءة أي شيء هنا على أنه جلسة terminal مسجلة.
بدلاً من ذلك، تم التحقق من كل اسم حقل، وعلامة (flag)، وقاعدة تنسيق ملف، وجزء من مخرجات الأوامر مقابل وثائق Anthropic المنشورة لـ ant apply1، وأدلة البدء السريع وسكربتات ant CLI34، وصفحات المراجع الخاصة بـ agent و multiagent-orchestration و environment و memory store و scheduled-deployment7891011، ودليل Workload Identity Federation6.
تم جلب كل ذلك مباشرة من platform.claude.com، معظمها في 2026-09-17 وأعيد التحقق منها عبر جلب جديد في 2026-09-18 للتأكد من عدم حدوث أي تغيير؛ تم جلب صفحة multiagent-orchestration فقط في المرة الثانية، تحديداً للتأكد بشكل مستقل من هيكل حقل المنسق (coordinator) مقابل مصدر يتجاوز المثال العملي الواحد. لم يتم إعادة بناء أي من ذلك من الذاكرة أو من كتابات ثانوية.
تم التحقق بشكل مستقل من تاريخ إصدار الـ CLI ورقم الإصدار مقابل ملاحظات الإصدار الخاصة بمستودع anthropic-cli GitHub للإصدار v1.30.0 والإصدار الحالي v1.33.025، والتي أكدت إضافيًا أنه لم يطرأ أي تغيير على أعلام (flags) أو سلوك apply في أي إصدار منذ 1.30.0. أما "الملاحظات الهامة" (gotchas) المذكورة أعلاه فهي اقتباسات مباشرة ومنسوبة لإرشادات CI الخاصة بشركة Anthropic، وليست استنتاجات.
تستخدم ملفات الأمثلة الخمسة في قسم "تطويره إلى مشروع" أسماء حقول تم تأكيدها في صفحات المراجع المذكورة؛ أما السيناريو الذي يربط بينها فهو من ابتكار هذا المنشور، وليس منسوخًا من مثال مراجع الـ PR الخاص بـ Anthropic. كل كتلة YAML و Markdown-frontmatter في هذا المنشور، بما في ذلك ملف JSON الخاص بـ claude-lock.json، تم تحليلها باستخدام محلل YAML/JSON حقيقي (وحدات pyyaml و json في Python) للتأكد من أنها صالحة من الناحية النحوية — وليس مجرد أنها تبدو صحيحة بصريًا.
الخلاصة
يوفر ant apply سير عمل "التخطيط ثم التطبيق" لموارد Claude Managed Agents: قم بوصف وكيل، أو بيئة، أو مخزن ذاكرة، أو عملية نشر كملف، وعاين التغيير بدقة، واترك ملف القفل المُثبت يحافظ على ثبات العمليات (idempotent).
حتى وقت كتابة هذا المنشور، مر عليه حوالي أسبوعين. السلوكان الأكثر احتمالاً للتسبب في مشاكل عند استخدام إعداد منسوخ — وهو استخدام ant apply --yes الذي يتجاهل الملفات الجديدة، واستخدام --dry-run الذي يبلغ عن النجاح حتى لو كانت الخطة محظورة — كلاهما مذكور بوضوح في وثائق Anthropic نفسها، لكن من السهل إغفالهما في القراءة الأولى.
قراءات ذات صلة
- دليل تخزين الذاكرة لـ Claude Managed Agents (2026)
- Claude Managed Agents: الأحلام، النتائج، والتنسيق
- التحكم في تكلفة وكلاء الذكاء الاصطناعي: التحول إلى حدود إنفاق الجلسة في 2026
Footnotes
-
Anthropic, "Manage resources as code with ant apply" — https://platform.claude.com/docs/en/cli-sdks-libraries/cli/apply (file formats, kind inference rules, claude-lock.json schema, drift detection, CI guidance including the
--yes-skips-new-files and--dry-run-exits-0 behaviors, flags table; fetched 2026-09-17) ↩ ↩2 ↩3 ↩4 ↩5 ↩6 ↩7 ↩8 ↩9 ↩10 ↩11 ↩12 ↩13 ↩14 ↩15 ↩16 ↩17 ↩18 ↩19 ↩20 ↩21 ↩22 ↩23 ↩24 ↩25 ↩26 ↩27 ↩28 -
GitHub,
anthropics/anthropic-clirelease v1.30.0 — https://github.com/anthropics/anthropic-cli/releases/tag/v1.30.0 ("1.30.0 (2026-09-03)... addant applyfor managing agents, skills, environments, memory stores and deployments as code"; fetched 2026-09-17) ↩ ↩2 ↩3 ↩4 ↩5 -
Anthropic, "CLI quickstart" — https://platform.claude.com/docs/en/cli-sdks-libraries/cli/quickstart (install methods,
ant --version,ant auth login; fetched 2026-09-17) ↩ ↩2 ↩3 ↩4 ↩5 -
Anthropic, "CLI scripting and automation" — https://platform.claude.com/docs/en/cli-sdks-libraries/cli/scripting (Claude Code shelling out to
ant, session-driving commands,ant auth print-credentials; fetched 2026-09-17) ↩ ↩2 ↩3 -
GitHub,
anthropics/anthropic-clirelease v1.33.0 — https://github.com/anthropics/anthropic-cli/releases/tag/v1.33.0 ("1.33.0 (2026-09-15)"; current latest release as of this post, changelog contains no changes toapply; fetched 2026-09-17) ↩ ↩2 -
Anthropic, "Workload Identity Federation" — https://platform.claude.com/docs/en/manage-claude/workload-identity-federation (WIF concepts, default token lifetime and scope, credential precedence,
ANTHROPIC_API_KEYshadowing behavior; fetched 2026-09-17) ↩ ↩2 ↩3 ↩4 ↩5 ↩6 -
Anthropic, "Define your agent" — https://platform.claude.com/docs/en/managed-agents/agent-setup (agent configuration fields,
multiagent.agentsroster field; fetched 2026-09-17) ↩ ↩2 ↩3 -
Anthropic, "Multiagent orchestration" — https://platform.claude.com/docs/en/managed-agents/multiagent-orchestration (confirms
multiagent.type: coordinatoralongsideagentsin every shown coordinator example; fetched 2026-09-18) ↩ ↩2 -
Anthropic, "Cloud environment setup" — https://platform.claude.com/docs/en/managed-agents/environments (environment fields,
packages,networking.allow_package_managersrequirement; fetched 2026-09-17) ↩ ↩2 -
Anthropic, "Using agent memory" — https://platform.claude.com/docs/en/managed-agents/memory (memory store
name/descriptionfields; fetched 2026-09-17) ↩ ↩2 ↩3 -
Anthropic, "Scheduled deployments" — https://platform.claude.com/docs/en/managed-agents/scheduled-deployments (deployment fields, cron/timezone semantics, per-run budget behavior,
resourcesarray; fetched 2026-09-17) ↩ ↩2 ↩3



