The Algorithm
bridge · ~40 นาที
1. THE BIG IDEA
The Algorithm คือลูป 5 ขั้นที่เป็น "วิธีลงมือ" ของ first-principles ลำดับสำคัญที่สุด — automate มาเป็นขั้นสุดท้าย เพราะ "automate กระบวนการห่วยๆ = เร่งความห่วยให้เร็วขึ้น" อาฮ่าโมเมนต์: คนส่วนใหญ่เริ่มผิดทาง พวกเขา เพิ่ม/ปรับ/ automate ก่อน ลบ ทั้งที่ของที่ดีที่สุดคือของที่ไม่มีอยู่ ("the best part is no part")
2. FIRST PRINCIPLES BREAKDOWN (5 ขั้น ตามลำดับ)
- Question requirements — คือ: ทุก requirement ต้องมี "ชื่อเจ้าของ" + เหตุผล · ทำไมสำคัญ: requirement ที่ไม่มีเจ้าของคือกฎผีที่ไม่มีใครกล้าลบ · พังถ้าข้าม: สร้างของบนสมมติฐานที่ไม่มีใครตรวจ
- Delete — คือ: ลบชิ้นส่วน/กระบวนการ · ทำไมสำคัญ: ของที่ลบได้ไม่ต้องไป simplify/automate เลย · พังถ้าข้าม: แบกของที่ไม่จำเป็นไปทั้งระบบ
- Simplify — คือ: ทำให้ง่าย เฉพาะสิ่งที่รอดจากการลบ · ทำไมสำคัญ: simplify ของที่ควรลบ = เสียแรงเปล่า · พังถ้าข้าม: ขัดเงาสิ่งที่ไม่ควรมีอยู่
- Accelerate — คือ: เร่ง cycle time · ทำไมสำคัญ: ความเร็วคือ system property · พังถ้าข้าม: ของง่ายแต่ช้า
- Automate — คือ: ทำให้อัตโนมัติ ขั้นสุดท้ายเท่านั้น · ทำไมสำคัญ: automate ลูปที่จำเป็น+ง่าย+เร็ว = throughput ทบต้น · พังถ้าข้าม: ล็อกความซับซ้อนที่ผิดไว้ถาวร
3. THE MENTAL MODEL
Question → Delete → Simplify → Accelerate → Automate
(ลำดับห้ามสลับ — automate ของห่วย = เร่งความห่วย)
Heuristic การลบ: "ถ้าไม่ต้องเอาบางส่วนที่ลบไปใส่กลับ ≥10% แปลว่าลบยังไม่พอ" — จงใจให้ลบจน เกิน แล้วเติมกลับ เฉพาะที่จำเป็นจริง (ถ้าไม่เคยต้องเติมกลับเลย = คุณลบน้อยเกินไปด้วยความกลัว) จุดที่คนสับสน: (ก) รวม Delete กับ Simplify เป็นขั้นเดียว — ทำให้ optimize ของที่ควรหายไป (ข) ทำ Automate เร็ว เกินเพราะมันดู "ล้ำ" ทั้งที่ยังไม่ผ่าน 4 ขั้นแรก
4. WORKED EXAMPLE — กระบวนการอนุมัติที่มี 5 ขั้นตอน (คิดทีละขั้น)
- Question: ขั้นอนุมัติแต่ละขั้น "ใครขอ + แก้ปัญหาอะไร" — พบว่า 2 ขั้นไม่มีเจ้าของ มีอยู่เพราะ "เคยทำมา"
- Delete: ลบ 2 ขั้นไร้เจ้าของออก + ลบ 1 ขั้นที่แก้ edge case ที่ไม่เคยเกิด → เหลือ 2 ขั้น (เผื่อลบเกิน จะเติมกลับทีหลังถ้าจำเป็น)
- Simplify: 2 ขั้นที่เหลือ — รวม interface, ลด handoff, ให้เจ้าของชัดเจน
- Accelerate: ลด batch size (อนุมัติทีละชิ้นแทนรอรวมกอง), ทบทวนคอขวดรายวัน
- Automate: ตอนนี้ค่อย เขียนสคริปต์ auto-route ลูปที่เหลือ → ได้ throughput ทบต้นโดยไม่ฝังความซับซ้อนเก่า ผิดที่พบบ่อย: กระโดดไปเขียน automation อนุมัติ 5 ขั้น ตั้งแต่แรก = ทำให้ของห่วยเร็วขึ้นและแก้ยากขึ้น
5. COMMON MISTAKES (จากแหล่ง)
- automate ก่อนลบ/ทำให้ง่าย → ทำไมพลาด: automation ดูเป็นความก้าวหน้าทางเทคนิค → ที่ถูก: automate ขั้นสุดท้าย เท่านั้น ("complex process + automation = faster complexity")
- optimize ชิ้นส่วนที่ควรลบ → ทำไมพลาด: การ optimize ให้ความรู้สึก productive → ที่ถูก: simplify เฉพาะสิ่ง ที่รอดจากการลบ
- ถือ requirement เป็นกฎที่แตะไม่ได้ → ทำไมพลาด: "มีคนสั่งมา" ดูเหมือนเหตุผลพอ → ที่ถูก: "treat requirements as recommendations until proven necessary" — ทุกข้อต้องมีเจ้าของ+เหตุผล
6. CONNECT TO OTHER TOPICS
- Depends on: First-Principles Thinking (Algorithm คือ first-principles ที่ทำให้เป็นลูปทำซ้ำได้)
- Enables: Urgency and Constraints (ขั้น Accelerate ต้องรู้ว่าเร่งตรงคอขวดไหน) · Engineering Organization (องค์กรต้องรันลูปนี้ต่อเนื่อง)
- มักสับสนกับ: "process improvement / Kaizen ทั่วไป" — แยกได้ที่ The Algorithm เริ่มด้วยการลบ ไม่ใช่การปรับ ทีละนิดบนของที่มีอยู่
7. SELF-TEST
- [Surface] ระลึก: 5 ขั้นเรียงลำดับคืออะไร? (เฉลย: Question → Delete → Simplify → Accelerate → Automate)
- [Understanding] อธิบาย: ทำไม automate ต้องสุดท้าย? (เฉลยแข็ง: เพราะ automate ทำให้กระบวนการปัจจุบัน คงอยู่ในสเกล — ถ้ามันห่วย คุณก็ขยายความห่วย แก้ทีหลังแพงกว่ามาก)
- [Mastery] ปรับใช้: เอา workflow จริง 1 อันมารัน 5 ขั้น — ขั้น Delete คุณลบอะไรได้บ้าง และต้องเติมกลับไหม? (เฉลยแข็ง: ถ้าลบแล้วไม่เคยต้องเติมกลับเลย แสดงว่าลบน้อยไป — heuristic 10%)
8. KEY QUOTES FROM SOURCE
"If you are not adding back at least 10% of what you deleted later, you are not deleting enough." —
raw/ELON MUSK MENTAL MODEL FRAMEWORK.md
"Question the Requirements: Every requirement must have a name... Assume all requirements are dumb or incomplete, no matter who gave them to you." —
raw/
"Automation comes last because automating a bad process preserves waste at scale." —
_wiki/procedural/the-algorithm.md
9. TL;DR
- ลำดับคือทุกอย่าง: Question → Delete → Simplify → Accelerate → Automate
- ลบก่อนเสมอ; "the best part is no part"; ถ้าไม่เคยต้องเติมกลับ = ลบน้อยไป
- automate สุดท้าย — automate ของห่วย = เร่งความห่วยให้เร็วขึ้น