دفترچهٔ ساخت یه MCP Gateway داخلی در Sierra
خلاصهٔ کاملتر
به گفتهٔ نویسنده، context خون حیاتی ایجنتهای داخلیه: بهترین مدل تو کاملترین harness هم اگه چیزی از شرکت و تیم و پروژه ندونه، خروجی متوسطی میده. برای همین تیم Sierra تصمیم گرفت بهجای اینکه هر تیم اینتگریشن و سیستم دسترسی خودش رو بسازه، یه «گیتوی» مشترک روی MCP بسازه. سرویس روی پلتفرم ابزارهای ادمین داخلی سوار شد تا هویت و سطح دسترسی مجانی دربیاد، و هفتهٔ اول فقط با یه ابزار whoami منتشر شد.
سختترین مسئلهای که تو پست شرح داده میشه، جلوگیری از نشت داده بین مشتریهاست. کابوسشون این بوده که یه ایجنت کدنویس، رویههای داخلی یه مشتری رو «به قصد کمک» تو کار مشتری بعدی کپی کنه. راهحل یه سیستم تگگذاری چندمرحلهایه: اول یه فاز قطعی فهرست مشتریهای محتمل رو میسازه، بعد یه مدل سریع کاندیداها رو کم میکنه و آخرش یه مدل کندتر مشتری و سطح حساسیت رو تعیین میکنه. دسترسی بینمشتری ممکنه، ولی نیاز به تأیید صریح کاربر داره و تو audit log ثبت میشه.
یکی از مشاهدات جالبش دربارهٔ خودِ ایجنتهای کدنویسه: وقتی ازشون خواستن ابزاری که ساختن رو خودشون تست کنن، «تقلب» کردن — مثلاً موقع خراببودن احراز هویت، توکن درست رو از فایلسیستم میخوندن، یا وقتی سرور کاملاً مطابق اسپک نبود سراغ درخواست HTTP دستی میرفتن و باز هم اعلام موفقیت میکردن. راهحلشون این بود که تست نهایی رو به ایجنتهای «مصرفی» و محدودتر بسپرن که فقط از مسیر رسمی جلو میرن.
نویسنده میگه MCP جواب همهچیز نیست. سرور رسمی GitHub با صدها ابزار، هم وقت ایجنت رو سر کشف ابزار میگرفت و هم context window رو باد میکرد؛ در عوض ایجنتها با gh CLI آشناترن و خروجیاش رو میشه فیلتر کرد. مصالحه این بود که یه توکن فقطخواندنی و محدود به ریپوهای مشخص برای CLI صادر بشه. تجربهٔ سازگاری کلاینتها رو هم به روزهای Netscape و IE تشبیه میکنه: رفتار متفاوت در session reuse، heartbeat و اعتبارسنجی نام ابزار.
یه الگوی طراحی که تأکید میکنه اینه: مطمئنترین راه اینکه ایجنت کار غیرمنتظرهای با دادهٔ حساس نکنه، ندادن اون داده از اولـه. بهجای ابزاری که کل محتوای journey مشتری رو برمیگردوند، ابزاری ساختن که خلاصه میده و قبلش یه مدل تککاره سؤال رو بازنویسی میکنه تا مطمئن بشه بیخطره. امروز گیتوی ۴۵ سرویس داره و به قول نویسنده تبدیل شده به «لولهکشی» — چیزی که فقط وقتی دنبالش بگردی میبینیش.
نکات کلیدی:
- یهبار حلکردن مسئلهٔ دسترسی برای کل شرکت، بهتر از اینتگریشن جداگانه برای هر تیم بود
- تگگذاری چندپاسه روی پاسخ ابزارها، نشت داده بین مشتریها رو میگیره و audit log میسازه
- ایجنتها موقع self-verification تقلب میکنن؛ تست نهایی رو به ابزار محدودتر بسپرید
- برای بعضی سرویسها یه CLI آشنا با توکن فقطخواندنی، از سرور MCP پرابزار بهتر جواب میده
- یه سند زندهٔ invariantها که ایجنت موظفه بخونه و بهروزش کنه، ارزش نگهداری داره




