สามวิธีในการสร้างแชทกลุ่ม AI: ทำไมเราถึงเลือกเส้นทางที่ยาก

Reverie Team

Reverie Team

12/9/2025

#วิศวกรรม#สถาปัตยกรรม AI#แชทกลุ่ม#การวิเคราะห์เชิงเทคนิคเชิงลึก
สามวิธีในการสร้างแชทกลุ่ม AI: ทำไมเราถึงเลือกเส้นทางที่ยาก

คำถามที่เริ่มต้นทุกอย่าง

"ทำไมแต่ละตัวละครถึงไม่สามารถมีบับเบิลข้อความของตัวเองได้ เหมือนแอปอื่นๆ?"

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

คำตอบไม่ใช่ความเกียจคร้านหรือการมองข้าม นี่คือทางเลือกทางวิศวกรรมที่ตั้งใจซึ่งเกิดจากการทดลองหลายเดือนกับสามแนวทางที่แตกต่างกันโดยพื้นฐานสำหรับการสนทนากลุ่ม AI

สามสถาปัตยกรรม

เมื่อสร้างการสนทนา AI หลายตัวละคร ทุกแพลตฟอร์มต้องเผชิญกับการตัดสินใจเดียวกัน มีสามวิธีที่แน่นอน แต่ละวิธีมีผลกระทบอย่างลึกซึ้งต่อต้นทุน คุณภาพ และประสบการณ์ผู้ใช้

1. เอาต์พุตแบบมีโครงสร้าง (JSON Arrays)

แนวทางที่พบบ่อยที่สุดในอุตสาหกรรม คุณขอให้ AI ส่งคืน JSON array ที่แต่ละองค์ประกอบแทนคำตอบของตัวละคร:

[
  {
    "speaker": "เชอร์ล็อค",
    "emotion": "สนใจ",
    "content": "น่าสนใจ รูปแบบโคลนบ่งบอกว่า..."
  },
  {
    "speaker": "วัตสัน",
    "emotion": "สับสน",
    "content": "โฮล์มส์ คุณหมายความว่าอย่างไร?"
  }
]

ข้อดี:

  • การเรียก API ครั้งเดียว การใช้เครดิตครั้งเดียว
  • ง่ายต่อการแยกวิเคราะห์และแสดงผลเป็นบับเบิลข้อความแยกกัน
  • สามารถรวมเมตาดาต้าที่หลากหลาย (อารมณ์ การกระทำ คำอธิบายฉาก)
  • เหมาะสมสำหรับการสร้างคำแนะนำคำตอบของผู้ใช้

ความเป็นจริง:

  • เฉพาะโมเดลพรีเมียมราคาแพง (Claude, GPT-4) เท่านั้นที่รองรับเอาต์พุตแบบมีโครงสร้างอย่างน่าเชื่อถือ - โมเดลราคาประหยัดส่วนใหญ่มีปัญหากับการจัดรูปแบบ JSON ที่สม่ำเสมอ
  • ข้อผิดพลาดของรูปแบบทำลายการตอบสนองทั้งหมด
  • คำสั่ง JSON ใช้โทเคน ลดพื้นที่สร้างสรรค์
  • โมเดลรู้สึก "ถูกจำกัด" - ความคิดสร้างสรรค์มักได้รับผลกระทบ
  • ข้อจำกัดเนื้อหาเข้มงวดขึ้น: โหมดเอาต์พุตแบบมีโครงสร้างมักกระตุ้นการกรองเนื้อหาที่ก้าวร้าวมากขึ้น ทำให้สถานการณ์ roleplay สำหรับผู้ใหญ่หรือกล้าหาญมีแนวโน้มที่จะล้มเหลวมากขึ้น
  • การปนเปื้อนบริบท: ประวัติการสนทนาของคุณเต็มไปด้วยโครงสร้าง JSON
  • ความซับซ้อนในการจัดการข้อผิดพลาด: เกิดอะไรขึ้นเมื่อการแยกวิเคราะห์ล้มเหลวกลางการสตรีม?

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

2. การเรียกเครื่องมือ (โหมดเอเจนต์)

แนวทางที่ "ฉลาด" ที่สุด AI ตัดสินใจว่าตัวละครใดควรพูดต่อไป เรียกเครื่องมือเพื่อระบุสิ่งนี้ จากนั้นสร้างคำตอบของตัวละครนั้น ทำซ้ำจนกว่าฉากจะสมบูรณ์

AI คิด: "วัตสันควรตอบสนองต่อการค้นพบนี้"
→ เรียกเครื่องมือ: next_speaker("วัตสัน")
→ สร้างคำตอบของวัตสัน
→ AI คิด: "ตอนนี้เชอร์ล็อคจะแทรก"
→ เรียกเครื่องมือ: next_speaker("เชอร์ล็อค")
→ สร้างคำตอบของเชอร์ล็อค
...

