اگر امروز در حال مدیریت دهها عامل هوش مصنوعی در محیطهای مختلف هستید، احتمالاً میدانید که هر افزودن عضو جدید به این شبکه، یک کابوس از تنظیمات IP و دسترسیهاست. در حالی که افزودن یک عامل جدید به یک ناوگان عملیاتی معمولاً نیازمند یک چکلیست دستی از پیکربندیهای IP و دستدادنهای اعتماد (Trust Handshakes) است، یک راهکار جدید این فرآیند را از یک مراسم انسانی خستهکننده به یک اسکریپت سه مرحلهای ثابت تبدیل کرده است.
طبق مستندات فنی منتشر شده در ۸ اوت ۲۰۲۶، پروتکل Pilot (Pilot Protocol) با هدف حل مشکل «انحراف در پذیرش» (Onboarding Drift) طراحی شده است. اکثر استقرارهای عاملها از این مشکل رنج میبرند زیرا فرآیند پذیرش، کماتوماتیکترین بخش از کل پشته (Stack) تکنولوژی است. توسعهدهندگان معمولاً یک کانتینر را تأمین کرده و یک محیط اجرا (Runtime) را نصب میکنند، اما سپس بخش دستی آغاز میشود: آنها باید به عامل یک هویت بدهند، به آن بگویند به کدام همسالان (Peers) اعتماد کند و آن را به قابلیتهایی که اجازه فراخوانیشان را دارد، متصل کنند. در حالی که این کار برای دو عامل یک مشغله ساده است، برای یک ناوگان کامل به یک پروژه عظیم تبدیل میشود. راهکار این مشکل، نوشتن یک دفترچه راهنمای ضخیمتر نیست، بلکه تشخیص این نکته است که پذیرش در واقع یک توالی کوتاه و ثابت است.
تصور کنید ناوگانی از عاملها را دارید که در ابرهای مختلف و شبکههای گوناگون پخش شدهاند. در یک ساختار سنتی، یک ریاستارت ساده یا یک مهاجرت ابری، آدرس IP را تغییر میدهد و هر اتصالی که عامل داشته است را میشکند. این وضعیت یک شبکه شکننده ایجاد میکند که در آن زیرساخت به ماشین گره خورده است، نه به هویت عامل. DNS نیز این مشکل را حل نمیکند، زیرا رکوردها به میزبانها یا نقاط انتهایی (Endpoints) متصل هستند که در لایههای زیرین کاربر تغییر میکنند. علاوه بر این، اگر عاملها پشت NAT قرار داشته باشند، اغلب هیچ نقطه انتهایی پایداری وجود ندارد.
توالی خودکار سه مرحلهای
به نقل از مستندات پروتکل Pilot، پذیرش مؤثر یک عامل نیازمند جداسازی سه مسئله متمایز است: آدرسدهی، اعتماد و اکتشاف. اکثر چکلیستهای پذیرش صرفاً این سه مسئله را به هم چسباندهاند؛ اما جداسازی آنها اجازه میدهد هر کدام با یک پاسخ تمیز و قابل اتوماسیون حل شوند:
- آدرسدهی مجازی دائمی: بهجای تکیه بر DNS یا IPهای ناپایدار، عاملها یک آدرس مجازی دائمی دریافت میکنند که متعلق به خود عامل است، نه ماشین میزبان. این آدرس در برابر ریاستارت، تغییرات IP و مهاجرتهای ابری مقاوم است. محیط اجرا، انتقال زیرساختی را از طریق تونلهای رمزنگاریشده UDP و در صورت نیاز شبکه، با قابلیت عبور از NAT (NAT Traversal) مدیریت میکند.
- اعتماد متقابل صریح: برخلاف VPNهای استاندارد (Overlay VPNs) که در آنها عضویت در شبکه به معنای اعتماد است، پروتکل Pilot از یک دستدادن متقابل (Mutual Handshake) استفاده میکند. در مدل VPN، عضویت و اعتماد یک چیز هستند، که این یک ترکیب اشتباه برای ناوگانهای عامل است. Pilot اجازه میدهد عاملهای تیمها یا سازمانهای مختلف در یک شبکه باشند بدون اینکه لزوماً به طور کلی به یکدیگر اعتماد کنند. در اینجا «توانایی دسترسی» و «مورد اعتماد بودن» دو پرسش جداگانه باقی میمانند تا اطمینان حاصل شود هر عامل دقیقاً همان مقدار اعتمادی را دریافت میکند که نیاز دارد.
- اکتشاف دوطرفه: یک رجیستری ملاقات (Rendezvous Registry) و یک نامسرور (Nameserver) اجازه میدهد عاملهای جدید همسالان خود را از طریق تگها یا نامها پیدا کنند، در حالی که همزمان، کل ناوگان متوجه حضور عضو جدید میشود. این امر تضمین میکند که عامل میتواند همسالان و قابلیتهایی را که قرار است از آنها استفاده کند، بیابد.
پیادهسازی عملیاتی
برای توسعهدهندگان، این توالی از یک مشکل زمان اجرا به یک مشکل «تأمین منابع» (Provisioning) تبدیل شده است. چون آدرس دائمی است، پذیرش فقط یکبار در هر استقرار رخ میدهد، نه در هر بار ریاستارت. هویت عامل در یک فایل جفتکلید محلی ذخیره میشود و این باعث میشود هر مرحله بعد از اولین اجرا، تکرارپذیر و بدون تغییر (Idempotent) باشد.
با استفاده از محیط اجرای Pilot — که یک دیمون (Daemon) نوشته شده با زبان Go و بدون هیچ وابستگی خارجی است — این توالی با سه دستور اصلی اجرا میشود:
۱. آدرسدهی: اجرای دستور curl -fsSL https://pilotprotocol.network/install.sh | sh و به دنبال آن pilotctl daemon start به عامل آدرس مجازی دائمیاش را میدهد.
۲. اعتماد: دستور pilotctl handshake <peer-address> "onboarding fleet member" یک لینک متقابل ایجاد میکند. سپس دستور pilotctl trust برای تأیید متقابل لینک پیش از تکیه بر آن استفاده میشود.
۳. اکتشاف: دستور pilotctl send-message list-agents --data '/data {"search":"weather"}' به عامل اجازه میدهد همسالان و قابلیتها را بر اساس نام یا تگ پیدا کند.
تنها بخش تعاملی، مرحله دستدادن (Handshake) است، اما این بخش نیز قابل اسکریپتنویسی است. پنل کنترل (Control Plane) یک ناوگان میتواند درخواستهای ورودی را با دستور pilotctl pending مشاهده کرده و با pilotctl approve <id> آنها را بپذیرد. وقتی این فرآیند در یک خط لوله استقرار (Deployment Pipeline) نوشته شود، افزودن یک عامل دیگر از یک وظیفه انسانی خارج میشود.
پذیرش قابلیتها: اکتشاف، نصب و فراخوانی
آدرس و اعتماد، عامل را وارد شبکه میکنند، اما کار واقعی در یک چرخه مجزا رخ میدهد: اکتشاف $ \rightarrow $ نصب $ \rightarrow $ فراخوانی. فروشگاه اپلیکیشن Pilot، پذیرش قابلیتها را شبیه به مدیریت بستههای نرمافزاری (Package Management) میکند:
- اکتشاف: مشاهده قابلیتهای موجود با دستور
pilotctl appstore catalogue. - نصب: نصب اپلیکیشن قابلیت با دستور
pilotctl appstore install <id>. - بررسی: درک هدف اپلیکیشن و پارامترهای مورد نیاز با دستور
pilotctl appstore call <id> <app>.help. - اجرا: فراخوانی متد مورد نظر با دستور
pilotctl appstore call <id> <app>.<method> '<json>'.
این اپلیکیشنها بهصورت سرویسهای IPC تایپشده (ورودی JSON، خروجی JSON) روی دیمون عامل اجرا میشوند. برای حفظ امنیت، دیمون در هر بار ایجاد (Spawn)، امضای پینشده (Pinned Signature) هر اپلیکیشن را مجدداً بررسی میکند. دسترسیها در زمان نصب اعطا شده و برای هر اپلیکیشن محدود (Scoped) میشوند؛ این یعنی عاملهای جدید قابلیتها را بدون داشتن «اختیارات محیطی» (Ambient Authority) دریافت میکنند. هر نصب یک رویداد صریح و قابل حسابرسی است و اپلیکیشنهای منتشر شده توسط بیش از ۲۴۳ هزار عاملی که در حال حاضر در شبکه هستند، قابل اکتشاف میباشند.
در حالی که پروتکل زمینه مدل (MCP) نحوه فراخوانی ابزارها توسط عاملها را استاندارد کرد، فروشگاه Pilot لایهای از بستهبندی و اعتماد را از طریق آداپتورهای تأییدشده با امضا و مجوزهای محدود اضافه میکند. این دو مکمل یکدیگر هستند: فروشگاه مدیریت میکند که قابلیتها چگونه نصب و تأیید شوند، در حالی که MCP مدیریت میکند که چگونه فراخوانی شوند. این رویکرد در پیادهسازیهای عملیاتی نیز دیده میشود، مشابه آنچه در رویکرد Projektor برای اتوماسیون تیکتها با استفاده از MCP مشاهده کردیم.
مقیاسپذیری و ناوگانهای پیشسیمکشیشده
برای تیمهایی که ساختار ناوگانشان تکراری است — مانند خطوط تولید محتوا، حلقههای بررسی کد (Code-review loops) یا پشتههای مانیتورینگ — Pilot «ناوگانهای پیشسیمکشیشده» (Pre-wired Fleets) را ارائه میدهد. اینها سازمانهایی هستند که پیشازاین پیکربندی شدهاند و در آنها عاملها، مهارتها و لینکهای اعتماد از قبل سیمکشی شدهاند. در این موارد، توالی آدرس-اعتماد-اکتشاف قبلاً کامل شده است و توسعهدهندگان صرفاً عاملها را به ناوگانی اضافه میکنند که از قبل میداند چگونه رفتار کند.
این تغییر، فرض بنیادی ارکستراسیون عاملها را عوض میکند. با انتقال پذیرش از یک دفترچه راهنمای دستی به یک اسکریپت تکرارپذیر، هزینه نهایی (Marginal Cost) افزودن یک عامل جدید به صفر نزدیک میشود. این امر رشد یک ناوگان هوش مصنوعی را از یک تلاش انسانی خطی به یک فرآیند نرمافزاری مقیاسپذیر تبدیل میکند.
برای متخصصان، این بدان معناست که تمرکز از «چگونه این عاملها را وصل کنم» به «این عامل چه قابلیتهایی باید داشته باشد» تغییر میکند. زیرساخت نامرئی میشود و منطق سامانه چندعاملی در مرکز توجه قرار میگیرد. برای مشاهده این فرآیند در عمل، توسعهدهندگان میتوانند توالی را با دو عامل روی یک میزبان واحد، با استفاده از اسکریپت نصب Pilot تست کنند تا فرآیند دستدادن و اکتشاف را تأیید نمایند.
گام بعدی شما
- اسکریپت نصب Pilot را روی دو ماشین مجازی مجزا تست کنید تا فرآیند Handshake و Discovery را تجربه کنید.
- اگر از MCP استفاده میکنید، بررسی کنید چگونه لایه توزیع اپلیکیشن Pilot میتواند امنیت استقرار ابزارهای شما را بالا ببرد.
- ساختار ناوگانهای پیشسیمکشیشده را برای جریانهای کاری تکراری در تیم خود مدلسازی کنید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو