به گزارش از وبسایت cncf، همان‌طور که معماری نرم‌افزار تکامل می‌یابد، ابزارهای مشاهده‌پذیری نیز باید خود را وفق دهند. زمانی که صنعت به میکروسرویس‌ها گرایش یافت، ردیابی توزیع‌شده ضروری شد و Jaeger به عنوان ابزاری کلیدی برای فهم این سیستم‌های توزیع‌شده پدیدار گشت. اکنون با ورود برنامه‌های هوش مصنوعی مولد و عوامل مستقل به مسیر تولید، نیازهای ردیابی بار دیگر دگرگون شده‌اند. ⚙️

مسیر اجرای یک عامل هوش مصنوعی معمولاً شامل مونتاژ سریع ورودی‌ها، بازیابی از پایگاه‌ داده‌های برداری و چندین فراخوانی ابزار خارجی است؛ کاری که اغلب از محدوده ابزارهای ردیابی سنتی فراتر می‌رود. Jaeger با پذیرش پروتکل‌هایی مانند MCP، ACP و AG-UI در تلاش است محیطی فراهم کند که مهندسان و عوامل هوش مصنوعی بتوانند در آن به‌صورت مشترک کار کنند و مسیرهای اجرای پیچیدهٔ خطوط لولهٔ هوش مصنوعی را قابل ردیابی سازند. 🤝

این تحول دو گام اصلی دارد: نخست، بازسازی معماری پایه در Jaeger v2 برای ادغام بومی OpenTelemetry؛ و دوم، فراتر رفتن از صرفاً تجسیم داده‌های مرسوم. Jaeger v2 مکانیزم‌های مجموعهٔ اصلی خود را با OpenTelemetry Collector جایگزین کرده تا معیارها، لاگ‌ها و ردیابی‌ها را در یک مدل استقرار یکپارچه گردآورد. با بهره‌گیری از پروتکل OpenTelemetry (OTLP)، مراحل ترجمهٔ میانی حذف شده و فرآیند جذب داده بهبود یافته است. 🌐

این ادغام با OpenTelemetry زمینه لازم برای ویژگی‌های ردیابی پیشرفته‌تر را فراهم می‌آورد. علاوه بر این، پروژه در حال کاوش راه‌هایی برای تسهیل همکاری بین مهندسان انسانی و عوامل هوش مصنوعی هنگام اشکال‌زدایی است؛ کاری که شرکت‌کنندگان در CNCF LFX Mentorship Program و Google Summer of Code در آن مشارکت فعالی دارند. ✨

برای پشتیبانی از ادغام‌های هوش مصنوعی، Jaeger سه استاندارد باز را پذیرفته است: Model Context Protocol (MCP)، Agent Client Protocol (ACP) و Agent-UI interaction (AG-UI). MCP نحوهٔ دسترسی امن مدل‌ها به منابع دادهٔ خارجی را استاندارد می‌کند، ACP رابطی یکنواخت برای تعامل رابط‌های کاربری با عوامل و sidecars فراهم می‌آورد و AG-UI این تعاملات را در سطح UI تسهیل می‌کند؛ ترکیبی که Jaeger را به یک فضای کاری تعاملی تبدیل می‌کند. 🧭

در لایهٔ پشتیبان فنی، پیاده‌سازی از طریق ساخت یک لایهٔ پروتکل Agent Client صورت می‌گیرد تا به‌عنوان یک مترجم بدون‌حالت میان فرانت‌اند Jaeger و sidecarهای خارجی هوش مصنوعی عمل کند. طراحی و اثباتِ مفهوم در مسائل Jaeger شمارهٔ 8252 (اجرای AG-UI به ACP Jaeger AI) و 8295 (اجرای کنترل‌کننده هوش مصنوعی مبتنی بر ACP) مستند شده است.

یا 1 2 3 4 5 6 7 8 9 10 11 12 گراف پری دریایی LR J_UI["Jaeger UI"] AI_A["AI Agent"] زیرگراف JAEGER["Jaeger v2"] AGW["Agent Gateway"] JMCP_UIcol"End --> AGW AGW -- "ACP Protocol" --> AI_A AGW -- "MCP Protocol" JMCP

به‌طور سنتی، پاسخ‌دهندگان به حادثه با فیلتر کردن دستی سرویس‌ها و برچسب‌ها پرس‌وجوها را می‌ساختند؛ اما ادغام ACP به پشتیبان اجازه می‌دهد محدودیت‌های زبان طبیعی (مثلاً «شناسایی خطاهای سطح 500 در سرویس پرداخت با تأخیر بیش از 2 ثانیه») را تجزیه کند و آن‌ها را به پرس‌وجوهای ردیابی قطعی تبدیل نماید. سازمان‌ها می‌توانند پیکربندی کنند که این ترجمه را با مدل‌های زبان بزرگ ابری (LLM) برای استدلال پیچیده یا با مدل‌های کوچک محلی (SLM) برای حفاظت از حریم خصوصی انجام دهند. با محدود نگه داشتن نقش هوش مصنوعی به ترجمهٔ پروتکل و تولید پرس‌وجو، خطر hallucination کاهش می‌یابد. 🔒

