ನಾನು 20 ವರ್ಷಗಳ ಸಪೋರ್ಟ್ ಟಿಕೆಟ್‌ಗಳ ಮುಂದೆ ಒಂದು AI ಏಜೆಂಟ್ ಅನ್ನು ಇರಿಸಿದೆ

ನಮ್ಮ ಬಳಿ ಹತ್ತು ಲಕ್ಷ (one million) ಟಿಕೆಟ್‌ಗಳಿರುವ ಒಂದು ಹೆಲ್ಪ್‌ಡೆಸ್ಕ್ ವ್ಯವಸ್ಥೆಯಿದೆ. ನಮ್ಮ ಬಳಿ 2,400 ಮ್ಯಾನುಯಲ್‌ಗಳು ಮತ್ತು ಎರಡು ಬೃಹತ್ ಕೋಡ್‌ಬೇಸ್‌ಗಳಿವೆ (codebases).

ಒಬ್ಬ ಡೆವಲಪರ್ ನಾವು ಈ ಹಿಂದೆ ಯಾವುದಾದರೂ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಿದ್ದೇವೆಯೇ ಎಂದು ಕೇಳಿದಾಗ, ಉತ್ತರ ಯಾವಾಗಲೂ 'ಹೌದು' ಎಂದೇ ಇರುತ್ತದೆ. ಆದರೆ ಆ ಡೇಟಾ ಎಲ್ಲೋ ಅಡಗಿದೆ. ಹಿರಿಯ ಸಿಬ್ಬಂದಿ ಅದನ್ನು ಹುಡುಕಲು ಗಂಟೆಗಟ್ಟಲೆ ಸಮಯ ವ್ಯರ್ಥ ಮಾಡುತ್ತಾರೆ. ಕಿರಿಯರು ವಾರಗಟ್ಟಲೆ ಸಮಯ ಕಳೆಯುತ್ತಾರೆ.

ಈ ಎಲ್ಲಾ ಡೇಟಾದ ಮುಂದೆ ಕೆಲಸ ಮಾಡಲು ನಾನು ಒಂದು AI ಏಜೆಂಟ್ ಅನ್ನು ನಿರ್ಮಿಸಿದೆ. ಇದು ಈಗ ಪ್ರೊಡಕ್ಷನ್‌ನಲ್ಲಿ (production) ಇದೆ. ವಾಸ್ತವವಾಗಿ ಏನಾಯಿತು ಎಂಬುದು ಇಲ್ಲಿದೆ.

ಡೇಟಾ ದೊಡ್ಡ ಸವಾಲಾಗಿರಲಿಲ್ಲ. ಎಲ್ಲಿ ಹುಡುಕಬೇಕು ಎಂದು ತಿಳಿಯುವುದು ದೊಡ್ಡ ಸವಾಲಾಗಿತ್ತು. ಏಜೆಂಟ್ ತಾನಾಗಿಯೇ ಸುಳ್ಳು ಮಾಹಿತಿಗಳನ್ನು ಸೃಷ್ಟಿಸುವುದನ್ನು ನಿಲ್ಲಿಸುವುದು ಇನ್ನೂ ಕಷ್ಟವಾಗಿತ್ತು.

ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ:

  • ನೈಸರ್ಗಿಕ ಭಾಷೆಯ ಇನ್‌ಪುಟ್ (natural language input) ಹೊಂದಿರುವ ಒಂದು ಏಜೆಂಟ್.
  • ಇದು ಹೆಲ್ಪ್‌ಡೆಸ್ಕ್ ಡೇಟಾಬೇಸ್, ಪ್ರಾಜೆಕ್ಟ್ ಟೂಲ್ಸ್, GitLab ಮತ್ತು SVN ಅನ್ನು ಓದುತ್ತದೆ.
  • ಇದು ಮ್ಯಾನುಯಲ್‌ಗಳು ಮತ್ತು ಹಳೆಯ ಟಿಕೆಟ್‌ಗಳ ಮೇಲೆ ವೆಕ್ಟರ್ ಸರ್ಚ್ (vector searches) ಮಾಡುತ್ತದೆ.
  • ಇದು .xlsx ಅಥವಾ .docx ನಂತಹ ಫೈಲ್‌ಗಳನ್ನು ರಚಿಸಬಲ್ಲದು.
  • ಇದು ತನ್ನದೇ ಆದ ಟೂಲ್‌ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು ಸಮಾಂತರವಾಗಿ (in parallel) ಚಲಾಯಿಸುತ್ತದೆ.

