PlusMagi's Blog By Pitt Phunsanit Ai,Backend,Psychology Divergent & Convergent Thinking (การคิดแตกแขนงเพื่อสร้างทางเลือก แล้วคัดสรรไอเดีย)

Divergent & Convergent Thinking (การคิดแตกแขนงเพื่อสร้างทางเลือก แล้วคัดสรรไอเดีย)

ในโลกของการพัฒนาซอฟต์แวร์และระบบที่ซับซ้อน การหาทางออกที่ดีที่สุด (Optimal Solution) ไม่ใช่แค่การรันคำสั่ง SQL เพียงครั้งเดียว แต่เป็นกระบวนการเชิงกลยุทธ์ที่ต้องอาศัยการขยายขอบเขตความคิด (Divergence) ก่อน แล้วจึงทำการคัดกรองและหาคำตอบที่แม่นยำที่สุด (Convergence) กระบวนการคิดนี้เปรียบเสมือนการออกแบบ Query ที่ทรงประสิทธิภาพ ซึ่งเป็นทักษะสำคัญที่ Senior Architect ทุกคนต้องมี

🧠 Divergent Thinking: การขยายขอบเขตข้อมูล (The Expansion Phase)

ในทางความคิด Divergent Thinking คือขั้นตอนของการเปิดรับความเป็นไปได้ทั้งหมด โดยไม่มีการตัดสินหรือจำกัดขอบเขตใด ๆ ในเชิง PostgreSQL เราสามารถเปรียบเทียบขั้นตอนนี้กับการดึงข้อมูลทั้งหมดจากตารางที่เกี่ยวข้อง โดยไม่ใส่เงื่อนไข (No WHERE Clause) เพื่อให้ได้ชุดข้อมูลที่หลากหลายที่สุดเท่าที่จะเป็นไปได้

สมมติว่าเรามีตาราง `potential_solutions` ที่เก็บแนวคิดในการแก้ปัญหาจำนวนมาก การกระทำนี้คือการรวบรวมทุกแถวข้อมูลออกมาเพื่อพิจารณา:

SQL

SELECT * FROM potential_solutions;

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

⚙️ Convergent Thinking: การคัดกรองเพื่อหาคำตอบที่ดีที่สุด (The Filtering Phase)

เมื่อได้ชุดข้อมูลขนาดใหญ่แล้ว ขั้นตอนต่อไปคือ Convergent Thinking ซึ่งคือการใช้ตรรกะ (Logic) และเกณฑ์การประเมิน (Criteria) เพื่อจำกัดขอบเขตให้แคบลงจนเหลือเพียงคำตอบที่ดีที่สุดและนำไปปฏิบัติได้จริง ในระบบ PostgreSQL การกระทำนี้เทียบเท่ากับการใช้คำสั่ง `WHERE`, `ORDER BY`, และ `LIMIT` เพื่อกรองและจัดลำดับความสำคัญของข้อมูล

เราต้องการหา Solution ที่มีคะแนน (score) สูงสุด และเป็นประเภท ‘Production Ready’ เท่านั้น:

SQL

SELECT solution_name, score, priority FROM potential_solutions WHERE type = 'Production Ready' AND score >= 80 ORDER BY score DESC LIMIT 1;

คำสั่งนี้แสดงให้เห็นว่าเราไม่ได้สนใจทุกไอเดีย แต่เราโฟกัสเฉพาะไอเดียที่ผ่านเกณฑ์ (Type และ Score) และเลือกอันดับสูงสุด (LIMIT 1) ซึ่งคือการตัดสินใจเชิงกลยุทธ์

💡 การผสานพลัง: การออกแบบระบบที่สมบูรณ์

การคิดเชิงวิเคราะห์ที่สมบูรณ์แบบจึงต้องเกิดจากการทำงานร่วมกันของทั้งสองขั้วความคิด (Divergence + Convergence) เหมือนกับการเขียน Query ที่ต้องเริ่มจากการดึงข้อมูลทั้งหมด (Divergence) แล้วจึงใช้เงื่อนไขที่ซับซ้อนเพื่อดึงเอาคำตอบที่แม่นยำที่สุดออกมา (Convergence) การเข้าใจกระบวนการนี้จะช่วยให้เราไม่พลาดทางเลือกใด ๆ และสามารถสร้างสรรค์ Solution ที่มีประสิทธิภาพสูงได้เสมอ

✅ บทสรุป

การพัฒนาทักษะ Divergent และ Convergent Thinking คือการยกระดับจากผู้ใช้งาน SQL ไปสู่การเป็น System Architect ที่สามารถออกแบบกระบวนการคิดและกระบวนการทำงานได้อย่างเป็นระบบ การระดมไอเดีย (SELECT *) คือจุดเริ่มต้น และการกรองข้อมูล (WHERE/LIMIT) คือการนำไปสู่ความสำเร็จที่วัดผลได้จริง

Exit mobile version