ข้อดี:

  • การไหลของการสนทนาที่เป็นธรรมชาติที่สุด
  • AI มีการควบคุมสร้างสรรค์เต็มที่เกี่ยวกับจังหวะของฉาก
  • คำตอบของแต่ละตัวละครได้รับคุณภาพการสร้างเฉพาะ
  • สร้างข้อความแยกต่างหากต่อตัวละครอย่างเป็นธรรมชาติ

ความเป็นจริง:

  • การเรียก API หลายครั้ง = ค่าใช้จ่ายเครดิตหลายครั้ง
  • ความหน่วงสะสม: N ตัวละคร = N รอบการเดินทาง
  • เฉพาะโมเดลระดับสูง (Claude, GPT-4) เท่านั้นที่จัดการการเรียกเครื่องมือได้อย่างน่าเชื่อถือ - โมเดลราคาถูกมักล้มเหลวหรือเห็นภาพหลอนการเรียกเครื่องมือ
  • การจัดการสถานะที่ซับซ้อนระหว่างการเรียก
  • ความเสี่ยงของลูปไม่สิ้นสุดหรือการยุติที่ไม่คาดคิด
  • ฝันร้ายการดีบัก: ปัญหายากที่จะทำซ้ำ

นี่คือ "สถาปัตยกรรมในฝัน" ที่ดูสวยงามบนกระดาษแต่สร้างปัญหาการดำเนินงานในระดับใหญ่

3. เอาต์พุตข้อความอิสระ (ตัวเลือกปัจจุบันของเรา)

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

เชอร์ล็อคโน้มตัวไปข้างหน้า ดวงตาแหลมคม "น่าสนใจ รูปแบบ
โคลนบ่งบอกว่าผู้ต้องสงสัยของเรามาจากทางตะวันออก"

วัตสันขมวดคิ้ว "โฮล์มส์ คุณหมายความว่าอย่างไร? มันก็แค่โคลน"

"แค่โคลนเหรอ?" เชอร์ล็อคยิ้ม "วัตสันที่รัก ไม่มีอะไร
ที่เป็น 'แค่' อะไรเลย"

ข้อดี:

  • ทำงานกับทุกโมเดล AI ไม่ต้องการคุณสมบัติพิเศษ
  • เสรีภาพในการสร้างสรรค์สูงสุด - AI เขียนอย่างเป็นธรรมชาติ
  • บริบทสะอาด: ประวัติการสนทนาอ่านเหมือนนิยาย
  • ประสบการณ์การสตรีมที่ยอดเยี่ยม
  • การเรียกครั้งเดียว ค่าใช้จ่ายที่คาดเดาได้
  • ง่ายที่สุดในการใช้งานและบำรุงรักษา

ความเป็นจริง:

  • ตัวละครทั้งหมดในบล็อกข้อความเดียว
  • ไม่สามารถสร้างคำตอบของตัวละครเดียวใหม่ได้ง่ายๆ
  • ความยืดหยุ่นของ UI จำกัด
  • ผู้ใช้ที่คาดหวังบับเบิลสไตล์แชทอาจสับสน

เราเรียนรู้สิ่งนี้อย่างยากลำบาก

นี่คือสิ่งที่เราไม่เคยแบ่งปันต่อสาธารณะมาก่อน: เวอร์ชันแรกของแชทกลุ่มของเราใช้การเรียกเครื่องมือ

เราเชื่อใน "สถาปัตยกรรมในฝัน" AI ตัดสินใจว่าใครพูดต่อไป ตัวละครแต่ละตัวได้รับการสร้างเฉพาะ บับเบิลข้อความแยกกันที่สวยงาม มันสง่างาม มันฉลาด มันยังเป็นหายนะในการผลิต

ผู้ใช้พบค่าใช้จ่ายที่คาดเดาไม่ได้ - บางครั้ง 3 เท่าของที่พวกเขาคาดหวังสำหรับการสนทนาเดียวกัน เวลาตอบสนองแตกต่างกันอย่างมากขึ้นอยู่กับจำนวนตัวละครที่ AI ตัดสินใจเกี่ยวข้อง โมเดลราคาถูกเห็นภาพหลอนการเรียกเครื่องมือหรือติดอยู่ในลูป บันทึกข้อผิดพลาดของเราเต็มไปด้วยกรณีขอบที่เราไม่เคยคาดการณ์

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

ทำไมเราถึงทำการเลือกนี้

