سناریو و توسعه ساخت یک بات هوشمند ITSM با ابزارهای متن‌باز

مقدمه

در چهار بخش پیشین قدم به قدم مسیر تحول ITSM با هوش مصنوعی را مرور کردیم. ابتدا ضرورت ورود AI به مدیریت خدمات فناوری اطلاعات را توضیح دادیم، سپس معماری کلی بات‌های هوشمند را بررسی کردیم. بعد تجربه‌ شرکت‌ های پیشرو جهانی مثل ServiceNow، BMC، Atlassian و Freshworks را تحلیل کردیم و در نهایت، ابزارها و تکنولوژی‌های این بات‌ها مانند LangChain ، Neo4j ،FastAPI، Whisper و Silero-VAD را معرفی نمودیم.

اکنون نوبت آن است که وارد بخش عملی شویم. در این قسمت، به‌صورت آموزشی و کاربردی، فرآیند ساخت یک بات هوشمند واقعی ITSM را روایت می‌کنیم:

  • تعریف سناریوی پروژه
  •  بررسی چالش‌های اولیه
  • انتخاب ابزارهای متن‌باز
  • طراحی معماری
  • پیاده‌ سازی و مسیر توسعه
  • و در نهایت، چگونگی کنار هم قرار گرفتن این فناوری‌ها برای ساخت یک پلتفرم عملیاتی

 

تعریف سناریوی پروژه

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

سازمان ما روزانه با صدها درخواست کاربری مواجه است. بخشی از این درخواست‌ها بسیار ساده‌اند (مثل ریست رمز عبور یا بررسی وضعیت سرویس‌ها)، اما حجم بالا باعث فشار سنگین بر تیم IT می‌شود. از سوی دیگر کاربران انتظار دارند پاسخ‌ها سریع و بدون تاخیر باشند.

بنابراین، هدف پروژه این است که:

  1. یک بات هوشمند مکالمه‌ای بسازیم که بتواند درخواست‌ها را از طریق متن و صدا دریافت کند.
  2. بات بتواند نیت کاربر (Intent) را تشخیص دهد و اطلاعات مرتبط (Entity) را استخراج کند.
  3. در صورت امکان، بات خودش اقدام لازم را انجام دهد (مثل ریست رمز در Active Directory).
  4. اگر مسئله پیچیده‌تر بود، بات آن را به کارشناس انسانی منتقل کند اما جریان مکالمه را حفظ نماید.
  5. همه‌ی این فرآیند به‌صورت کاملا لوکال و متن‌باز پیاده‌سازی شود تا محدودیت‌های زیرساختی و امنیتی سازمان رعایت گردد.

چالش‌های اولیه

ساخت چنین سیستمی در نگاه اول ساده به نظر می‌رسد اما با چند چالش اولیه رو به‌ رو هستیم:

  1. چند منبعی بودن ورودی‌ها: کاربران از کانال‌های مختلف (پورتال، ایمیل، تماس، چت) درخواست ارسال می‌کنند. سیستم باید ورودی‌ها را یکپارچه کند.
  2. تشخیص زبان طبیعی: کاربر ممکن است درخواست خود را به زبان ساده مطرح کند («رمزم کار نمیکنه»). بات باید آن را بفهمد.
  3. اتصال به سیستم‌های سازمانی: پاسخ واقعی فقط وقتی ارزشمند است که بات بتواند با سیستم‌هایی مثل Jira، AD یا CMDB ارتباط برقرار کند.
  4. کار با داده‌های سازمانی حساس: باید همه‌ چیز روی سرورهای داخلی (On-Premise) اجرا شود.
  5. مدیریت صدا و متن به‌صورت Real-Time: برای تماس‌ها، نیاز به پردازش سریع داریم.
  6. مقیاس‌پذیری: راهکار باید طوری طراحی شود که با افزایش تعداد کاربران دچار کندی یا اختلال نشود.

 

طراحی معماری