فرانت‌اند Jaeger نیز برای پشتیبانی از این منطق داخلی به‌روزرسانی شده است: مهاجرت از Redux قدیمی به Zustand + React Query، و افزودن یک دستیار درون‌برنامه‌ای که توسط assistant-ui و AG-UI پشتیبانی می‌شود. رابط کاربری از رویدادهای جریان برای ارسال متن‌های ردیابی (مانند گزارش‌های خطا و برچسب‌ها) به دروازهٔ پشتیبان استفاده می‌کند؛ این امکان به مهندسان می‌دهد تا از دستیار بخواهند مسیرهای شکست را در بازه‌های مشخص خلاصه کند و نیاز به مرور دستی لاگ‌های خام را کاهش دهد. 🧑‍💻

علاوه بر استفاده از هوش مصنوعی برای تحلیل ردیابی‌های مرسوم، پروژه در حال افزودن پشتیبانی برای ردیابیِ خودِ برنامه‌های هوش مصنوعی است. موضوع شمارهٔ 8401 Jaeger بر تجسمِ قراردادهای معنایی OpenTelemetry GenAI متمرکز است که به‌سرعت در حال رشد‌اند. جامعهٔ OpenTelemetry پیش‌نویس‌هایی را برای استانداردسازی تله‌متری این گردش‌های کاری پویا آماده می‌کند؛ از جمله پیش‌نویس‌هایی برای سیستم‌عامل‌های هوش مصنوعی مولد (مسئلهٔ 2664) جهت ردیابی وظایف، حافظه و اقدامات، و کنوانسیون‌هایی برای جعبه‌های ایمنی هوش مصنوعی (مسئلهٔ 3583) برای نظارت بر محیط‌های اجرای کد کوتاه‌مدت. Jaeger این عملیات استاندارد را در UI تجسم می‌کند تا دید روشنی از مسیرهای اجرای هوش مصنوعی فراهم آورد، بدون اینکه تیم‌ها را به فرمت‌های یک فروشنده محدود سازد. 🔍

توسعه‌دهندگانی که خطوط لولهٔ RAG و عوامل مستقل می‌سازند، باید تأخیرهای embedding، تماس‌های ابزار خارجی و مصرف توکن را اندازه‌گیری و نظارت کنند؛ Jaeger این معیارها و مسیرها را در رابط کاربری ترسیم می‌کند تا دید عملیاتی روشنی ارائه دهد. 📊

حفظ سازگاری از آزمایش محلی تا تولید یک چالش است. Jaeger پیش‌تر یک باینری «همه‌در‌یک» برای ساده‌سازی تست محلی ارائه کرده بود. از آنجا که Jaeger v2 روی OpenTelemetry Collector بنا شده، توسعه‌دهندگان همان باینری را دقیقاً در محیط محلی اجرا می‌کنند که در تولید اجرا خواهد شد. در فاز تست، مهندسان می‌توانند ظرف Jaeger v2 را همراه با یک SLM محلی اجرا کنند تا یک سندباکس خصوصی برای آزمایش ردیابی‌های GenAI یا اشکال‌زدایی ادغام‌های ACP بدون افشای داده‌ها به سرویس‌های خارجی داشته باشند. در تولید نیز تیم‌های پلتفرم از همان باینری استفاده کرده و معمولاً با ابزارهایی مانند OpenTelemetry Operator برای Kubernetes آن را مدیریت می‌کنند؛ سپس در صورت نیاز SLM محلی را با یک LLM مبتنی بر ابر جایگزین می‌کنند تا تحلیل رویدادهای تولید انجام شود. این رویکرد تضمین می‌کند که پیکربندی‌های ردیابی از توسعه تا استقرار ثابت باقی بمانند. ✅

در مجموع، نیازهای ردیابی با پیچیده‌تر شدن برنامه‌های هوش مصنوعی دگرگون می‌شوند. با پایه‌گذاری بر OpenTelemetry در Jaeger v2 و ادغام استانداردهایی مانند MCP و ACP، پروژه در حال تطبیق قابلیت‌های خود است تا گردش‌کاری عملی فراهم آورد که در آن مهندسان انسانی و عوامل هوش مصنوعی بتوانند به‌صورت مشترک در شناسایی و رفع اشکالات سیستم‌های توزیع‌شده همکاری کنند. 🚀