APM؛ پکیج منیجر برای ایجنتهای هوش مصنوعی
خلاصهٔ کاملتر
نویسنده میگه کانفیگ ابزارهای کدنویسی هوش مصنوعی تو تیمها معمولاً یه تلنبار از فایلهای محلی، پرامپتهای کپیشده، سرورهای MCP دستساز و دانش شفاهیه. یکی اینستراکشنهای GitHub Copilot خودشو داره، یکی ایجنتهای Claude و یکی قواعد Cursor. شش ماه بعد جواب دادن به این سؤال سخت میشه که چه کانتکستی نصب شده، از کجا اومده و کی اجازهشو داده. Agent Package Manager یا APM دقیقاً همین شکاف رو هدف گرفته.
مدلش همون مدل آشنای پکیج منیجرهاست: تو یه فایل apm.yml اعلام میکنی چه اسکیل، پرامپت، اینستراکشن، پلاگین و سرور MCP لازم داری، بعد apm install اینها رو روی هر هارنسی که هدف گرفتی مینویسه. هدفها هم صریح تو همون فایل میان:
targets:
- copilot
- claude
- cursor
- opencodeقفلفایل هم نسخه دقیق و هش محتوا رو نگه میداره، پس نتیجه قابل بازتولیده. یعنی دیگه لازم نیست حدس بزنی رو ماشین همتیمیت دقیقاً چی نصب شده.
چیزی که نویسنده بیشتر از همه دوستش داره اینه که سرورهای MCP هم دقیقاً مثل بقیه وابستگیها تو همین فایل اعلام میشن. دلیلش هم روشنه: MCP یه مرز ابزاریه و هر ایجنتی که به یه سرور دسترسی پیدا کنه، به هر چیزی که اون سرور باز کرده هم دسترسی داره. اعلام کردنشون تو ریپو، MCP رو از حالت «هر چی رو لپتاپ من کانفیگ شده» میبره تو قرارداد پروژه.
لایه کنترلش هم apm-policy.yml هست که نویسنده میگه لازم نیست از روز اول یه پالیسی غولپیکر سازمانی باشه؛ کوچیکترین نسخه مفیدش یه allowlist سادهست. این پالیسی منابع مجاز وابستگی، سرورهای MCP مجاز، ترنسپورتهای مجاز (http، sse، stdio)، هدفهای مجاز و متادیتای لازم رو مشخص میکنه، با enforcement: block. نکته مهم اینه که این حکمرانیِ زمان نصبه، نه سندباکس زمان اجرا.
جای جالبتر ماجرا از یه ریپو شروع نمیشه؛ وقتیه که پنجاه یا پونصد ریپو به یه پایه مشترک نیاز دارن. مدل لایهای میشه: سازمان میگه چی مجازه، تیم میگه چه قابلیتی لازم داره، ریپو میگه این ورکلود خاص چی میخواد و APM هم resolve و lock و install و audit میکنه. رو گیتهاب هم پالیسی سازمانی از روی remote ریپو پیدا میشه، پس تیم پلتفرم لازم نیست با هر تغییر پالیسی بره تکتک ریپوها رو دست بزنه.
نکات کلیدی:
- کل کانتکست ایجنت تو یه فایل apm.yml اعلام میشه و با apm install روی هارنسها نصب میشه.
- قفلفایل نسخه دقیق و هش محتوا رو ثبت میکنه تا نصب قابل بازتولید باشه.
- سرورهای MCP هم وابستگی حساب میشن، چون هر سرور یه مرز دسترسی ابزاریه.
- apm-policy.yml منابع، سرورهای MCP، ترنسپورتها و هدفها رو allowlist میکنه و موقع نصب جلوی تخلف رو میگیره.
- هدفهای پشتیبانیشده تو نمونه مقاله: copilot، claude، cursor و opencode.




