پرش به محتوای اصلی
پرش به محتوای مقاله

افزونه dsh-plugin-agent-insights قابلیت مشاهدهٔ جلسات را به DeepSeek Harness

·۲۴ شهریور ۱۴۰۵۷ دقیقه مطالعه۳ بازدید
راهنما
نمودار معماری افزونه مشاهده‌پذیری سطح نشست برای DeepSeek Harness با ابزارهای Langfuse و OpenTelemetry
نمودار معماری افزونه مشاهده‌پذیری سطح نشست برای DeepSeek Harness با ابزارهای Langfuse و OpenTelemetry
اشتراک‌گذاری
واقعاً چه چیز جدید است؟

معرفی اولین افزونه مشاهده‌پذیری سطح‌بندی‌شده برای DeepSeek Harness که ردیابی دقیق ابزارها و درخواست‌های مدل را بدون تغییر در کد هسته و بدون نشت حافظه ممکن می‌سازد.

تصور کنید یک درخواست ساده از کاربر، زنجیره‌ای کور از فراخوانی‌های مدل و اجرای ابزارها را فعال می‌کند که هیچ راهی برای دیدن درون آن ندارید؛ این همان واقعیت «جعبه سیاه» در عیب‌یابی سامانه‌های عامل‌محور است. برای حل این بحران، در ۱۴ سپتامبر ۲۰۲۶، راهکاری جامعه‌محور به نام dsh-plugin-agent-insights منتشر شد تا قابلیت مشاهده‌پذیری (Observability) دقیق و محدود به جلسه را برای اکوسیستم DeepSeek Harness فراهم کند.

بسیاری از توسعه‌دهندگان در حال حاضر فقط خروجی نهایی یک عامل (Agent) — شبیه به مدیری که فقط گزارش نهایی را می‌بیند و نمی‌داند کارمندش کجا گیر کرده است — را مشاهده می‌کنند و نمی‌دانند چرا یک گردش‌کار خاص شکست خورده یا کدام ابزار باعث ایجاد گلوگاه شده است. این افزونه با تبدیل مشاهده‌پذیری به یک لایه مجزا که چرخه حیات عامل را از بیرون می‌پاید، تجربه عیب‌یابی را تغییر می‌دهد. این سیستم را می‌توان به جعبه سیاه هواپیما تشبیه کرد؛ ابزاری که هواپیما را نمی‌راند، اما هر چرخش و لرزش موتور را برای تحلیل‌های بعدی ثبت می‌کند. این رویکرد در واقع تکامل یافته‌ی همان ساختاری است که DeepSeek برای تبدیل قابلیت‌های LLM به پلاگین‌های کاربردی در ساخت عامل‌های خودمختار به کار گرفته بود.

همان‌طور که در تحلیل‌های پیشین ما درباره‌ی امنیت و پایداری مدل‌های زبانی اشاره کردیم، شفافیت در لایه‌های میانی اجرای مدل، کلید رسیدن به سیستم‌های قابل اعتماد است.

نیاز به مشاهده‌پذیری در سطح جلسه

وقتی یک درخواست به چندین فراخوانی مدل، گام‌های عامل و اجرای ابزارها تبدیل می‌شود، توسعه‌دهندگان برای عیب‌یابی مؤثر به پاسخ‌های دقیقی نیاز دارند. طبق مستندات این پروژه، سوالات کلیدی که این افزونه به آن‌ها پاسخ می‌دهد عبارت‌اند از:

  • چه تعداد گام توسط عامل اجرا شد؟
  • چند درخواست به مدل زبانی بزرگ (LLM) — مثل کتابخانه‌داری که میلیاردها صفحه را خوانده و حالا با همان لحن جواب می‌دهد — ارسال شد و چند مورد از آن‌ها با شکست مواجه شد؟
  • کدام ابزارهای خاص فراخوانی شدند؟
  • اجرای کدام ابزار بیشترین زمان را گرفت و باعث کندی شد؟
  • کل زمان اجرای یک جلسه از ابتدا تا انتها چقدر بود؟
  • پس از پایان جلسه، چه اتفاقی برای وضعیت و داده‌های جمع‌آوری‌شده می‌افتد؟

معماری ردیابی غیرتهاجمی

