เวิร์กโฟลว์แบบหลายเอเจนต์ (Multi-agent workflows) กำลังครองความนิยมบน GitHub ในขณะนี้ นักพัฒนาต่างกำลังเชื่อมต่อโมเดลภาษาขนาดใหญ่ (LLMs) เข้าด้วยกัน โดยมอบหมายความเชี่ยวชาญเฉพาะด้านให้กับเอเจนต์แต่ละตัว และประสานงานผลลัพธ์ของพวกมันเพื่อจัดการกับงานที่โมเดลเดี่ยวๆ ไม่สามารถทำได้ ผลลัพธ์ที่ได้นั้นอาจน่าประทับใจมาก เอเจนต์ตัวหนึ่งทำหน้าที่วิจัย อีกตัวร่างเนื้อหา ตัวที่สามตรวจสอบข้อเท็จจริง และตัวที่สี่จัดรูปแบบผลลัพธ์สุดท้าย แต่ภายใต้การประสานงานทั้งหมดนั้น กลับมีความเปราะบางของการพึ่งพากันซ่อนอยู่ หากขั้นตอนแรกสุด ซึ่งก็คือการเปลี่ยนอินพุตจากมนุษย์ให้เป็นคำสั่งที่เครื่องอ่านได้นั้นล่าช้าหรือไม่แม่นยำ เครือข่ายทั้งหมดก็จะพังทลายลง เอเจนต์ในลำดับถัดไปไม่สามารถแก้ไขข้อมูลขยะได้ มันทำได้เพียงส่งต่อข้อมูลนั้นไปเท่านั้น
นี่คือจุดที่ Iflytek/domux เข้ามามีบทบาท มันคือโมเดลโอเพนซอร์สที่ถูกสร้างขึ้นเพื่อภารกิจสำคัญเพียงอย่างเดียว นั่นคือ: การทำความเข้าใจคำสั่งอย่างรวดเร็ว แทนที่จะสร้างเรียงความหรือสนทนาแบบปลายเปิด domux จะทำการวิเคราะห์ภาษาธรรมชาติและส่งออกข้อมูลที่มีโครงสร้างชัดเจนเพื่อให้เอเจนต์ตัวอื่นๆ นำไปใช้งานต่อได้ทันที ไม่ว่าจะเป็นระบบใดที่ต้องการอินพุตแบบมีโครงสร้างในเวลาจริง (real-time) ตั้งแต่ฮับบ้านอัจฉริยะไปจนถึงแผงควบคุมในโรงงานอุตสาหกรรม ก็สามารถใช้โมเดลนี้เป็นเลเยอร์การรับรู้ (perception layer) ได้
จุดที่อ่อนแอที่สุดในห่วงโซ่
ลองพิจารณาสิ่งที่เกิดขึ้นเมื่อผู้ใช้สั่งคำสั่งง่ายๆ เช่น “ทำให้ตรงนี้สว่างขึ้นหน่อย” ในการตั้งค่าแบบหลายเอเจนต์ คำพูดนั้นอาจต้องผ่านตัวควบคุมแสงสว่าง ตัวตรวจสอบพลังงาน และตัวบันทึกความปลอดภัย หากตัววิเคราะห์ (parser) เริ่มต้นส่งประโยคที่คลุมเครือกลับมา เช่น “ผู้ใช้ต้องการแสงสว่างมากขึ้น” เอเจนต์ตัวต่อๆ ไปทั้งหมดจะต้องตีความหมายใหม่ บางตัวอาจหยุดชะงักเพื่อรอพารามิเตอร์ที่แน่นอน บางตัวอาจเดาสถานที่หรือระดับความสว่างและทำผิดพลาด ส่งผลให้เวิร์กโฟลว์หยุดชะงักลง
ความหน่วง (Latency) ยิ่งทำให้ปัญหาแย่ลง หากเพิ่มความล่าช้าในการวิเคราะห์เพียงไม่กี่ร้อยมิลลิวินาทีที่จุดเริ่มต้น เมื่อข้อมูลไปถึงเอเจนต์ตัวที่สาม ระบบจะเริ่มรู้สึกว่ามันทำงานผิดปกติไปแล้ว สภาพแวดล้อมที่ต้องทำงานแบบเรียลไทม์ไม่ยอมรับการเริ่มต้นที่ล่าช้า นักพัฒนากำลังค้นพบว่าเฟรมเวิร์กการประสานงาน (orchestration frameworks) อาจดูสวยงามในแผนผังโครงสร้าง แต่จะพังทลายลงเมื่อได้รับอินพุตที่กำกวมหรือล่าช้า คุณต้องการเลเยอร์เฉพาะทางที่ทำหน้าที่ทำให้คำสั่งเป็นมาตรฐานก่อนที่ส่วนที่เหลือของเวิร์กโฟลว์จะเริ่มประมวลผลด้วยซ้ำ
Domux ถูกออกแบบมาเพื่อเป็นเลเยอร์นั้น มันรับภาษาของมนุษย์ที่ยุ่งเหยิงและแปลงให้เป็นสกีมา (schema) ที่สะอาดตา ซึ่งเอเจนต์ในลำดับถัดไปสามารถใช้เป็นข้อมูลที่ถูกต้องที่สุด (ground truth) ได้
ความเร็ว โครงสร้าง และความแม่นยำ
โปรเจกต์นี้ชูจุดเด่นสามประการที่ส่งผลโดยตรงต่อการทำงานในระดับโปรดักชัน
ประการแรก มันตอบสนองภายในเวลาไม่ถึง 150 มิลลิวินาที เกณฑ์นี้มีความสำคัญมาก ในสภาพแวดล้อมที่มีการโต้ตอบ การตอบสนองที่น้อยกว่าหนึ่งในสี่วินาทีจะให้ความรู้สึกว่าเกิดขึ้นทันที ในขณะที่การตอบสนองที่ใกล้เคียงหนึ่งวินาทีจะทำให้ผู้ใช้เลิกใช้เครื่องมือนั้น ไม่ว่าอินพุตจะมาจากเสียงหรืออินเทอร์เฟซการแชท domux จะช่วยให้ไปป์ไลน์ทำงานได้อย่างต่อเนื่อง
ประการที่สอง มันแปลงอินพุตให้เข้ากับสกีมาแบบเจ็ดฟิลด์ที่เข้มงวด จะไม่มีข้อความแบบอิสระ (free-form text) ให้ระบบปลายน้ำต้องไปถอดรหัส ทุกคำสั่งจะถูกจัดลงในคอลัมน์ที่คาดการณ์ได้
ประการที่สาม มันเคลมความแม่นยำที่ 98.37 เปอร์เซ็นต์ ควบคู่ไปกับการปฏิบัติตามรูปแบบ (format compliance) ที่ 100 เปอร์เซ็นต์ ความแม่นยำหมายถึงโมเดลมักจะเข้าใจผู้ใช้ได้อย่างถูกต้อง ส่วนการปฏิบัติตามรูปแบบหมายถึงผลลัพธ์จะมีโครงสร้างที่ถูกต้องเสมอ ตัววิเคราะห์ที่แม่นยำ 99 เปอร์เซ็นต์แต่บางครั้งก็ทำฟิลด์หายหรือสร้างฟิลด์ใหม่ขึ้นมาเอง ถือเป็นความเสี่ยงในเครือข่ายอัตโนมัติ แถวข้อมูลที่ผิดรูปแบบเพียงแถวเดียวอาจทำให้เอเจนต์ผู้รับข้อมูลพังได้
นี่คือลักษณะของผลลัพธ์ที่แท้จริง เมื่อโมเดลประมวลผลคำสั่ง มันจะส่งคืนระเบียนข้อมูลที่คั่นด้วยเครื่องหมาย pipe (|):
action|device|attribute|value|unit|room|floor
turnOn|light|brightness|80|percent|living room|ground floor
รูปแบบนี้ถูกออกแบบมาอย่างตั้งใจ ข้อความที่คั่นด้วย pipe นั้นง่ายต่อการแยกส่วน (parse) ในทุกภาษาโปรแกรมโดยไม่ต้องพึ่งพาไลบรารีหนักๆ มันช่วยหลีกเลี่ยงความเทอะทะของ JSON และความหน่วงจากการทำ nested serialization เอเจนต์ควบคุมแสงสว่างสามารถอ่านคอลัมน์ action และ device เพื่อดำเนินการได้ทันที เอเจนต์บันทึกข้อมูลสามารถดึงข้อมูล room และ floor ได้โดยไม่ต้องรันการประมวลผล (inference) อีกรอบ โครงสร้างนี้ช่วยขจัดความกำกวมโดยการออกแบบ
การจัดการกับเจตนาของมนุษย์ที่คลุมเครือ
คนจริงๆ ไม่ได้พูดเหมือนเอกสาร API พวกเขาพูดว่า “ทำให้สว่างขึ้นหน่อย” หรือ “ทำให้ที่นี่อุ่นขึ้นหน่อย” ตัววิเคราะห์ที่เปราะบางจะล้มเหลวกับคำพูดเหล่านี้ Domux จัดการกับความคลุมเครือโดยการจับคู่เจตนาเข้ากับการดำเนินการปรับเปลี่ยน และปล่อยให้ระบบปลายน้ำเป็นผู้กำหนดค่าที่แน่นอน หากมีคนพูดว่า “ทำให้สว่างขึ้นหน่อย” โมเดลจะระบุการดำเนินการเป็นการเพิ่มความสว่าง ส่วนระดับตัวเลขที่เฉพาะเจาะจงจะถูกปล่อยให้เป็นหน้าที่ของเอเจนต์ควบคุมแสงสว่างในการตัดสินใจตามค่าที่อ่านได้ในปัจจุบัน, ช่วงเวลาของวัน, หรือ
