Agent Dev Thai Academyprinciples · patterns · architecture
สำหรับคนที่ไม่เคยมี senior

ไม่มี senior นั่งข้าง ๆ แล้ว จะรู้ได้ยังไงว่าโค้ดที่ AI เขียนให้ถูก?

senior ไม่ได้เก่งเพราะพิมพ์เร็ว แต่เพราะเคยโดนมาก่อน ที่นี่คือบทเรียนที่ผมโดนมาตลอดเก้าปี เล่าบนโค้ดจริง สั่งงานเดียวกันไปสองฝั่ง แล้วดูว่าฝั่งไหนพัง ก่อนที่คุณจะเจอของจริง

กระดานแรก: แก้แค่ข้อความอีเมลต้อนรับ แต่ไฟล์ที่ต้องเปิด มีโค้ดรหัสผ่านอยู่ด้วย · ~8 นาที · ไม่ต้องรู้จักชื่อหลักการมาก่อน

10 หลักสูตร 48 กระดาน อ่านฟรีทั้งหมด

จากทีม Agent Dev Thai · ชุมชน 4,000+ คนบน Facebook · ฟรี ไม่ต้องสมัคร
กระดานโค้ดสองฝั่ง ฝั่งซ้ายแยกไฟล์ตามเจ้าของ ฝั่งขวาไฟล์เดียวที่มี method ที่พังอยู่กระดานแรก · live
หลักสูตร

เริ่มจากปัญหาที่เจอในงาน ไม่ต้องรู้ชื่อหลักการ

SOLID5 กระดาน · 1 แบบทดสอบ · ~40 นาที

แก้ไฟล์เดียว แล้วไฟล์ไหนต้องตามแก้

ห้างานจริง: แก้อีเมลต้อนรับ เพิ่มช่องทางแจ้งเตือน เพิ่มช่องส่งใบเสร็จ แก้รายงานยอดขาย ย้ายเจ้าระบบตัดเงิน แต่ละงานสั่งไปสองฝั่ง แล้วดูว่าฝั่งไหนต้องเปิดกี่ไฟล์

SOLIDทดสอบ
Clean Architecture4 กระดาน · 1 แบบทดสอบ · ~32 นาที

กฎของระบบอยู่ไฟล์ไหน

ร้านขายคอร์สออนไลน์ร้านเดียว สี่งาน: เพิ่มขายผ่าน LINE เปลี่ยนชื่อคอลัมน์ใน DB ขยายเพดานส่วนลด ย้ายฐานข้อมูล แล้วดูว่ากฎส่วนลดรอดไหม

1234ทดสอบ
Design Patterns8 กระดาน · 1 แบบทดสอบ · ~64 นาที

ชื่อที่ใช้สั่ง AI ได้ในคำเดียว

ร้านเดิม แปดคำขอ แต่ละคำขอมีชื่อแพทเทิร์นที่สั่ง agent ได้ในคำเดียว ซ้ายใช้แพทเทิร์น ขวาเขียนแบบที่ agent เขียนเมื่อไม่มีใครบอก

12345678ทดสอบ
Engineering practice5 กระดาน · 1 แบบทดสอบ · ~40 นาที

ความพังไปได้ไกลแค่ไหน

บทเดิมในระดับ workflow: branch กับ PR, PR เล็ก, CI ที่ agent เถียงไม่ได้, commit ที่เป็นบริบทให้ session ถัดไป และย้อนกลับได้ในคำสั่งเดียว

12345ทดสอบ
DDD4 กระดาน · 1 แบบทดสอบ · ~32 นาที

คำกับเส้นแบ่งที่ AI ต้องเห็น

ร้านโตขึ้นจนมีหลายฝ่าย billing, learning, marketing คำเดียวกันเริ่มหมายถึงคนละอย่าง ดูว่าการแบ่ง context และภาษา ทำให้ agent แก้ถูกที่ได้ยังไง

1234ทดสอบ
แผนภาพ3 กระดาน · 1 แบบทดสอบ · ~24 นาที

แผนภาพที่ CI เช็กได้

วาดได้ในนาทีเดียวด้วย show-me, visual-explainer หรือ anatomy แต่รูปไม่กันอะไรจนกว่าจะเป็นสัญญาที่ CI เช็กได้: class diagram เป็นกฎ import, sequence เป็น contract test, state เป็นตาราง transition

123ทดสอบ
Agent setup4 กระดาน · 1 แบบทดสอบ · ~32 นาที

เขียนไว้แล้ว แต่AI ไม่เห็น

ของรอบตัว AI สี่อย่าง: กฎที่อยู่ผิดที่ ความจำที่หายไปกับแชท skill ที่โมเดลมองไม่เห็น และ cron ที่เขียนแล้วไม่มีใครอ่าน สั่งงานเดียวกันสองฝั่ง แล้วนับว่า AI อ่านอะไรจริง

1234ทดสอบ
Taste before you accept3 กระดาน · 1 แบบทดสอบ · ~24 นาที