این افزونه به عنوان یک سرویس Cordis پیاده‌سازی شده و خود را به عنوان ctx.agentInsights ثبت می‌کند. به گزارش وب‌سایت dev.to، فلسفه اصلی طراحی این است که لایه مشاهده‌پذیری هرگز نباید به یک نقطه شکست (Failure Point) تبدیل شود. اگر ثبت یک معیار (Metric) با خطا مواجه شود، افزونه خطا را مدیریت کرده و اجازه می‌دهد عامل به فعالیت عادی خود ادامه دهد. این سازوکار از طریق یک بلوک try-catch داخلی مدیریت می‌شود که تنها یک هشدار با متن [agent-insights] Failed to record metric ثبت می‌کند و هرگز جریان اجرای عامل را متوقف نمی‌کند. این متدولوژی ردیابی بدون وقفه، یادآور رویکرد سیستم AgentSight در تجزیه توکن‌ها بدون تغییر در کد است که بر حفظ پایداری سیستم در حین نظارت تأکید دارد.

برای جلوگیری از نشت حافظه (Memory Leak) در فرآیندهای طولانی‌مدت، افزونه از معماری WeakMap<Session, SessionAgentInsights> استفاده می‌کند. این ساختار تضمین می‌کند که آمار جلسات به‌طور مستقل ذخیره شده و پس از حذف جلسه (Dispose)، به‌طور خودکار توسط Garbage Collector پاک شوند تا از کند شدن برنامه در طول زمان جلوگیری شود. این معماری «بدون نشت» (Zero-Leak) اجازه می‌دهد افزونه کندترین فراخوانی ابزار را در تمام جلسات فعال ردیابی کند، بدون اینکه ارجاعات دائمی به آن جلسات نگه دارد.

جمع‌آوری دقیق معیارها

افزونه برای جمع‌آوری داده‌ها بدون دخالت در مسیر اجرای عامل، به رویدادهای خاص چرخه حیات متصل می‌شود:

  • معیارهای LLM و عامل: رصد رویداد agent/request برای افزایش شمارنده کل درخواست‌ها (stats.totalLlmRequests += 1) و رصد agent/request-error برای ردیابی درخواست‌های شکست‌خورده مدل (stats.failedLlmRequests += 1). همچنین گام‌های تکمیل‌شده از طریق رویداد session/event شمارش می‌شوند.
  • عملکرد ابزار: با پوشاندن (Wrapping) اجرای ابزار حول تابع next()، افزونه از performance.now() برای اندازه‌گیری دقیق مدت‌زمان اجرا استفاده می‌کند. برای هر فراخوانی، یک شیء داده‌ای شامل callId (شناسه فراخوانی)، name (نام ابزار)، durationMs (مدت‌زمان به میلی‌ثانیه)، isError (وضعیت خطا) و errorMessage (پیام خطا) ثبت می‌شود.
  • چرخه حیات جلسه: زمان دقیق شروع و مدت‌زمان کل elapsed ثبت می‌شود. با فعال شدن رویداد session/disposed (حذف جلسه)، افزونه معیارها را استخراج کرده، مدت‌زمان نهایی را محاسبه می‌کند و ورودی مربوط به آن جلسه را از WeakMap حذف می‌کند.

تفکیک معیارهای ثبت‌شده

این افزونه چهار حوزه اصلی از عملیات عامل را به‌طور تفکیک شده ردیابی می‌کند:

  • گام‌های عامل: مجموع گام‌های بسته شده (Closed Steps) و کل درخواست‌های ارسالی به مدل.
  • اجرای ابزار: مجموع فراخوانی‌ها، تعداد فراخوانی‌های موفق، تعداد فراخوانی‌های شکست‌خورده و شناسایی دقیق کندترین ابزار.
  • عملکرد: مدت‌زمان دقیق اجرای هر بخش و زمان کل جلسه.
  • چرخه حیات: زمان شروع جلسه و وضعیت نهایی پاک‌سازی یا حذف.

پیاده‌سازی و پیکربندی

توسعه‌دهندگان می‌توانند از طریق Context در Cordis یا با استفاده از دستور dsh plugin --profile <name> add dsh-plugin-agent-insights در CLI مربوط به Harness، این افزونه را یکپارچه کنند. سیستم از طریق فایل cordis.patch.yml به‌شدت قابل تنظیم است.