ಇದರ ಆರ್ಕಿಟೆಕ್ಚರ್ (architecture) ಸರಳವಾಗಿದೆ. ಇದು ಮುಖ್ಯ ಅಪ್ಲಿಕೇಶನ್‌ನಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ಒಂದು Node ಕಂಟೇನರ್‌ನಲ್ಲಿ ಚಲಿಸುತ್ತದೆ. ವೈಫಲ್ಯದ ಪ್ರತ್ಯೇಕತೆಗಾಗಿ (failure isolation) ನಾನು ಇದನ್ನು ಮಾಡಿದೆ. ಒಂದು ವೇಳೆ AI ವಿಫಲವಾದರೂ, ಹೆಲ್ಪ್‌ಡೆಸ್ಕ್ ಕಾರ್ಯನಿರ್ವಹಿಸುವುದನ್ನು ಮುಂದುವರಿಸುತ್ತದೆ.

ಪ್ರಾಂಪ್ಟ್ (prompt) ಬಗ್ಗೆ ಕಲಿತ ದೊಡ್ಡ ಪಾಠವೆಂದರೆ ಅದು. ನಾನು ಆರಂಭದಲ್ಲಿ ಒಂದು ದೊಡ್ಡ ಪಠ್ಯದ ಗೋಡೆಯಂತಿದ್ದ ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಬಳಸಿದ್ದೆ. ಅದು 40,000 ಟೋಕನ್‌ಗಳಾಗಿತ್ತು. ಅದನ್ನು ನಿರ್ವಹಿಸುವುದು ಕಷ್ಟವಾಗಿತ್ತು ಮತ್ತು ಏಜೆಂಟ್ ತನ್ನ ಗಮನವನ್ನು ಕಳೆದುಕೊಳ್ಳುತ್ತಿತ್ತು.

ನಾನು ನನ್ನ ವಿಧಾನವನ್ನು ಬದಲಾಯಿಸಿದೆ. ನಾನು ಪ್ರಾಂಪ್ಟ್ ಅನ್ನು ಸಣ್ಣ ಸ್ಕಿಲ್ ಫೈಲ್‌ಗಳಾಗಿ (skill files) ವಿಂಗಡಿಸಿದೆ.

  • ಟಿಕೆಟ್ ಸರ್ಚ್ ಒಂದು ಫೈಲ್.
  • ಕೋಡ್ ಹಿಸ್ಟರಿ ಇನ್ನೊಂದು.
  • ಪ್ರಾಜೆಕ್ಟ್ ಮ್ಯಾನೇಜ್‌ಮೆಂಟ್ ಮೂರನೆಯದು.

ಮುಖ್ಯ ಪ್ರಾಂಪ್ಟ್ ಒಂದು ರೂಟರ್ (router) ರೀತಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ. ಅದಕ್ಕೆ ಅಗತ್ಯವಿದ್ದಾಗ ಮಾತ್ರ ಅದು ಒಂದು ಸ್ಕಿಲ್ ಅನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ. ಇದರಿಂದ ಪ್ರತಿ ರಿಕ್ವೆಸ್ಟ್‌ಗೆ ಬೇಕಾಗುವ ಟೋಕನ್‌ಗಳ ಸಂಖ್ಯೆ 40,000 ರಿಂದ 8,000 ಕ್ಕೆ ಇಳಿಕೆಯಾಯಿತು. ಏಜೆಂಟ್ ತನ್ನ ಕೆಲಸದ ಮೇಲೆ ಗಮನ ಹರಿಸುತ್ತದೆ ಮತ್ತು ಕೋಡ್ ಅನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡುವುದು ಸುಲಭವಾಗುತ್ತದೆ.

