ไม่เกี่ยวกับความเร็ว แต่เกี่ยวกับการสร้างตัวแทน (agents) หลายตัวที่มีมุมมองต่างกันมาโต้แย้งกันในเรื่องการตัดสินใจเดียว และหาข้อสรุปที่ดีกว่าที่ตัวใดตัวหนึ่งจะทำได้คนเดียว พร้อมโค้ดเต็มสำหรับ orchestrator, experts และขั้นตอนการรวมความเห็น
เมื่อคุณให้โมเดลตัวหนึ่งประเมินการตัดสินใจ มันจะให้มุมมองเดียว ซึ่งมักจะออกมาเป็นกลางและระมัดระวัง มันมักจะเห็นด้วย เกลี่ยให้เรียบเนียน และหาจุดสมดุล นั่นคือปัญหา: การตัดสินใจที่สำคัญไม่สามารถประเมินได้ด้วยมุมมองที่เป็นกลางเพียงมุมมองเดียว แต่ต้องถูกโจมตีจากหลายด้าน
กลุ่มผู้เชี่ยวชาญ (swarm) ของตัวแทนจะแก้ปัญหานี้ในเชิงโครงสร้าง คุณสร้างผู้เชี่ยวชาญหลายคน แต่ละคนมีบทบาทและอคติที่ชัดเจน: คนหนึ่งคิดถึงแต่เรื่องเงิน อีกคนคิดถึงแต่ความเสี่ยงทางเทคนิค คนที่สามคิดถึงแต่ผู้ใช้ พวกเขาจะวิเคราะห์การตัดสินใจเดียวกันอย่างอิสระ ได้ข้อสรุปที่แตกต่างกัน จากนั้นคุณจะบังคับให้มีการประนีประนอมข้อสรุปเหล่านั้น คุณค่าที่นี่ไม่ใช่ความเร็ว แต่เป็นความขัดแย้งที่ถูกสร้างไว้ในโครงสร้าง ตัวแทนเดียวมักจะคิดแบบกลุ่มกับตัวเอง ในขณะที่กลุ่มผู้เชี่ยวชาญที่มีบทบาทต่างกันจะไม่เป็นเช่นนั้น
บทความนี้แสดงวิธีการสร้างกลุ่มผู้เชี่ยวชาญดังกล่าวพร้อมโค้ด เราจะครอบคลุมสามส่วน: orchestrator ที่กำหนดบทบาท ผู้เชี่ยวชาญที่วิเคราะห์อย่างอิสระ และขั้นตอนการรวมที่ประนีประนอมข้อสรุปเหล่านั้นเป็นหนึ่งเดียว
สถาปัตยกรรม: Orchestrator, Experts, Merge
กลุ่มผู้เชี่ยวชาญเพื่อการวิเคราะห์ประกอบด้วยสามองค์ประกอบ
orchestrator รับงานและตัดสินใจว่าต้องใช้บทบาทผู้เชี่ยวชาญใดบ้าง สำหรับการประเมินการเปิดตัวผลิตภัณฑ์ สิ่งเหล่านี้อาจเป็นนักลงทุน วิศวกร ผู้เชี่ยวชาญด้านผลิตภัณฑ์ เจ้าหน้าที่รักษาความปลอดภัย orchestrator ไม่ได้วิเคราะห์ด้วยตัวเอง แต่ทำหน้าที่แจกจ่ายบทบาทให้กับผู้เชี่ยวชาญ
ผู้เชี่ยวชาญทำงานแบบคู่ขนานและเป็นอิสระต่อกัน แต่ละคนเห็นการตัดสินใจเดียวกัน แต่ผ่านเลนส์ของตัวเอง จุดสำคัญคือพวกเขาไม่เห็นข้อสรุปของกันและกัน มิฉะนั้นจะเกิดการคล้อยตาม ความเป็นอิสระคือสิ่งที่สร้างมุมมองที่แตกต่างกัน
ขั้นตอนการรวม (merge) จะรวบรวมข้อสรุปของผู้เชี่ยวชาญและประนีประนอม: พวกเขาเห็นตรงกันที่ไหน ขัดแย้งกันที่ไหน และคำตัดสินสุดท้ายจากทุกมุมมองคืออะไร นี่ไม่ใช่การหาค่าเฉลี่ย แต่เป็นการสังเคราะห์ที่เก็บความขัดแย้งไว้เป็นสัญญาณ