گزینه‌های پیکربندی عبارت‌اند از:

  • maxToolHistoryPerSession: کنترل تعداد رکوردهای اجرای ابزار که در هر جلسه نگه داشته می‌شوند (مقدار پیش‌فرض ۱۰۰۰ است).
  • logSummaryOnDisposed: یک مقدار بولی (Boolean) برای فعال یا غیرفعال کردن ثبت خلاصه گزارش در لحظه پایان جلسه.

برای نصب برنامه‌نویسی‌شده، توسعه‌دهندگان از الگوی زیر استفاده می‌کنند:
import { Context } from '@deepseek-ai/cordis'
import AgentInsights from 'dsh-plugin-agent-insights'
const ctx = new Context()
await ctx.plugin(AgentInsights, { maxToolHistoryPerSession: 500, logSummaryOnDisposed: true })

این افزونه سه API اصلی برای پرس‌وجوی وضعیت عامل در لحظه (Real-time) ارائه می‌دهد: getMetrics(session) برای دریافت معیارها، getSlowestTool(session?) برای یافتن کندترین ابزار و reset(session?) برای بازنشانی آمار.

اسنپ‌شات‌های جلسه و خروجی

یک اسنپ‌شات از جلسه، نمایی فشرده از کل نشست عامل را ارائه می‌دهد که شامل موارد زیر است: sessionId (شناسه جلسه)، sessionStartTime (زمان شروع)، sessionDurationMs (مدت‌زمان به میلی‌ثانیه)، totalSteps (کل گام‌ها)، totalLlmRequests (کل درخواست‌های مدل)، failedLlmRequests (درخواست‌های شکست‌خورده)، totalToolCalls (کل فراخوانی ابزارها)، successfulToolCalls (فراخوانی‌های موفق)، failedToolCalls (فراخوانی‌های شکست‌خورده)، toolExecutions (لیست اجراها) و slowestTool (کندترین ابزار).

یک نمونه از خلاصه نهایی لاگ به این شکل است:
"Session completed 8 steps, 5 LLM requests, 1 failed request, 12 tool calls, 2 failed tools, 14.32s duration. Slowest tool: database-query."

تحلیل: تغییر پارادایم عیب‌یابی عامل‌ها

این توسعه نشان‌دهنده تغییری در نگاه جامعه به چارچوب‌های عامل‌محور است. با انتقال مشاهده‌پذیری به یک افزونه به‌جای قرار دادن آن در هسته (Core)، DeepSeek Harness اجازه می‌دهد یک پشته تله‌متری ماژولار ایجاد شود. تیم‌های مختلف اکنون می‌توانند افزونه‌های تخصصی خود را برای حسابداری توکن‌ها، ردیابی (Tracing) یا داشبوردهای سفارشی پیاده کنند بدون اینکه موتور اجرای اصلی را سنگین و حجیم کنند. این جداسازی تضمین می‌کند که چارچوب اصلی فقط بر اجرای عامل، اجرای ابزار و مدیریت جلسات تمرکز کند، در حالی که افزونه‌ها رویدادهای چرخه حیات را رصد می‌کنند.

برای یک توسعه‌دهنده کاربردی، این موضوع چرخه «آزمون و خطا» در مهندسی پرامپت (Prompt Engineering) — هنر سؤال درست پرسیدن برای گرفتن بهترین جواب — و تعریف ابزارها را کاهش می‌دهد. به‌جای حدس زدن دلیل کندی عامل، شما یک عدد concrete دارید؛ مثلاً یک کوئری دیتابیس خاص که ۱۴ ثانیه زمان برده است و مستقیماً شما را به منبع اصطکاک می‌برد.

تست و توسعه

برای تضمین پایداری، افزونه یک گردش‌کار مستقل برای ساخت و تست دارد. توسعه‌دهندگان می‌توانند دستورات pnpm run build برای ساخت، pnpm run typecheck برای بررسی تایپ‌ها، pnpm run test برای اجرای تست‌ها و pnpm run prepublishOnly را اجرا کنند. این استقلال تضمین می‌کند که اعتبارسنجی افزونه به عملکردهای غیرمرتبط Harness وابسته نباشد.

گام‌های بعدی