معماری سیستم به‌ صورت چند لایه و ماژولار طراحی شد:

  1. Input Layer: دریافت داده از میکروفن، VoIP یا چت.
  2. VAD + STT Layer: ترکیب Silero-VAD و Whisper برای تبدیل صدا به متن.
  3. Text Normalization & Correction: پاک‌سازی متن، حذف نویز و اصلاح نگارشی.
  4. Agentic AI Layer (LangChain):
    • تشخیص Intent و Entity
    • استفاده از ابزارها (Tools) برای اقدام عملی
    • مدیریت حافظه مکالمه
    • همکاری چند Agent در مسائل پیچیده
  5. Knowledge Graph Layer (Neo4j): ذخیره و تحلیل روابط داده‌ای.
  6. Integration Layer (FastAPI): ارتباط با Jira، Active Directory و سایر سرویس‌ها.
  7. Response Layer: تولید پاسخ طبیعی و ارسال آن به کاربر.

پیاده‌سازی گام به گام

مرحله اول: مدیریت ورودی

  • دریافت متن از UI یا صدا از میکروفن/VoIP
  • استفاده از Silero-VAD برای فیلتر کردن سکوت‌ها
  • ارسال داده خام به ماژول STT

مرحله دوم: تبدیل صوت به متن

  • اجرای مدل Whisper روی سرور داخلی
  • دریافت متن اولیه (Raw Text)

مرحله سوم: پاک‌سازی و اصلاح متن

  • حذف کاراکترهای اضافی
  • اصلاح علائم نگارشی
  • استانداردسازی املای کلمات فارسی

6.4 مرحله چهارم: تحلیل توسط ایجنت ها

  • تشخیص Intent (مثلا: «ریست رمز»)
  • استخراج Entity (کاربر: “احمد”، سیستم: “HR”)
  • تصمیم‌گیری در مورد اقدام بعدی

مرحله پنجم: ارتباط با سیستم‌ها

  • اگر Intent مربوط به رمز بود ارسال درخواست ریست به Active Directory از طریق FastAPI
  • اگر مشکل شبکه بود جست‌وجو در Neo4j برای یافتن ارتباط بین سرویس‌ها

مرحله ششم: تولید پاسخ و بازخورد

  • ارسال پاسخ به کاربر
  • ذخیره‌سازی نتیجه در پایگاه دانش
  • یادگیری از تعامل برای بهبود مدل‌ها

 

چالش‌های کلیدی در مسیر ساخت یک بات هوشمند ITSM

ساخت یک بات در نگاه اول ساده به نظر می‌رسد ورودی کاربر را بگیریم، تحلیل کنیم، به سیستم متصل شویم و پاسخ بدهیم. اما در عمل چالش‌های متعددی وجود دارد که هرکدام اگر درست مدیریت نشوند می‌توانند پروژه را با شکست مواجه کنند. در ادامه به مهم‌ترین آن‌ها اشاره می‌کنیم:

 

مدیریت ورودی‌های چند منبعی

در سازمان‌های بزرگ کاربران از کانال‌های مختلفی درخواست ارسال می‌کنند: ایمیل، پورتال، تماس تلفنی، پیام‌رسان سازمانی (مانند Microsoft Teams یا Mattermost).

  • چالش: یکپارچه‌سازی این کانال‌ها دشوار است. هر کدام فرمت و نیاز متفاوتی دارند.
  • راهکار: طراحی یک API Gateway استاندارد با FastAPI که بتواند همه‌ی این ورودی‌ها را به ساختار یکسانی (Request Object) تبدیل کند.

تشخیص زبان طبیعی در محیط‌های واقعی

کاربر ممکن است درخواست خود را به شکل‌های مختلف بیان کند: «پسوردم کار نمیکنه»، «رمزم پرید»، «وارد نمیشم».

  • چالش: شناسایی صحیح Intent در زبان فارسی با تنوع بیان و خطاهای املایی.
  • راهکار: استفاده از LangChain همراه با مدل‌های NER فارسی (مثل ParsBERT) و ابزارهای اصلاح متن (Normalizer + Corrector). همچنین باید Context Engineering را به‌کار گرفت تا بات از تاریخچه مکالمه و داده‌های سازمانی کمک بگیرد.

 

اتصال به سیستم‌های سازمانی