ನಾನು ಯೂಸರ್ ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು (user profiles) ಕೂಡ ಸೇರಿಸಿದೆ. ಒಬ್ಬ ಡೆವಲಪರ್‌ಗೆ ಕೋಡ್ ಪಥಗಳು (code paths) ಸಿಗುತ್ತವೆ. ಒಬ್ಬ ಪ್ರಾಜೆಕ್ಟ್ ಮ್ಯಾನೇಜರ್‌ಗೆ ಸ್ಟೇಟಸ್ ಸಮ್ಮರಿಗಳು (status summaries) ಸಿಗುತ್ತವೆ. ಯಾರು ಕೇಳುತ್ತಿದ್ದಾರೆ ಎಂದು ಹೇಳದೆಯೇ ಏಜೆಂಟ್‌ಗೆ ತಿಳಿಯುತ್ತದೆ.

ಇದು ಪರಿಪೂರ್ಣವಾಗಿಲ್ಲ. ನಾವು ಕೆಲವು ನೈಜ ವೈಫಲ್ಯಗಳನ್ನು ಎದುರಿಸಿದ್ದೇವೆ:

  • ಹ್ಯಾಲ್ಯುಸಿನೇಷನ್‌ಗಳು (Hallucinations): ಏಜೆಂಟ್ ನಕಲಿ URLಗಳನ್ನು ಸೃಷ್ಟಿಸಿತು. ಪರಿಹಾರ: ನಿಖರವಾದ ಪ್ಯಾಟರ್ನ್‌ಗಳನ್ನು ನಿಗದಿಪಡಿಸಿ ಅಥವಾ ಲುಕ್‌ಅಪ್ (lookup) ಮಾಡಲು ಒತ್ತಾಯಿಸಿ.
  • ಮೆಮೊರಿ ನಷ್ಟ (Memory loss): ದೀರ್ಘ ಸಂಭಾಷಣೆಗಳಲ್ಲಿ ಏಜೆಂಟ್ ನಿಯಮಗಳನ್ನು ಮರೆತುಹೋಯಿತು. ಪರಿಹಾರ: ಪ್ರತಿ ಹಂತದಲ್ಲೂ ಒಂದು ರಚನಾತ್ಮಕ ಟು-ಡೂ ಲಿಸ್ಟ್ ಅನ್ನು (structured to-do list) ಸೇರಿಸಿ.
  • ಅನಂತ ಲೂಪ್‌ಗಳು (Infinite loops): ಏಜೆಂಟ್ ಅತಿಯಾದ ಟೂಲ್ ಕಾಲ್‌ಗಳನ್ನು ಮಾಡಿತು. ಪರಿಹಾರ: ಪ್ರತಿ ರಿಕ್ವೆಸ್ಟ್‌ಗೆ ಕಟ್ಟುನಿಟ್ಟಾದ ಬಜೆಟ್ ಅನ್ನು ನಿಗದಿಪಡಿಸಿ.
  • ಸುರಕ್ಷತೆ (Safety): ಬಳಕೆದಾರರು ಇದನ್ನು ವಂಚಿಸಲು ಪ್ರಯತ್ನಿಸಿದರು. ಪರಿಹಾರ: ಸುರಕ್ಷತೆಗಾಗಿ ಕೇವಲ ಪ್ರಾಂಪ್ಟ್‌ಗಳ ಮೇಲೆ ಅವಲಂಬಿತರಾಗಬೇಡಿ. ನಿಮ್ಮ ಇನ್‌ಫ್ರಾಸ್ಟ್ರಕ್ಚರ್‌ನಲ್ಲಿ ರೀಡ್-ಓನ್ಲಿ (read-only) ಡೇಟಾಬೇಸ್ ಕ್ರೆಡೆನ್ಶಿಯಲ್‌ಗಳನ್ನು ಬಳಸಿ.