با در دسترس قرار گرفتن این معیارهای بنیادی، گام منطقی بعدی توسعه ویژگی‌های پیشرفته‌تر مشاهده‌پذیری است. این موارد شامل موارد زیر است:

  • ایجاد داشبوردهای عملکرد و تحلیل تأخیر (Latency) ابزارها.
  • تحلیل شکست‌های عامل و مقایسه جلسات مختلف.
  • شناسایی رگرسیون (Regression Detection) و یکپارچه‌سازی تله‌متری سفارشی.
  • ردیابی توزیع‌شده (Distributed Tracing) برای سیستم‌های چند-عاملی (Multi-agent).

توسعه‌دهندگان می‌توانند مخزن dsh-plugin-agent-insights را بررسی کنند تا پیاده‌سازی این لایه‌های تله‌متری پیشرفته را آغاز کنند. تمرکز فعلی همچنان بر جمع‌آوری اطلاعات مفید در حالی است که افزونه به‌طور کامل خارج از مسیر اجرای عامل باقی بماند.

گام بعدی شما

  • بررسی مخزن dsh-plugin-agent-insights برای پیاده‌سازی لایه‌های تله‌متری پیشرفته.
  • تحلیل تأخیر ابزارها در محیط عملیاتی برای شناسایی گلوگاه‌های دیتابیس یا API.
  • طراحی داشبوردهای بصری بر اساس داده‌های خروجی getMetrics برای نظارت بر سلامت عامل‌ها.

اما داستان سخت‌افزاری این تحول حتی شگفت‌انگیزتر است — به تحلیل ما درباره‌ی تراشه‌های Blackwell مراجعه کنید.

چرا این موضوع مهم است؟

این ابزار با تبدیل «جعبه سیاه» عامل‌ها به یک سیستم شفاف، هزینه و زمان عیب‌یابی در تولیدات صنعتی را به‌شدت کاهش می‌دهد. تکیه بر معماری غیرتهاجمی، اعتماد توسعه‌دهندگان را برای استقرار ابزارهای نظارتی در محیط‌های حساس (Production) جلب می‌کند.

تأثیر برای ایران

توسعه‌دهندگان ایرانی که از اکوسیستم DeepSeek برای ساخت عامل‌های خودکار استفاده می‌کنند، می‌توانند با این افزونه هزینه عیب‌یابی را کاهش دهند. دسترسی به این ابزار متن‌باز، مسیر بهینه‌سازی مصرف توکن‌ها را برای تیم‌های داخلی هموارتر می‌کند.

·نگاه ما
تحریریه دات‌هوش

جداسازی لایه مشاهده‌پذیری از هسته اجرایی در DeepSeek Harness، گامی به سوی استانداردسازی تله‌متری در سامانه‌های عامل‌محور است. این رویکرد اجازه می‌دهد توسعه‌دهندگان بدون ریسکِ ایجاد ناپایداری در اجرای مدل، ابزارهای نظارتی خود را شخصی‌سازی کنند. در واقع، این مدل از «یکپارچگی اجباری» به سمت «ماژولار بودن» حرکت می‌کند تا سرعت تکرار و بهینه‌سازی در محیط‌های عملیاتی افزایش یابد.

منابع

این گزارش با خط‌لولهٔ خودکار دات‌هوش از منابع معتبر جهانی تدوین و زیر نظر تحریریه منتشر شده است. روش کار ما

گفتگو

پنج‌شنبه‌های هوش‌محور

بسته‌ی هفتگی دات‌هوش

۵ خبر، ۲ ابزار، ۱ پرامپت در هر شماره. به‌زودی راه‌اندازی می‌شود — هر پنج‌شنبه صبح.

خبر کلیدی
ابزار کاربردی
پرامپت حرفه‌ای
تحلیل پژوهش
به‌زودی
زاویه‌ی ایرانی
به‌زودی
تمرین این هفته
به‌زودی

راهنماهای دات‌هوش

راهنماهای کاربردیِ دات‌هوش برای کار با هوش مصنوعی — از همین‌جا شروع کنید:

دات‌هوش

راهنمای فارسی هوش مصنوعی — با نگاه به ایران

اخبار روزانه، معرفی ابزارها و مدل‌ها، و آموزشِ کار با هوش مصنوعی؛ همیشه با این پرسش که از ایران چه چیزی کار می‌کند و چه چیزی نه.