The System Labเรียน → แบ่งปัน → พิสูจน์Learn → Share → Prove
แกลเลอรีGallery

This page is written in Thai. An English translation is planned.

TSL · The System Lab┊ The Book of Elon┊ ┊บทเรียนLesson 03 ┊ ┊0% ┊
The Book of Elon · บทเรียนที่Lesson 03

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 ขั้น ตามลำดับ)

  1. Question requirements — คือ: ทุก requirement ต้องมี "ชื่อเจ้าของ" + เหตุผล · ทำไมสำคัญ: requirement ที่ไม่มีเจ้าของคือกฎผีที่ไม่มีใครกล้าลบ · พังถ้าข้าม: สร้างของบนสมมติฐานที่ไม่มีใครตรวจ
  2. Delete — คือ: ลบชิ้นส่วน/กระบวนการ · ทำไมสำคัญ: ของที่ลบได้ไม่ต้องไป simplify/automate เลย · พังถ้าข้าม: แบกของที่ไม่จำเป็นไปทั้งระบบ
  3. Simplify — คือ: ทำให้ง่าย เฉพาะสิ่งที่รอดจากการลบ · ทำไมสำคัญ: simplify ของที่ควรลบ = เสียแรงเปล่า · พังถ้าข้าม: ขัดเงาสิ่งที่ไม่ควรมีอยู่
  4. Accelerate — คือ: เร่ง cycle time · ทำไมสำคัญ: ความเร็วคือ system property · พังถ้าข้าม: ของง่ายแต่ช้า
  5. Automate — คือ: ทำให้อัตโนมัติ ขั้นสุดท้ายเท่านั้น · ทำไมสำคัญ: automate ลูปที่จำเป็น+ง่าย+เร็ว = throughput ทบต้น · พังถ้าข้าม: ล็อกความซับซ้อนที่ผิดไว้ถาวร

3. THE MENTAL MODEL

Question → Delete → Simplify → Accelerate → Automate
(ลำดับห้ามสลับ — automate ของห่วย = เร่งความห่วย)

Heuristic การลบ: "ถ้าไม่ต้องเอาบางส่วนที่ลบไปใส่กลับ ≥10% แปลว่าลบยังไม่พอ" — จงใจให้ลบจน เกิน แล้วเติมกลับ เฉพาะที่จำเป็นจริง (ถ้าไม่เคยต้องเติมกลับเลย = คุณลบน้อยเกินไปด้วยความกลัว) จุดที่คนสับสน: (ก) รวม Delete กับ Simplify เป็นขั้นเดียว — ทำให้ optimize ของที่ควรหายไป (ข) ทำ Automate เร็ว เกินเพราะมันดู "ล้ำ" ทั้งที่ยังไม่ผ่าน 4 ขั้นแรก

4. WORKED EXAMPLE — กระบวนการอนุมัติที่มี 5 ขั้นตอน (คิดทีละขั้น)

  1. Question: ขั้นอนุมัติแต่ละขั้น "ใครขอ + แก้ปัญหาอะไร" — พบว่า 2 ขั้นไม่มีเจ้าของ มีอยู่เพราะ "เคยทำมา"
  2. Delete: ลบ 2 ขั้นไร้เจ้าของออก + ลบ 1 ขั้นที่แก้ edge case ที่ไม่เคยเกิด → เหลือ 2 ขั้น (เผื่อลบเกิน จะเติมกลับทีหลังถ้าจำเป็น)
  3. Simplify: 2 ขั้นที่เหลือ — รวม interface, ลด handoff, ให้เจ้าของชัดเจน
  4. Accelerate: ลด batch size (อนุมัติทีละชิ้นแทนรอรวมกอง), ทบทวนคอขวดรายวัน
  5. 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 ของห่วย = เร่งความห่วยให้เร็วขึ้น