Agent Dev Thai Academyprinciples · patterns · architecture

Decision Decay — การตัดสินใจมันเน่าเงียบๆ

decision ที่ถูกตอนเลือกจะเน่าเงียบๆ เมื่อ input เปลี่ยน ตอนตัดสินใจให้จดสมมติฐานกับ review date ไว้ พอถึงรอบก็เช็คทีละสมมติฐาน ไม่ใช่ถามว่า decision ยังถูกมั้ย

3 เดือนก่อนเลือก tool ตัวนึงมาใช้ ตอนนั้นเทียบมาแล้ว เลือกถูก

วันนี้มันผิด — แต่ไม่มีใครบอกคุณ


โค้ดพังมี error ขึ้น เทสต์แดงเห็นเลย แต่ "การตัดสินใจ" ไม่มี error

เลือก framework, เลือก model, เลือกวิธี deploy — ตอนนั้นถูกหมด แล้วก็ใช้มันยาวๆ ไม่เคยกลับไปดูอีกเลยว่ายังถูกอยู่มั้ย

มันไม่เน่าตอนที่ผิด มันเน่าเงียบๆ ตั้งแต่วันที่โลกขยับ แต่เราไม่ขยับตาม


ยุค AI ยิ่งหนัก — บาง decision โดยเฉพาะ model กับ tooling ขยับเป็นอาทิตย์ ไม่ใช่เป็นปี

model ที่เลือกเมื่อเดือนก่อนเพราะมันดีสุด เดือนนี้มีตัวถูกกว่า เร็วกว่า แล้วชุมชนก็ย้ายไปหมดแล้ว

decision ไม่ได้ผิดเพราะตอนนั้นคิดพลาด มันผิดเพราะ input เปลี่ยน แต่ decision ไม่เปลี่ยนตาม


ปัญหาจริงคือ "ไม่มีสัญญาณ" — ไม่มีอะไรเตือนว่าถึงเวลากลับไปดูแล้ว

เลยทำให้มันมีสัญญาณซะ ตอนตัดสินใจอะไรสำคัญ จด 3 อย่าง:

1. เลือกอะไร (กับเลือกแทนอะไร — ตัวที่ทิ้งไปสำคัญพอๆ กับตัวที่เลือก)
2. เพราะอะไรถึงถูก — สมมติฐานที่ต้องเป็นจริง decision ถึงจะถูก (ปกติ 2-4 ข้อ)
3. กลับมาดูเมื่อไหร่ — review date ตามความเร็วที่ของมันเปลี่ยน

DEC-014: เลือก Playwright แทน Cypress
วันที่: 2026-03-10
สมมติฐาน:
  1. ทีมต้องเทสต์หลาย browser จริง
  2. Playwright รันใน CI เร็วกว่า Cypress อย่างน้อย 20%
  3. plugin ที่ทีมใช้มีครบ ไม่ต้องเขียน helper เองเยอะ
review: 2026-04-10 (tool = เปลี่ยนไว, ดูทุกเดือน)

แล้ว assumption แต่ละข้อนี่แหละคือตัววัด ไม่ใช่ตัว decision เอง

พอถึง review date ไม่ได้ถามว่า "decision นี้ยังถูกมั้ย" (กว้างไป ตอบไม่ได้) — ถามทีละสมมติฐาน:

  • ข้อ 1 ยังจริงมั้ย? → ทีมเทสต์ browser เดียวพอแล้ว = เริ่มสั่น (เหตุผลหลักที่เลือกเริ่มหาย)
  • ข้อ 2 ยังจริงมั้ย? → ยังจริง CI เร็วกว่าจริง = ยังใช้ได้
  • ข้อ 3 ยังจริงมั้ย? → ยังจริง = ยังใช้ได้

แตกเป็นสมมติฐานทีละข้อแล้วเช็คได้จริง "decision ยังดีมั้ย" เป็นคำถามที่ตอบไม่ได้ "สมมติฐานข้อ 1 ยังจริงมั้ย" ตอบได้


3 สถานะ:

ยังใช้ได้ — สมมติฐานยังจริงหมด ไม่ต้องทำอะไร
เริ่มสั่น — มีข้อนึงอ่อนลง ตัวเลือกอื่นดีขึ้น → ตั้งเตือนไว้ ดูอีกที 2 อาทิตย์
หมดอายุ — สมมติฐานหลักพังแล้ว ของใหม่ดีกว่าชัดเจน อยู่ต่อแพงกว่าย้าย → ถึงเวลาคิดใหม่จริงจัง

กฎเดียวที่ต้องจำ: "ลงทุนไปเยอะแล้ว" ไม่ใช่เหตุผลให้อยู่ต่อ — นั่นคือ sunk cost ค่าที่ใช้ตัดสินคือ "ค่าย้าย" ไม่ใช่ "ค่าที่จ่ายไปแล้ว"


ไม่ต้องจำ review date เอง — บอก AI ว่าถึงรอบรีวิวยัง แล้วให้มันไล่เช็คสมมติฐานทีละข้อให้

มัดเป็น skill ไว้ให้แล้ว — ข้างในมี log format + วิธีแตกสมมติฐาน + prompt ที่ให้ AI เช็ค decay ทีละข้อแล้วบอกว่า ยังใช้ได้/เริ่มสั่น/หมดอายุ อยากต่อ cron ให้มันเตือนเองก็ทำได้

curl -sL https://raw.githubusercontent.com/somnus0x/agt-skill-pack/main/install.sh | bash -s decision-decay

อยู่ใน agt-skill-pack — ฟรีหมด


decision ที่อันตรายสุดไม่ใช่อันที่ผิดตั้งแต่แรก — อันนั้นรู้ตัวเร็ว

อันตรายคืออันที่ถูกตอนเลือก แล้วเราหยุดดูมันตั้งแต่นั้น

ใครมี decision เรื่อง tool/model ที่เลือกไว้นานแล้วไม่เคยกลับไปดูเลยบ้าง ลองเปิดดูสมมติฐานวันนี้