یک بات ITSM واقعی زمانی ارزش دارد که بتواند به سیستم‌هایی مثل Jira، Active Directory، CMDB یا مانیتورینگ وصل شود.

  • چالش: تنوع بالای APIها و نیاز به احراز هویت امن.
  • راهکار: ایجاد لایه‌ی Integration Service با FastAPI و ذخیره‌ی امن  Credentialها. در موارد حساس، استفاده از Service Account یا  Tokenهای موقت برای کاهش ریسک امنیتی.

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

در ایران و بسیاری از سازمان‌های Enterprise، داده‌ها باید روی سرورهای داخلی بمانند.

  • چالش: بسیاری از سرویس‌های پیشرفته جهانی (مانند سرویس ابری ServiceNow) قابل استفاده نیستند.
  • راهکار: اجرای همه ماژول‌ها به‌صورت On-Premise با Docker و ابزارهای متن‌باز. حتی در پردازش صوت، استفاده از Whisper لوکال به‌جای سرویس‌های ابری مثل Google Speech-to-Text.

مقیاس‌پذیری و بار کاری بالا

بات باید بتواند در لحظه صدها یا هزاران درخواست را پردازش کند.

  • چالش: استفاده هم‌زمان کاربران و فشار بر ماژول‌های سنگین مثل STT.
  • راهکار: معماری Microservice و توزیع بار پردازشی بین چند Container. همچنین، استفاده از  Queueها (RabbitMQ/Kafka) برای مدیریت بار لحظه‌ای.

مدیریت حافظه و Context

کاربران معمولا به‌صورت پیوسته مکالمه می‌کنند («دیروز تیکت دادم… الان حل نشده»).

  • چالش: بدون حافظه، بات هیچ ارتباطی بین پیام‌ها را درک نمی‌کند.
  • راهکار: استفاده از Conversation Memory در LangChain همراه با ذخیره‌ی ساختار یافته در Neo4j. این کار باعث می‌شود بات بتواند سابقه تعاملات را بازیابی کند.

تعامل چند عامل (Agentic AI)

در مسائل پیچیده، یک Agent واحد کافی نیست.

  • چالش: هماهنگی چندین عامل (مثلا عامل مانیتورینگ، عامل HR، عامل امنیت) برای رسیدن به پاسخ.
  • راهکار: استفاده از الگوهای مختلف تعامل:
    • Concurrent Agents برای پردازش موازی
    • Sequential Workflow برای کارهای مرحله‌ای
    • Multi-Agent Debate برای انتخاب بهترین راهکار
    • Reflection برای اصلاح پاسخ‌ها

ارزیابی کیفیت پاسخ‌ها

  • چالش: حتی اگر بات کار کند باید مطمئن شویم که کیفیت پاسخ‌ها رضایت‌ بخش است.
  • راهکار: تعریف متریک‌های MTTR، F1-Score، Precision/Recall برای اندازه‌گیری عملکرد و مقایسه پاسخ‌های بات با تیم انسانی.

تجربه کاربری (UX)

  • چالش: اگر پاسخ‌های بات کند یا غیرطبیعی باشند، کاربر اعتماد خود را از دست می‌دهد.
  • راهکار: طراحی رابط کاربری ساده (چت‌محور) و افزودن قابلیت‌های طبیعی مثل تایپ تدریجی پاسخ (Typing Indicator) یا نمایش پیشنهادهای آماده (Quick Replies).

نگهداری و توسعه بلندمدت

  • چالش: بات هوشمند پروژه‌ای یک‌باره نیست باید دائما به‌روزرسانی و یادگیری داشته باشد.
  • راهکار: طراحی Pipeline به‌روزرسانی مدل‌ها، پایگاه دانش پویا و معماری ماژولار که اجازه بدهد ابزارها یا مدل‌ها به‌ سادگی جایگزین شوند.

 

جمع‌بندی

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

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

در قسمت ششم این مجموعه یک گام جلوتر خواهیم رفت و به معرفی بات توسعه‌ یافته داخلی خواهیم پرداخت تا ببینیم این معماری چگونه به محصول واقعی و عملیاتی تبدیل می‌شود.

دیدگاه ها غیرفعال است