AI ส่งมาครบ แต่ยังไม่ใช่ของคุณ

งานที่ไม่ใช่โค้ดสามชิ้น: หน้าเว็บที่ AI gen มาโหล draft ที่ไม่ใช่เสียงเรา และรายการที่ AI ตัดสินแทนคุณ สั่งงานเดียวกันสองฝั่ง แล้วนับว่ามีของที่คุณจะไม่รับกี่ชิ้น

123ทดสอบ
Kanly: rules for agents4 กระดาน · 1 แบบทดสอบ · ~32 นาที

สิ่งที่ขาดคือกติกา ไม่ใช่ตัวรันเพิ่ม

หลาย terminal ข้ามหลาย repo: ส่งงานผ่านไฟล์ handoff ประกาศเส้นชัยก่อนปล่อย loop ให้คนที่ไม่ได้เขียนเป็นคนตรวจ และแนบหลักฐานก่อนคำว่าเสร็จ สั่งงานเดียวกันสองฝั่ง แล้วนับว่าฝั่งไหนเชื่อเรื่องที่ไม่จริงกี่เรื่อง

1234ทดสอบ
แผลเป็น8 กระดาน · 1 แบบทดสอบ · ~64 นาที

diff ดูเรียบร้อย แล้วไปพังที่อื่น

แปดแผลจากงานจริง ย้ายมาลงร้านคอร์สเดิม: ความจริงเดียวที่เขียนไว้สามที่ ของใหม่ที่วางข้างของเก่า หน่วยเงินที่อยู่ในคอมเมนต์ catch ที่คืนค่าปลอม และคำว่าเสร็จที่ไม่ได้อ่านจากระบบจริง สั่งงานเดียวกันสองฝั่ง แล้วนับว่าฝั่งไหนพังเงียบกี่ครั้ง

12345678ทดสอบ

เริ่มที่กระดานแรก (แก้ไฟล์เดียว แล้วไฟล์ไหนต้องตามแก้) แล้วต่อเรื่องกฎของระบบควรอยู่ไฟล์ไหน จากนั้นเลือกตามงานที่ทำอยู่ ทุกหลักสูตรใช้ร้านคอร์สออนไลน์ร้านเดียวกัน ภาพรวมและเครื่องมืออยู่ที่ หลักสูตรทั้งหมด

ผมโดนมาแล้ว

หนึ่งสัปดาห์ที่ต้องเขียนใหม่ทั้งหมด

TERRA RPC
ก๊อกแต่ละตัวคือหน้าเว็บหนึ่งหน้า ซ้ายต่อท่อตรงเข้า chain ทุกหน้า ขวาทุกหน้าดึงจากถังของเรา (indexer + DB) และถังต่อ chain ผ่านข้อต่อเดียว พอ chain เลื่อน ซ้ายหลุดทุกจุด ขวาเลื่อนแค่แกนสีเขียว

ปี 2022 ผมกับทีมสี่คนเปิดตลาด NFT ตัวแรกบน Terra เวอร์ชันแรกเราทำ quick and dirty ทุกหน้าเรียก RPC ของ chain ตรง ๆ และไม่มีใครเป็นเจ้าของโค้ดส่วนนั้น เราเปิดตัวตรงช่วงที่ Terra ย้ายจาก Columbus-4 ไป Columbus-5 พอ chain เปลี่ยน โค้ดทั้งหมดใช้ต่อไม่ได้ เราเขียนใหม่หนึ่งสัปดาห์ ทุกคน on call ไล่แก้บั๊กตั้งแต่เที่ยงคืนถึงตีสี่

เวอร์ชันสองเราเอา chain ไปไว้หลังโมดูลเดียว รัน indexer เอง และย้ายข้อมูล NFT จาก JSON ในหน้าเว็บเข้า DB จะได้ไม่ต้องดึง IPFS ซ้ำ หลังจากนั้นตอนต้องย้ายไป Terra 2 เราแค่เปลี่ยน config ไม่มีใครสอนผมเรื่องนี้ในห้องเรียน ผมเรียนจากคืนที่ไม่ได้นอน

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

สามขั้นต่อหนึ่งหลักการ

1

ดูไฟล์บนกระดาน

โค้ดเดียวกันจัดสองแบบ ซ้ายแยกไฟล์ตามคนที่จะมาขอแก้ ขวาจัดแบบที่คนส่วนใหญ่ทำ แต่ละไฟล์คือกล่อง แต่ละ method คือชิ้น

2

สั่งงาน แล้วนับ

สั่งงานเดียวกันไปทั้งสองฝั่ง แก้ข้อความอีเมล เพิ่ม channel เปลี่ยน vendor แล้วดูว่าฝั่งไหนต้องเปิดกี่ไฟล์ ทดสอบซ้ำกี่ตัว อะไรพังทั้งที่ไม่มีใครแตะ

3

ลากชิ้นโค้ดไปไว้ให้ถูกที่