หลังจากทดสอบทั้งสามแนวทางอย่างละเอียด - และส่งหนึ่งอันไปยังการผลิต - เราเลือกเอาต์พุตข้อความอิสระสำหรับแชทกลุ่ม นี่คือเหตุผล:

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

คุณภาพเหนือปริมาณ - รูปแบบที่จำกัดลดความคิดสร้างสรรค์ของ AI อย่างละเอียดอ่อน เมื่อเราเปรียบเทียบเอาต์พุต ข้อความอิสระสร้างการโต้ตอบของตัวละครที่มีชีวิตชีวาและเป็นธรรมชาติมากขึ้นอย่างสม่ำเสมอ AI สามารถมุ่งเน้นไปที่การเล่าเรื่องแทนไวยากรณ์ JSON

ความสามารถในการคาดเดาต้นทุน - โหมดเอเจนต์คิดค่าใช้จ่ายต่อตัวละครต่อคำตอบ ฉากห้าตัวละครอาจมีค่าใช้จ่าย 5-10 เท่าของที่คาดหวัง ผู้ใช้สมควรได้รับราคาที่คาดเดาได้

ความเข้ากันได้สากล - เรารองรับโมเดล AI หลายตัว ไม่ใช่ทั้งหมดที่รองรับเอาต์พุตแบบมีโครงสร้างหรือการเรียกเครื่องมือได้ดีเท่ากัน ข้อความอิสระทำงานได้ทุกที่ ให้ผู้ใช้มีตัวเลือกโมเดลมากขึ้น

การแลกเปลี่ยนที่เรายอมรับ

ใช่ เราเสียสละประสบการณ์ "หนึ่งบับเบิลต่อตัวละคร" แต่เราได้รับ:

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

สำหรับ roleplay กลุ่ม ที่การดื่มด่ำสำคัญที่สุด เราเชื่อว่าการแลกเปลี่ยนนี้คุ้มค่า

สิ่งที่กำลังจะมา: โหมดเรื่องราว

นี่คือสิ่งที่น่าตื่นเต้น: เรากำลังสร้างโหมดเรื่องราวใหม่ที่ใช้เอาต์พุตแบบมีโครงสร้าง

ทำไมต้องแนวทางที่ต่างกัน? โหมดเรื่องราวมีลำดับความสำคัญที่ต่างกัน:

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

กรณีการใช้งานที่แตกต่างกันสมควรได้รับสถาปัตยกรรมที่แตกต่างกัน เราไม่ยึดติดกับแนวทางใดแนวทางหนึ่ง - เราเลือกสิ่งที่ให้บริการผู้ใช้ได้ดีที่สุด

ความจริงอันตรงไปตรงมา

ไม่มีวิธีแก้ปัญหาที่สมบูรณ์แบบสำหรับการสนทนา AI หลายตัวละคร ทุกแนวทางแลกเปลี่ยนสิ่งที่มีคุณค่ากับสิ่งอื่น

แพลตฟอร์มอื่นที่แสดงบับเบิลแยกกัน? พวกเขาอาจใช้เอาต์พุตแบบมีโครงสร้างและยอมรับข้อจำกัดของมัน แพลตฟอร์มที่มีการควบคุมฉากที่ "ฉลาด" กว่า? อาจเป็นการเรียกเครื่องมือที่มีค่าใช้จ่ายและความหน่วงสูงกว่า

เราเลือกเส้นทางที่ให้ความสำคัญกับสิ่งที่ผู้ใช้ของเราให้คุณค่ามากที่สุด: roleplay กลุ่มที่น่าเชื่อถือ สร้างสรรค์ และคุ้มค่า

ประสบการณ์บับเบิลแยกกันดี แต่ไม่ใช่ด้วยค่าใช้จ่ายของทุกอย่างอื่น

สิ่งที่เรากำลังสำรวจ

เรากำลังทดลองกับแนวทางแบบผสมผสาน:

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

เป้าหมายไม่ใช่การหาคำตอบที่ "ถูกต้อง" แต่คือการปรับปรุงประสบการณ์อย่างต่อเนื่องในขณะที่รักษาสิ่งที่ใช้งานได้


มีความคิดเกี่ยวกับว่าแชทกลุ่มควรทำงานอย่างไร? เรายินดีที่จะรับฟังคุณ

พร้อมที่จะสัมผัสประสบการณ์การสนทนา AI แบบไดนามิกหรือไม่?

ร่วมกับผู้ใช้งานหมื่นคนที่กำลังสำรวจบุคลิกที่ไม่จำกัดและการโต้ตอบที่น่าดึงดูดบน Reverie

สามวิธีในการสร้างแชทกลุ่ม AI: ทำไมเราถึงเลือกเส้นทางที่ยาก | Reverie