AIแพลตฟอร์ม
การแจ้งเตือนฝั่งฟรอนต์เอนด์และบอตคัดแยกเหตุขัดข้องที่มี AI ช่วย
การแจ้งเตือนจากการเปลี่ยนแปลงสัมพัทธ์ของเทเลเมทรี พร้อมแชตบอตที่มี LLM ช่วยเปลี่ยนการแจ้งเตือนให้เป็นสาเหตุที่น่าจะเป็นไปได้ ในเธรดที่ทีมทำงานอยู่แล้ว
- เทคโนโลยี
- SQL · Alerting service · LLM API · Kubernetes · Internal chat bot
ปัญหา
การหลุดออกอย่างเงียบ ๆ ตอนส่งต่อให้บุคคลที่สามถูกพบหลายวันต่อมาผ่านฝ่ายสนับสนุนลูกค้า การแจ้งเตือนอิงเกณฑ์ตายตัวและมีสัญญาณรบกวนมาก ผู้คนจึงชินกับการมองข้าม
แนวทาง
- เส้นฐานสัมพัทธ์ ไม่ใช่เกณฑ์ตายตัว บริการแจ้งเตือนรัน SQL กับที่เก็บเทเลเมทรีและเทียบแต่ละเมตริกกับชั่วโมงเดียวกันของสัปดาห์ก่อน การลดลง 20% มีความหมายทั้งตอนตีสามในภูมิภาคหนึ่งและตอนเที่ยงในอีกภูมิภาคหนึ่ง และความผันผวนของทราฟฟิกทั่วโลกไม่ก่อให้เกิดการเตือนผิดอีกต่อไป
- การแจ้งเตือนที่มาพร้อมบริบท เมื่อการแจ้งเตือนทำงาน จะโพสต์การ์ดเหตุขัดข้องลงในแชตของทีม จากนั้นเวิร์กเกอร์เบื้องหลังจะรวบรวมข้อผิดพลาดฝั่งฟรอนต์เอนด์ล่าสุด เวอร์ชันคอนฟิกที่ใช้อยู่ และล็อกการดีพลอย แล้วส่งเป็นพรอมต์แบบมีโครงสร้างไปยัง LLM API
- สรุปในเธรด บอตตอบด้วยสาเหตุที่น่าจะเป็นไปได้ เช่น คอนเวอร์ชันของขั้นตอนหนึ่งลดลงในภูมิภาคหนึ่ง มีข้อผิดพลาด null-pointer ใน wrapper เนทีฟ มีการเปลี่ยนคอนฟิกที่ปล่อยไปเมื่อ 15 นาทีก่อน และบริการปลายทางหมดเวลา
ผลลัพธ์
เวลาตรวจพบลดจากหลายชั่วโมงหรือหลายวันเหลือไม่กี่นาที เวลาในการบรรเทาลดลง และการแจ้งเตือนกลายเป็นสิ่งที่ผู้คนเชื่อถือ ยังติดตามอัตราสัญญาณต่อสัญญาณรบกวนของการแจ้งเตือน (สัดส่วนที่ตรงกับเหตุจริง) และเวลาเฉลี่ยระหว่างความล้มเหลวของโมดูลฟรอนต์เอนด์
ทำไมจึงเลือกวิธีนี้
การแจ้งเตือนทั่วไปบอกแค่ว่ามีบางอย่างพัง การรวบรวมข้อมูลอัตโนมัติแล้วสรุปช่วยปิดช่องว่างระหว่างเมตริกกับการที่คนเข้าใจมัน ซึ่งเป็นจุดที่เวลาตอบสนองส่วนใหญ่หายไป