ตอนจบของทุกกระดาน ลาก method ออกจากไฟล์ที่อ้วนไปไว้ไฟล์ใหม่ จนฝั่งขวาเหมือนฝั่งซ้าย ใต้กระดานคือโค้ดก่อน-หลังจริงของขั้นนั้น

บทความจากเพจ · จัดตามเรื่อง

แปดเรื่องที่เพจเขียนถึงซ้ำ ๆ เรียงจากพื้นฐานไปขั้นสูง

12 ตอน · ~30 นาที

CLAUDE.md ตั้งแต่ไฟล์ว่าง จนถึงตัดกฎทิ้ง

เริ่มจากลงอะไรก่อน เขียนกฎข้อแรก ใส่ memory แล้วค่อยรู้ว่าทำไมกฎยิ่งเยอะ AI ยิ่งทำตามน้อยลง

เริ่มที่: เพิ่งลง Claude Code แล้วไม่รู้จะเริ่มลงอะไรดี
12 ตอน · ~31 นาที

สั่งงาน agent ให้ได้ของจริง

จากวิธีพูดกับ AI วันแรก ถึงการคุม scope รีวิวงาน และปล่อยให้มันวิ่งเองอย่างมีสัญญา

เริ่มที่: ถ้าผมต้องเริ่มใช้ AI เขียน code ใหม่ตั้งแต่วันแรก
11 ตอน · ~32 นาที

Skill ตั้งแต่ใช้ของคนอื่น จนตรวจเองเป็น

เริ่มจาก skill ที่ใช้ทุกวัน ไปถึงการเลือก ตรวจ และรู้ว่า skill stack มาจากตำราเล่มไหน

เริ่มที่: สกิลที่ผมหยิบใช้บ่อยมากตัวหนึ่งคือ /visual-explainer 📊
12 ตอน · ~30 นาที

Copilot OS ให้ AI รันเองทั้งวัน

cron ตัวแรก ไปจนถึงระบบที่เก็บ คัด สรุป และรันข้ามคืนได้เองหลายเครื่อง

เริ่มที่: Copilot OS #1: ผม automate ชีวิตด้วย 35 cron jobs
7 ตอน · ~17 นาที

ใช้ token ให้คุ้ม

token หมดเร็วเพราะอะไร cache ทำงานยังไง แล้วบิลจริงเป็นเท่าไรเมื่อใช้โควต้าจนสุด

เริ่มที่: Claude Code / Claude API ใช้ token เร็วมากกว่าที่หลายคนคิด
12 ตอน · ~26 นาที

ทำคอนเทนต์ด้วย AI โดยไม่เป็น slop

เห็น slop ให้ออกก่อน แล้วค่อยสอนเสียงตัวเอง ทำปก คลิป และ carousel เป็นสายการผลิต

เริ่มที่: Design Taste — เลิก gen แล้วถามว่า "สวยมั้ย" — ผมถาม 4 คำถามนี้แทน
13 ตอน · ~37 นาที

บั๊กที่ลูกค้าเจอ จบที่หลักการบนกระดาน

เรื่องจริงที่ลูกค้าทักมา แต่ละเรื่องจบที่หลักการเดียวบนกระดาน SOLID หรือ Clean Architecture

เริ่มที่: หยุด Overengineer ตอนลูกค้ายังเป็น 0
4 ตอน · ~12 นาที

kanly กติกาของ agent หลาย terminal

ส่งงานข้าม repo ด้วยไฟล์ handoff จับของที่ไม่ตรงกันด้วย verify ให้คนที่ไม่ได้เขียนเป็นคนตรวจ แล้วหยิบแค่กติกา ไม่ใช่ตัวรันเพิ่ม

เริ่มที่: อีกอันที่ผมทำไว้แล้ว useful มากสำหรับคนใช้ Claude Code กับโปรเจกต์ที่แยกเป็นหลาย

โพสต์จากเพจ Agent Dev Thailand เรื่องเดียวกันจัดไว้ด้วยกัน อ่านตามลำดับแล้วติ๊กไว้ได้ ความคืบหน้าเก็บในเบราว์เซอร์ของคุณเหมือนบทเรียน โพสต์ทั้งหมดอยู่ที่ บทความ

รุ่นถัดไป

บอกให้รู้ตอนมีกระดานใหม่

ส่งอีเมลเฉพาะตอนมีหลักสูตรหรือกระดานใหม่ ไม่มีอย่างอื่น ตอนนี้ทุกหลักสูตรอ่านฟรี

อ่านประกอบ: บทความจากเพจ · คำศัพท์ · Repo ตัวอย่างAgent Dev Thai Academy · ทุกบทเริ่มจากงานจริงที่มีคนสั่ง แล้วดูว่าโค้ดแบบไหนรอด · อ้างอิง Martin, Evans, Gamma et al.facebook.com/agentdevthailand · ฟรี ไม่ต้องสมัคร · ความคืบหน้าเก็บในเบราว์เซอร์ของคุณเท่านั้น