ข้ามไปยังเนื้อหาหลัก
Clinford Jordano Valencia
โปรเจกต์ทั้งหมด
AIแพลตฟอร์ม

การแจ้งเตือนฝั่งฟรอนต์เอนด์และบอตคัดแยกเหตุขัดข้องที่มี AI ช่วย

การแจ้งเตือนจากการเปลี่ยนแปลงสัมพัทธ์ของเทเลเมทรี พร้อมแชตบอตที่มี LLM ช่วยเปลี่ยนการแจ้งเตือนให้เป็นสาเหตุที่น่าจะเป็นไปได้ ในเธรดที่ทีมทำงานอยู่แล้ว

เทคโนโลยี
SQL · Alerting service · LLM API · Kubernetes · Internal chat bot

ปัญหา

การหลุดออกอย่างเงียบ ๆ ตอนส่งต่อให้บุคคลที่สามถูกพบหลายวันต่อมาผ่านฝ่ายสนับสนุนลูกค้า การแจ้งเตือนอิงเกณฑ์ตายตัวและมีสัญญาณรบกวนมาก ผู้คนจึงชินกับการมองข้าม

แนวทาง

  • เส้นฐานสัมพัทธ์ ไม่ใช่เกณฑ์ตายตัว บริการแจ้งเตือนรัน SQL กับที่เก็บเทเลเมทรีและเทียบแต่ละเมตริกกับชั่วโมงเดียวกันของสัปดาห์ก่อน การลดลง 20% มีความหมายทั้งตอนตีสามในภูมิภาคหนึ่งและตอนเที่ยงในอีกภูมิภาคหนึ่ง และความผันผวนของทราฟฟิกทั่วโลกไม่ก่อให้เกิดการเตือนผิดอีกต่อไป
  • การแจ้งเตือนที่มาพร้อมบริบท เมื่อการแจ้งเตือนทำงาน จะโพสต์การ์ดเหตุขัดข้องลงในแชตของทีม จากนั้นเวิร์กเกอร์เบื้องหลังจะรวบรวมข้อผิดพลาดฝั่งฟรอนต์เอนด์ล่าสุด เวอร์ชันคอนฟิกที่ใช้อยู่ และล็อกการดีพลอย แล้วส่งเป็นพรอมต์แบบมีโครงสร้างไปยัง LLM API
  • สรุปในเธรด บอตตอบด้วยสาเหตุที่น่าจะเป็นไปได้ เช่น คอนเวอร์ชันของขั้นตอนหนึ่งลดลงในภูมิภาคหนึ่ง มีข้อผิดพลาด null-pointer ใน wrapper เนทีฟ มีการเปลี่ยนคอนฟิกที่ปล่อยไปเมื่อ 15 นาทีก่อน และบริการปลายทางหมดเวลา

ผลลัพธ์

เวลาตรวจพบลดจากหลายชั่วโมงหรือหลายวันเหลือไม่กี่นาที เวลาในการบรรเทาลดลง และการแจ้งเตือนกลายเป็นสิ่งที่ผู้คนเชื่อถือ ยังติดตามอัตราสัญญาณต่อสัญญาณรบกวนของการแจ้งเตือน (สัดส่วนที่ตรงกับเหตุจริง) และเวลาเฉลี่ยระหว่างความล้มเหลวของโมดูลฟรอนต์เอนด์

ทำไมจึงเลือกวิธีนี้

การแจ้งเตือนทั่วไปบอกแค่ว่ามีบางอย่างพัง การรวบรวมข้อมูลอัตโนมัติแล้วสรุปช่วยปิดช่องว่างระหว่างเมตริกกับการที่คนเข้าใจมัน ซึ่งเป็นจุดที่เวลาตอบสนองส่วนใหญ่หายไป