ขั้นตอนที่ 1: Client พื้นฐาน
เริ่มต้นด้วย client ง่ายๆ สำหรับโมเดล ฉันใช้รูปแบบข้อความที่เข้ากันได้กับ OpenAI ซึ่งใช้ได้กับผู้ให้บริการส่วนใหญ่และ Ollama ในเครื่อง
1import requests2import json3from concurrent.futures import ThreadPoolExecutor45API = "http://localhost:11434/api/chat" # Ollama หรือ endpoint ของผู้ให้บริการ6MODEL = "qwen2.5:32b"78def ask(system, user, temperature=0.7):9 resp = requests.post(API, json={10 "model": MODEL,11 "messages": [12 {"role": "system", "content": system},13 {"role": "user", "content": user},14 ],15 "temperature": temperature,16 "stream": False,17 }, timeout=120)18 resp.raise_for_status()19 return resp.json()["message"]["content"]
ขั้นตอนที่ 2: Orchestrator กำหนดบทบาท
orchestrator รับงานและตัดสินใจว่าต้องใช้ผู้เชี่ยวชาญคนใดบ้าง อย่า hardcode บทบาทไว้ล่วงหน้า ปล่อยให้โมเดลเลือกบทบาทสำหรับงานเฉพาะนั้น ซึ่งจะทำให้กลุ่มผู้เชี่ยวชาญใช้งานได้ทั่วไป ขอให้ส่งออกเป็น JSON ที่เคร่งครัดเพื่อให้แยกวิเคราะห์ได้
1ORCHESTRATOR_SYSTEM = """คุณคือ orchestrator ของกลุ่มผู้เชี่ยวชาญเชิงวิเคราะห์2สำหรับงานนี้ ให้กำหนดบทบาทผู้เชี่ยวชาญ 3-5 บทบาทที่จะให้มุมมองที่แตกต่าง3และขัดแย้งกันมากที่สุดต่อการตัดสินใจ บทบาทต้องมีผลประโยชน์ที่ขัดแย้งกัน4ไม่ใช่เสริมกัน56สำหรับแต่ละบทบาท ให้ระบุ: ชื่อ, จุดสนใจ (สิ่งที่มันยึดติด), อคติ (สิ่งที่มัน7ลำเอียงไปทางนั้น, สิ่งที่มันมักจะให้ค่าสูงเกินจริง)89ตอบกลับด้วย JSON array เท่านั้น ไม่ต้องมีคำอธิบาย:10[{"name": "...", "focus": "...", "bias": "..."}, ...]11"""1213def plan_roles(task):14 raw = ask(ORCHESTRATOR_SYSTEM, f"งานที่ต้องวิเคราะห์:\n{task}",15 temperature=0.9) # อุณหภูมิสูงขึ้นเพื่อความหลากหลายของบทบาท16 # ตัดเอาเฉพาะ JSON ในกรณีที่โมเดลเพิ่มข้อความรอบข้าง17 start, end = raw.find("["), raw.rfind("]") + 118 return json.loads(raw[start:end])
เราจงใจตั้งอุณหภูมิให้สูงที่นี่: เราต้องการบทบาทที่หลากหลาย ไม่ใช่บทบาทที่ชัดเจนเกินไป ข้อกำหนดที่ว่า "บทบาทต้องขัดแย้งกัน" ใน prompt คือกุญแจสำคัญ หากไม่มีสิ่งนี้ โมเดลจะให้บทบาทที่เกือบจะเหมือนกันสามบทบาทและจุดประสงค์ทั้งหมดของกลุ่มผู้เชี่ยวชาญก็จะสูญหายไป
ขั้นตอนที่ 3: ผู้เชี่ยวชาญวิเคราะห์แบบคู่ขนานและเป็นอิสระ
ผู้เชี่ยวชาญแต่ละคนได้รับบทบาทและการตัดสินใจเดียวกัน จุดสำคัญคือพวกเขาทำงานแบบคู่ขนานและไม่เห็นข้อสรุปของกันและกัน การทำงานแบบคู่ขนานที่นี่ไม่เพียงเพื่อความเร็ว แต่ยังรับประกันความเป็นอิสระ ผู้เชี่ยวชาญไม่สามารถปรับเปลี่ยนตามความเห็นของผู้อื่นได้
1EXPERT_SYSTEM = """คุณคือผู้เชี่ยวชาญที่มีบทบาท: {name}2จุดสนใจของคุณ: {focus}3อคติของคุณ: {bias} อย่าต่อต้านมัน มันคือคุณค่าของคุณต่อการวิเคราะห์นี้45วิเคราะห์การตัดสินใจอย่างเคร่งครัดจากตำแหน่งของคุณ อย่าเป็นกลาง6อย่าพยายามคำนึงถึงมุมมองอื่นๆ ผู้เชี่ยวชาญคนอื่นจะทำสิ่งนั้น7หน้าที่ของคุณคือผลักดันมุมมองของคุณให้ถึงขีดสุด89ให้:10- คำตัดสินจากตำแหน่งของคุณ (เห็นด้วย / ไม่เห็นด้วย / มีเงื่อนไข)11- ข้อโต้แย้งหลัก 2-3 ข้อจากมุมมองของคุณโดยเฉพาะ12- ความเสี่ยง 1 ข้อที่มองเห็นได้ชัดเจนที่สุดจากตำแหน่งของคุณและคนอื่นจะพลาด13สั้นและตรงประเด็น ไม่มีน้ำ"""1415def run_expert(role, task):16 system = EXPERT_SYSTEM.format(**role)17 opinion = ask(system, f"การตัดสินใจที่ต้องวิเคราะห์:\n{task}", temperature=0.7)18 return {"role": role["name"], "opinion": opinion}1920def run_swarm(roles, task):21 # เปิดตัวแบบคู่ขนาน: ความเป็นอิสระบวกกับความเร็ว22 with ThreadPoolExecutor(max_workers=len(roles)) as pool:23 futures = [pool.submit(run_expert, role, task) for role in roles]24 return [f.result() for f in futures]
สังเกต prompt ของผู้เชี่ยวชาญ: เราห้ามไม่ให้มันเป็นกลางอย่างชัดเจน นี่อาจดูขัดกับสัญชาตญาณ แต่นี่คือประเด็นสำคัญ หากผู้เชี่ยวชาญแต่ละคนพยายามคำนึงถึงทุกด้าน คุณจะได้ความคิดเห็นที่ระมัดระวังเหมือนกันห้าข้อ การบังคับให้แต่ละคนผลักดันมุมมองของตนให้ถึงขีดสุด คุณจะได้สเปกตรัมที่แท้จริง ซึ่งขั้นตอนการรวมจะนำไปประนีประนอม
ขั้นตอนที่ 4: การรวมประนีประนอมข้อสรุป
ตอนนี้เรามีความคิดเห็นที่เฉียบคมและเป็นด้านเดียวหลายข้อ ขั้นตอนการรวมจะรวบรวมเป็นคำตัดสินเดียว แต่ไม่ใช่โดยการหาค่าเฉลี่ย มันจะมองหาจุดที่ผู้เชี่ยวชาญเห็นตรงกัน (สัญญาณที่แข็งแกร่ง) จุดที่พวกเขาขัดแย้งกัน (โซนเสี่ยงที่ต้องตัดสินใจ) และสิ่งใดมีน้ำหนักมากกว่ากัน
1MERGE_SYSTEM = """คุณคือผู้สังเคราะห์ของกลุ่มผู้เชี่ยวชาญเชิงวิเคราะห์ คุณได้รับ2ความคิดเห็นจากผู้เชี่ยวชาญหลายคนที่มีอคติต่างกันต่อการตัดสินใจเดียว34หน้าที่ของคุณไม่ใช่การหาค่าเฉลี่ย หน้าที่ของคุณคือ:51. ข้อตกลง: สิ่งที่ผู้เชี่ยวชาญเห็นพ้องต้องกันแม้จะมีตำแหน่งที่แตกต่างกัน6 นี่คือสัญญาณที่เชื่อถือได้มากที่สุด จงเน้นย้ำมัน72. ความขัดแย้ง: จุดที่ผู้เชี่ยวชาญขัดแย้งกันโดยตรง อย่าทำให้มันเรียบเนียน8 ระบุความขัดแย้งอย่างชัดเจนและบอกว่าความขัดแย้งแต่ละด้านมีต้นทุนเท่าไร93. จุดบอด: ความเสี่ยงที่มีผู้เชี่ยวชาญเพียงคนเดียวระบุ แต่มันสำคัญ104. คำตัดสินสุดท้ายจากทุกสิ่ง: เห็นด้วย / ไม่เห็นด้วย / มีเงื่อนไข และภายใต้11 เงื่อนไขใดที่มันจะเปลี่ยนไป1213เขียนอย่างหนาแน่น เก็บความขัดแย้งไว้เป็นข้อมูล อย่าซ่อนมัน"""1415def merge_opinions(task, opinions):16 block = "\n\n".join(17 f"### ผู้เชี่ยวชาญ: {o['role']}\n{o['opinion']}" for o in opinions18 )19 user = f"การตัดสินใจ:\n{task}\n\nความคิดเห็นของผู้เชี่ยวชาญ:\n{block}"20 return ask(MERGE_SYSTEM, user, temperature=0.4) # อุณหภูมิต่ำลงเพื่อการสังเคราะห์ที่สุขุม
เราลดอุณหภูมิในขั้นตอนการรวม: หากผู้เชี่ยวชาญควรมีความหลากหลาย (T สูง) ผู้สังเคราะห์ควรสุขุมและสม่ำเสมอ (T ต่ำ) คำสั่งสำคัญที่นี่คือ "อย่าหาค่าเฉลี่ย เก็บความขัดแย้งไว้เป็นข้อมูล" การรวมแบบปกติจะทำให้ทุกอย่างกลายเป็นเละ "ในแง่หนึ่ง ในอีกแง่หนึ่ง" การรวมที่ดีจะพูดอย่างตรงไปตรงมา: นี่คือสิ่งที่ทุกคนเห็นด้วย และนี่คือความขัดแย้ง และมันมีต้นทุนเท่านี้
ขั้นตอนที่ 4.5: Devil's Advocate ต่อต้านข้อตกลงปลอม
มีอันตรายเงียบๆ: บางครั้งผู้เชี่ยวชาญเห็นพ้องต้องกันไม่ใช่เพราะการตัดสินใจนั้นดี แต่เพราะทุกคนมองไปในทางเดียวกันด้วยความเฉื่อย นี่คือข้อตกลงปลอม และมันอันตรายกว่าความขัดแย้งที่เปิดเผย เพราะมันดูเหมือนความมั่นใจ
เพื่อต่อต้านสิ่งนี้ เราจึงเพิ่มตัวแทนพิเศษหนึ่งตัว นั่นคือ devil's advocate หน้าที่เดียวของมันคือโจมตีฉันทามติ มันเห็นความคิดเห็นของผู้เชี่ยวชาญทั้งหมด และมีหน้าที่ต้องค้นหาว่าทำไมพวกเขาทั้งหมดอาจผิดพร้อมกัน หากกลุ่มผู้เชี่ยวชาญลงมติ "เห็นด้วย" อย่างเป็นเอกฉันท์ advocate จะมองหาสถานการณ์ที่มันเป็นหายนะ
1DEVIL_SYSTEM = """คุณคือ devil's advocate ในกลุ่มผู้เชี่ยวชาญเชิงวิเคราะห์ คุณได้รับ2ความคิดเห็นของผู้เชี่ยวชาญ หน้าที่เดียวของคุณ: โจมตีข้อตกลงของพวกเขา34หากผู้เชี่ยวชาญเห็นพ้องต้องกันในบางสิ่ง จงหาเหตุผลว่าทำไมพวกเขาทั้งหมดอาจผิด5พร้อมกัน มองหาจุดบอดร่วมกัน: ข้อสันนิษฐานที่ทุกคนยอมรับโดยไม่ตรวจสอบ6สถานการณ์ที่ไม่มีใครคิดถึงเพราะมันไม่สะดวก78อย่าสุภาพ คุณค่าของคุณคือคุณพูดในสิ่งที่กลุ่มไม่อยากได้ยิน ให้:9- ข้อสันนิษฐานร่วมกันของผู้เชี่ยวชาญที่อันตรายที่สุด10- สถานการณ์ที่ความคิดเห็นที่เป็นเอกฉันท์ของกลุ่มผู้เชี่ยวชาญกลายเป็นผิดอย่างร้ายแรง11- หนึ่งคำถามที่กลุ่มหลีกเลี่ยงอย่างระมัดระวัง12หากไม่มีข้อตกลงและผู้เชี่ยวชาญไม่เห็นด้วยกันจริงๆ จงพูดอย่างตรงไปตรงมา13และชี้ไปที่ความขัดแย้งที่ยังไม่ได้รับการแก้ไขที่รุนแรงที่สุด"""1415def run_devil(task, opinions):16 block = "\n\n".join(17 f"### {o['role']}\n{o['opinion']}" for o in opinions18 )19 user = f"การตัดสินใจ:\n{task}\n\nความคิดเห็นของกลุ่มผู้เชี่ยวชาญ:\n{block}"20 return ask(DEVIL_SYSTEM, user, temperature=0.8)
advocate ทำงานหลังจากผู้เชี่ยวชาญ แต่ก่อนขั้นตอนการรวม และการโจมตีของมันจะเข้าไปในการสังเคราะห์พร้อมกับความคิดเห็นอื่นๆ ประเด็นคือแม้แต่กลุ่มผู้เชี่ยวชาญที่เป็นเอกฉันท์ก็ยังมีตัวแทนอย่างน้อยหนึ่งตัวที่ถูกบังคับให้มองหารอยร้าว สิ่งนี้มีต้นทุนต่ำ (การเรียกใช้ครั้งเดียว) และทำลายการคิดแบบกลุ่มในเชิงโครงสร้าง: ตอนนี้ฉันทามติต้องอยู่รอดจากการถูกโจมตี ไม่ใช่แค่เกิดขึ้น
ขั้นตอนที่ 4.6: รอบการอภิปรายเพื่อเพิ่มความขัดแย้ง
การส่งผ่านผู้เชี่ยวชาญครั้งแรกนั้นเป็นอิสระ ซึ่งเหมาะสมสำหรับความหลากหลาย แต่หลังจากรวบรวมความคิดเห็นแล้ว คุณสามารถให้การอภิปรายหนึ่งรอบ: แสดงให้ผู้เชี่ยวชาญแต่ละคนเห็นสรุปความคิดเห็นของคนอื่นๆ และปล่อยให้มันคัดค้าน สิ่งนี้จะเพิ่มความขัดแย้ง ข้อโต้แย้งที่อ่อนแอจะหายไป ข้อโต้แย้งที่แข็งแกร่งจะมั่นคงขึ้น
1DEBATE_SYSTEM = """คุณคือผู้เชี่ยวชาญ {name} ในรอบที่สองของการวิเคราะห์2ตำแหน่งเดิมของคุณ:3{own_opinion}45ตอนนี้คุณเห็นความคิดเห็นของผู้เชี่ยวชาญคนอื่นๆ อย่ายอมจำนนภายใต้ความกดดัน6แต่อย่าเพิกเฉยต่อข้อโต้แย้งที่แข็งแกร่งเช่นกัน ให้:7- จุดที่ข้อโต้แย้งของคนอื่นกระทบตำแหน่งของคุณจริงๆ ยอมรับอย่างตรงไปตรงมา8- จุดที่คุณยืนหยัดและเหตุผลว่าทำไมการคัดค้านของพวกเขาถึงอ่อนแอ9- คุณเปลี่ยนคำตัดสินของคุณหลังจากการอภิปรายหรือไม่ และถ้าเปลี่ยน เปลี่ยนอย่างไร10สั้น นี่ไม่ใช่การพูดซ้ำความคิดเห็นแรก แต่เป็นปฏิกิริยาต่อคู่ต่อสู้"""1112def debate_round(roles, task, opinions):13 others_map = {}14 for o in opinions:15 others = "\n\n".join(16 f"### {x['role']}\n{x['opinion']}" for x in opinions if x is not o17 )18 others_map[o["role"]] = others1920 def rebut(o):21 system = DEBATE_SYSTEM.format(name=o["role"], own_opinion=o["opinion"])22 user = (f"การตัดสินใจ:\n{task}\n\n"23 f"ความคิดเห็นของคู่ต่อสู้:\n{others_map[o['role']]}")24 return {"role": o["role"], "opinion": ask(system, user, temperature=0.6)}2526 with ThreadPoolExecutor(max_workers=len(opinions)) as pool:27 return list(pool.map(rebut, opinions))
รอบการอภิปรายก็เป็นแบบคู่ขนานเช่นกัน: ผู้เชี่ยวชาญแต่ละคนตอบสนองต่อคนอื่นๆ ทั้งหมดพร้อมกัน อีกครั้งโดยไม่มีการคล้อยตามแบบเรียลไทม์ หลังจากการอภิปราย ความคิดเห็นมักจะเฉียบคมขึ้น: คุณสามารถเห็นว่าตำแหน่งใดยืนหยัดภายใต้การโจมตีและตำแหน่งใดพังทลาย ความคิดเห็นที่แข็งกร้าวเหล่านี้จะถูกนำไปใช้ในการรวมครั้งสุดท้าย
ขั้นตอนที่ 5: รวมทุกอย่างเข้าด้วยกัน
1def analyze(task, debate=True):2 print("Orchestrator กำลังเลือกบทบาท...")3 roles = plan_roles(task)4 for r in roles:5 print(f" - {r['name']}: {r['focus']}")67 print(f"\nกำลังเปิดตัวผู้เชี่ยวชาญ {len(roles)} คนแบบคู่ขนาน...")8 opinions = run_swarm(roles, task)9 for o in opinions:10 print(f"\n[{o['role']}]\n{o['opinion']}")1112 # รอบการอภิปรายเสริม: ผู้เชี่ยวชาญตอบโต้กัน13 if debate:14 print("\nรอบการอภิปราย ผู้เชี่ยวชาญกำลังโต้แย้งกัน...")15 opinions = debate_round(roles, task, opinions)1617 # Devil's advocate โจมตีข้อตกลงของกลุ่มผู้เชี่ยวชาญ18 print("\nDevil's advocate กำลังหารอยร้าวในข้อตกลง...")19 devil = run_devil(task, opinions)20 print(f"\n[Devil's advocate]\n{devil}")2122 # การรวมประนีประนอมข้อสรุปบวกกับการโจมตีของ advocate23 print("\nกำลังรวมประนีประนอมข้อสรุป...")24 opinions_plus = opinions + [{"role": "Devil's advocate", "opinion": devil}]25 verdict = merge_opinions(task, opinions_plus)26 print(f"\n=== คำตัดสินสุดท้าย ===\n{verdict}")27 return verdict2829if __name__ == "__main__":30 analyze(31 "เราต้องการยกเลิกระดับฟรีและทำให้ผลิตภัณฑ์เป็นแบบชำระเงินเต็มรูปแบบ "32 "พร้อมทดลองใช้ 14 วัน เราควรทำหรือไม่?"33 )
เมื่อรันสิ่งนี้ คุณจะเห็นไปป์ไลน์เต็มรูปแบบ: orchestrator เลือกบทบาท ผู้เชี่ยวชาญตัดความจริงจากมุมมองของพวกเขา โต้แย้งกันในรอบอภิปราย advocate โจมตีข้อตกลงของพวกเขา และการรวมส่งมอบคำตัดสินจากทุกสิ่งรวมถึงการโจมตี ตัวแทนเดี่ยวในคำถามเดียวกันนี้จะให้คำตอบคลุมเครือว่า "ขึ้นอยู่กับผู้ชมของคุณ" ในขณะที่กลุ่มผู้เชี่ยวชาญจะให้การแยกย่อยเชิงโครงสร้างซึ่งความขัดแย้งชัดเจนและฉันทามติถูกทดสอบความแข็งแกร่ง
อะไรทำให้กลุ่มผู้เชี่ยวชาญนี้ทำงานได้
สามสิ่งที่แยกกลุ่มผู้เชี่ยวชาญที่มีประโยชน์ออกจากการแสดงละครที่สร้างจากตัวแทน
บทบาทต้องขัดแย้งกัน ไม่ใช่เสริมกัน หากผู้เชี่ยวชาญของคุณคือ "นักการตลาด ผู้เชี่ยวชาญ SMM ผู้จัดการเนื้อหา" พวกเขาจะให้คำตอบที่เกือบจะเหมือนกัน เพราะผลประโยชน์ของพวกเขาตรงกัน คุณค่าที่แท้จริงคือเมื่อผลประโยชน์ขัดแย้งกัน: การเติบโต vs ความยั่งยืน, ความเร็ว vs คุณภาพ, เงินตอนนี้ vs ความไว้วางใจในภายหลัง ความขัดแย้งทางผลประโยชน์คือสิ่งที่เปิดเผยการตัดสินใจ
ผู้เชี่ยวชาญต้องไม่เห็นกันและกัน ทันทีที่ผู้เชี่ยวชาญคนหนึ่งเห็นความเห็นของอีกคน การคล้อยตามจะเริ่มขึ้น มันจะปรับตัว ความเป็นอิสระไม่ใช่รายละเอียดการนำไปใช้ แต่เป็นเงื่อนไขการทำงาน การเปิดตัวแบบคู่ขนานให้สิ่งนี้มาฟรีๆ
การรวมไม่ใช่การหาค่าเฉลี่ย มันรักษาความขัดแย้งไว้ การสังเคราะห์ที่ไม่ดีจะเปลี่ยนความคิดเห็นที่เฉียบคมห้าข้อให้เป็นสรุปที่ไร้ฟันหนึ่งอัน การสังเคราะห์ที่ดีจะทำให้ความขัดแย้งมองเห็นได้ เพราะความขัดแย้งคือข้อมูลที่มีค่าที่สุด: มันแสดงให้เห็นว่าการตัดสินใจนั้นมีความเสี่ยงอย่างแท้จริงตรงไหน ไม่ใช่ที่ที่ทุกคนพยักหน้าเห็นด้วย
จุดที่สามารถขยายต่อได้
โครงร่างนี้สามารถขยายต่อได้ในหลายทิศทางที่ชัดเจน คุณสามารถเพิ่มรอบการอภิปราย: หลังจากการรวมครั้งแรก ให้แสดงสรุปแก่ผู้เชี่ยวชาญและปล่อยให้พวกเขาคัดค้าน ซึ่งจะเพิ่มความขัดแย้งให้รุนแรงขึ้น คุณสามารถวางผู้ตัดสินบนโมเดลที่แข็งแกร่งกว่าเหนือผู้เชี่ยวชาญเพื่อชั่งน้ำหนักข้อโต้แย้ง คุณสามารถทำให้บทบาทถาวรสำหรับการตัดสินใจประเภทที่เกิดขึ้นซ้ำๆ เพื่อที่คุณจะได้ไม่ต้องสร้างบทบาททุกครั้ง
แต่หลักการพื้นฐานยังคงเดิม: เลนส์ที่แตกต่าง การวิเคราะห์ที่เป็นอิสระ การสังเคราะห์ที่เคารพความไม่เห็นด้วย กลุ่มผู้เชี่ยวชาญมีประโยชน์สำหรับการวิเคราะห์ไม่ใช่เพราะมีตัวแทนจำนวนมาก แต่เพราะพวกเขามองต่างกันและไม่ปล่อยให้กันและกันเลื่อนไปสู่ตัวส่วนร่วม นำการตัดสินใจที่คุณกำลังครุ่นคิดในหัวคนเดียวตอนนี้ มาวิ่งผ่านกลุ่มผู้เชี่ยวชาญแบบนี้ คุณจะเห็นมุมมองที่คุณไม่ได้ถืออยู่