ನಿಜವಾದ ಕೆಲಸವು ವಾರಕ್ಕೊಮ್ಮೆ ಮಾಡುವ ಲೂಪ್ ಆಗಿದೆ. ನಾನು ಲಾಗ್‌ಗಳನ್ನು (logs) ಓದುತ್ತೇನೆ. ಸೆಷನ್‌ಗಳಿಗೆ ಸ್ಕೋರ್ ನೀಡುತ್ತೇನೆ. ಸ್ಕಿಲ್‌ಗಳನ್ನು ಸರಿಪಡಿಸುತ್ತೇನೆ. ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡುತ್ತೇನೆ.

ನೀವು ಈ ಲೂಪ್ ಅನ್ನು ಬಿಟ್ಟರೆ, ನಿಮ್ಮ ಬಳಿ ಕೇವಲ ಒಂದು ಡೆಮೋ (demo) ಇರುತ್ತದೆ. ನೀವು ಇದನ್ನು ಮಾಡಿದರೆ, ನಿಮ್ಮ ಬಳಿ ಒಂದು ಪ್ರಾಡಕ್ಟ್ (product) ಇರುತ್ತದೆ.

ಗುರಿ ಕೇವಲ ವೇಗವಾದ ಉತ್ತರಗಳನ್ನು ನೀಡುವುದಲ್ಲ. ಗುರಿ ಎಂದರೆ ಸಂಸ್ಥೆಯ ಜ್ಞಾನವನ್ನು (institutional knowledge) ಉಳಿಸಿಕೊಳ್ಳುವುದು. ಒಬ್ಬ ವ್ಯಕ್ತಿ ಸಂಸ್ಥೆಯನ್ನು ಬಿಟ್ಟು ಹೋದಾಗ, ಅವರ ಜ್ಞಾನವು ಸಂಭಾಷಣೆಯ ದಾಖಲೆಗಳಲ್ಲಿ (transcripts) ಉಳಿಯುತ್ತದೆ.

ನಿಮ್ಮ ಬಿಲ್ಡ್‌ಗಾಗಿ ಸಾರಾಂಶ:

  • ನಿಮ್ಮ ಸ್ವಂತ ಇತಿಹಾಸದ ಮೇಲೆ RAG ಮೂಲಕ ಪ್ರಾರಂಭಿಸಿ.
  • ಒಂದು ದೊಡ್ಡ ಪ್ರಾಂಪ್ಟ್‌ಗೆ ಬದಲಾಗಿ ಲೇಜಿ-ಲೋಡೆಡ್ (lazy-loaded) ಸ್ಕಿಲ್ ಫೈಲ್‌ಗಳನ್ನು ಬಳಸಿ.
  • ವೈಯಕ್ತಿಕಗೊಳಿಸಿದ ಸಂದರ್ಭಕ್ಕಾಗಿ (personalized context) ಯೂಸರ್ ಪ್ರೊಫೈಲ್‌ಗಳನ್ನು ಬಳಸಿ.
  • AI ಅನ್ನು ಅದರದೇ ಆದ ಕಂಟೇನರ್‌ನಲ್ಲಿ ಪ್ರತ್ಯೇಕಿಸಿ.
  • ಸೂಚನೆಗಳ ಮೂಲಕವಲ್ಲದೆ, ಇನ್‌ಫ್ರಾಸ್ಟ್ರಕ್ಚರ್ ಮೂಲಕ ಸುರಕ್ಷತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
  • ಪ್ರತಿ ವಾರ ನಿಮ್ಮ ಲಾಗ್‌ಗಳನ್ನು ಓದಿ.

ಮೂಲ: https://dev.to/nunc/i-put-an-ai-agent-in-front-of-20-years-of-support-tickets-heres-what-actually-broke-5gdd

ಐಚ್ಛಿಕ ಕಲಿಕಾ ಸಮುದಾಯ: https://t.me/GyaanSetuAi