LangChain قابلیت Connections رو برای Managed Deep Agents معرفی کرد
خلاصهٔ کاملتر
تا امروز، وقتی یه ایجنت هوش مصنوعی میخواست از طرف یه کاربر کاری مثل باز کردن ایشو رو گیتهاب یا جستجوی وب انجام بده، معمولا یه کلید API ثابت تو کد یا فایل env قایم میشد و همهی کاربرا از همون یکی استفاده میکردن؛ این کلید فقط میگه ایجنت اجازه چیکار رو داره، ولی نمیگه کدوم کاربر واقعا درخواست داده. LangChain حالا قابلیتی به اسم Connections رو برای پلتفرم Managed Deep Agents (mda) معرفی کرده که این مشکلو حل میکنه و از نسخه v0.7.0 به بعد در دسترسه.
هر Connection یه اسم (slug) داره و تو فضای کاری LangSmith ذخیره میشه، نه تو ریپازیتوری پروژه؛ یعنی میشه بدون تغییر کد یا دیپلوی دوباره، کلیدشو عوض یا باطل کرد. دو محور مستقل روی هر Connection هست: مالکیتش (Agent-owned یعنی مشترک بین همه کاربرا، یا User-owned یعنی مخصوص هر کاربر) و نوع اعتبارش (یه سیکرت ثابت یا یه گرنت OAuth). برای یه قابلیت که فرقی بین کاربرا نداره، مثل جستجوی وب با Tavily، یه Connection مشترک کافیه؛ تو کد فقط این یه خط لازمه:
api_key = await connections.get(
"tavily-agent", {"type": "agent"}
)برای قابلیتی که باید از طرف هر کاربر جدا کار کنه، مثل باز کردن ایشو رو گیتهاب، یه Connection از نوع User-owned OAuth میسازی. LangChain برای ۲۲ سرویس شناختهشده -از جمله گیتهاب- یه کاتالوگ آماده داره، پس فقط کلاینت آیدی و سیکرت اپلیکیشن خودتو میدی. اگه کاربر تاییدش نکرده باشه یا توکنش منقضی شده باشه، اجرای ایجنت خودش متوقف میشه و درخواست تایید میده؛ نتیجه اینه که ایشوهایی که ایجنت رو گیتهاب باز میکنه، زیر نام واقعی همون کاربر ثبت میشه، نه یه بات مشترک.
برای MCP سرورهایی که خودشون OAuth ثبت میکنن، مثل Linear، حتی نیازی به ساختن اپلیکیشن هم نیست و کل تنظیمات فقط یه آدرس MCP سروره. وقتی یه ایجنت به چندتا سرویس همزمان نیاز داشته باشه، اجرا قبل از اولین نوبت مدل متوقف میشه و یه لیست از همه تاییدیههای موردنیاز رو یکجا نشون میده.
نکات کلیدی:
- Connections از نسخه Managed Deep Agents v0.7.0 به بعد در دسترسه
- کلیدها تو فضای کاری LangSmith ذخیره میشن، نه تو کد یا فایل env
- دو نوع مالکیت داره: Agent-owned (مشترک بین همه) و User-owned (مخصوص هر کاربر)
- کاتالوگ آماده برای ۲۲ سرویس OAuth از جمله گیتهاب وجود داره
- برای MCP سرورهایی مثل Linear که خودشون OAuth دارن، فقط یه آدرس MCP کافیه




