บทที่ 1 — สร้างเว็บด้วย AI: ภาพรวมทั้งระบบ
คู่มือนี้สอนวิธีทำงานแบบที่โปรเจกต์นี้ทำจริง คือ ให้ AI (Claude Code) เขียนโค้ด ส่วนคุณเป็นคนกำหนดทิศทาง ตรวจงาน และกดปุ่มปล่อยของ
ผลลัพธ์คือเว็บ ApexHuas ที่ออนไลน์อยู่จริงตอนนี้ที่ https://apexhuas.choiceflowhub.com — สร้างจากศูนย์จนเสร็จ ~45 หน้า สองภาษา พร้อมระบบ deploy อัตโนมัติ ในเวลาไม่กี่วัน
เรื่องสำคัญที่สุดที่ต้องเข้าใจก่อน
AI เขียนโค้ดได้เร็วมาก แต่ มันไม่รู้ว่าอะไรถูกสำหรับธุรกิจของคุณ และมันไม่รับผิดชอบตอนเว็บล่ม
งานของคุณจึงเปลี่ยนไป — ไม่ใช่ "คนพิมพ์โค้ด" แต่เป็น คนคุมคุณภาพ ที่ต้องรู้ว่ากำลังจะปล่อยอะไรออกไป
งานเปลี่ยนไปยังไงเมื่อมี AI ช่วยเขียน
งานของคุณ (คนคุม)
- ตัดสินใจว่าจะสร้างอะไร ทำไม
- บอก AI ให้ชัดว่าต้องการอะไร มีข้อจำกัดอะไร
- อ่านโค้ดที่ AI เขียน แล้วดูว่าสมเหตุสมผลไหม
- ทดสอบของจริงด้วยตา ไม่เชื่อคำว่า 'เสร็จแล้ว'
- ตัดสินใจว่าจะปล่อยขึ้นเว็บจริงเมื่อไหร่
กับดักที่พบบ่อย
- สั่งลอย ๆ ว่า 'ทำเว็บให้หน่อย' แล้วหวังว่าจะตรงใจ
- merge โดยไม่เคยเปิดดูโค้ดเลยสักบรรทัด
- เชื่อว่า 'AI บอกว่าเทสต์ผ่าน' โดยไม่ดูผลจริง
- ไม่รู้ว่าโค้ดที่ merge ไปแล้วไปโผล่ที่ไหน
- ไม่มีระบบตรวจอัตโนมัติ — พังแล้วรู้ตอนลูกค้าโทรมา
คู่มือนี้จะทำให้คุณอยู่ฝั่งซ้ายได้ โดยไม่ต้องเป็นวิศวกรอาวุโส
ระบบทั้งหมดมีอะไรบ้าง
ลองคลิกดูทีละกล่อง — แต่ละอันจะอธิบายว่ามันคืออะไรและอยู่ตรงไหนของเรื่อง
แผนที่ระบบ: ของอยู่ที่ไหนบ้าง
เครื่องคุณ
GitHub (คลาวด์)
Server (VM บนคลาวด์)
คลิกกล่องด้านบนเพื่อดูคำอธิบาย
Claude Code
AI ที่นั่งอยู่ใน terminal อ่านไฟล์ในโปรเจกต์ได้ แก้ไฟล์ได้ รันคำสั่งได้ — คุณสั่งงานเป็นภาษาคน
โค้ดในเครื่อง
สำเนาโปรเจกต์ที่คุณ clone ลงมา แก้ตรงนี้แล้วดูผลได้ทันทีด้วย npm run dev
Git
โปรแกรมที่จำทุกการเปลี่ยนแปลง ทำให้ย้อนกลับได้และรวมงานหลายคนได้
Repository
ที่เก็บโค้ดกลางของทีม ทุกคน push งานมารวมกันที่นี่
Pull Request
คำขอรวมงาน — เป็นจุดที่คนรีวิวและระบบตรวจอัตโนมัติทำงาน
GitHub Actions (CI/CD)
หุ่นยนต์ที่ตรวจโค้ดทุกครั้งที่เปิด PR และ deploy ให้อัตโนมัติเมื่อ merge เข้า uat
GHCR
คลังเก็บ Docker image ของโปรเจกต์ — เหมือนโกดังที่เก็บ 'เว็บที่ห่อเสร็จแล้ว' รอส่งไปรัน
Docker container ของเว็บ
ตัวเว็บที่กำลังรันอยู่จริง รับ request แล้วส่ง HTML กลับไป
Caddy
ตัวรับ request จากอินเทอร์เน็ตด่านแรก ทำ HTTPS ให้อัตโนมัติ แล้วส่งต่อให้เว็บ
โดเมน + DNS
ชื่อเว็บที่คนพิมพ์ (apexhuas.choiceflowhub.com) และระบบที่แปลงชื่อนั้นเป็นเลข IP ของ server
ยังไม่ต้องจำ — แค่รู้ว่ามีอะไรบ้าง แล้วบทต่อ ๆ ไปจะเจาะทีละกล่อง
เส้นทางของโค้ด: จากที่คุณพิมพ์สั่ง จนคนทั้งโลกเห็น
นี่คือหัวใจของคู่มือทั้งเล่ม กดปุ่ม ถัดไป เพื่อเดินดูทีละขั้น
วงจรงานหนึ่งรอบ (ตั้งแต่สั่ง AI จนเว็บอัปเดต)
1. บอก AI ว่าจะทำอะไร
อธิบายงานที่ต้องการเป็นภาษาคน ยิ่งบอกบริบทและข้อจำกัดชัด ผลยิ่งตรงใจ AI จะอ่านกฎของโปรเจกต์จากไฟล์ AGENTS.md ให้เองก่อนลงมือ
คนสั่ง AI ทำ
2. AI แตก branch แล้วเขียนโค้ด
สร้างเส้นทางงานแยกของตัวเอง (branch) เพื่อไม่ให้กระทบงานหลัก แล้วแก้ไฟล์ตามที่สั่ง
git checkout -b feat/product-filter
AI ทำ / คุณดูอยู่
3. AI ตรวจงานตัวเอง
รันคำสั่งตรวจ type, ตรวจสไตล์โค้ด, ลอง build จริง และเปิดเบราว์เซอร์ดูหน้าเว็บ ถ้าไม่ผ่านมันจะแก้แล้ววนใหม่
npx tsc --noEmit && npm run lint && npm run build
AI ทำ
4. เปิด Pull Request
ยื่นคำขอรวมงานเข้าเส้นหลัก พร้อมคำอธิบายว่าทำอะไรและทดสอบอะไรมาแล้ว
AI เปิดให้ / คุณอ่าน
5. CI ตรวจซ้ำบนเครื่องสะอาด
GitHub รันการตรวจชุดเดิมบนเครื่อง Linux ใหม่เอี่ยม จับปัญหาที่เครื่องคุณไม่เจอ ผ่าน = เขียว ไม่ผ่าน = แดง ห้าม merge
อัตโนมัติ
6. คุณรีวิวแล้ว merge เข้า develop
อ่านว่าโค้ดทำในสิ่งที่บอกจริงไหม แล้วกด merge — ตรงนี้ยังไม่ขึ้นเว็บจริง เป็นแค่การรวมงาน
คนตัดสินใจ
7. promote เข้า uat
เปิด PR จาก develop → uat แล้ว merge นี่คือปุ่ม 'ปล่อยของ' — พอ merge ปุ๊บระบบจะ deploy อัตโนมัติ
คนตัดสินใจ
8. build เป็น Docker image
ห่อเว็บ + ทุกอย่างที่ต้องใช้รันเป็นก้อนเดียว (~85 MB) แล้วเก็บขึ้นคลัง GHCR
อัตโนมัติ
9. server ดึง image ไปรัน
ระบบ SSH เข้า server สั่งให้ดึง image ใหม่มาแทนของเก่า แล้วรีสตาร์ท
อัตโนมัติ
10. ตรวจสุขภาพเว็บ + เสร็จ
ยิงเข้าเว็บจริงเช็คว่าตอบ 200 (ปกติ) ถ้าไม่ใช่ = ขึ้นแดงเตือนทันที รวมเวลาทั้งหมด ~3-4 นาที
อัตโนมัติ
สังเกตว่า 'คน' ตัดสินใจแค่ 3 จุด: สั่งงาน, รีวิว, กดปล่อย — ที่เหลือเป็นงานอัตโนมัติทั้งหมด
คุณต้องรู้อะไรบ้าง (และไม่ต้องรู้อะไร)
ขอบเขตความรู้ที่จำเป็นจริง ๆ
ต้องรู้ (คู่มือนี้สอนครบ)
- Git พื้นฐาน: commit / branch / PR คืออะไร
- อ่านผล CI เป็น แดงเพราะอะไร
- เข้าใจว่า Docker คือการห่อโค้ดเป็นก้อน
- รู้ว่าเว็บรันอยู่ที่ไหน และเข้าไปดูได้
- รู้ว่าจะสั่ง AI ยังไงให้ได้งานที่ใช้ได้
- รู้ว่าต้องตรวจอะไรก่อนกดปล่อยของ
ยังไม่ต้องรู้ตอนนี้
- เขียน Dockerfile เองตั้งแต่ต้น
- ตั้งค่า Linux server ด้วยมือทุกขั้น
- เขียน YAML ของ GitHub Actions เองทั้งไฟล์
- ระบบ TLS/ใบรับรองทำงานยังไงในระดับลึก
- จำคำสั่ง Git ครบทุกตัว (มี cheat sheet ให้)
เตรียมเครื่อง
| เครื่องมือ | ใช้ทำอะไร | เช็คด้วยคำสั่ง |
|---|---|---|
| Git | จัดการเวอร์ชันโค้ด | git --version |
| Node.js 20.9+ | รันเว็บในเครื่อง (โปรเจกต์นี้ใช้ 24) | node --version |
| Claude Code | AI ที่จะช่วยเขียนโค้ด | claude --version |
| บัญชี GitHub | เก็บโค้ด + รัน CI/CD | เปิดที่ github.com |
Docker ยังไม่ต้องติดตั้ง (ค่อยว่ากันบทที่ 9)
เช็คความเข้าใจก่อนไปต่อ
-
เพราะคุณคือคนที่ตัดสินใจว่าจะปล่อยอะไรขึ้นเว็บจริง ถ้าอ่าน PR ไม่เป็นและอ่านผล CI ไม่ออก ก็เท่ากับกดปุ่มปล่อยของโดยไม่รู้ว่ากำลังปล่อยอะไร — และเวลาเว็บพัง คุณจะไม่รู้ว่าต้องดูตรงไหน
-
develop คือการรวมงานเฉย ๆ ยังไม่มีใครเห็น ส่วน uat คือการเผยแพร่จริง — ระบบจะ deploy ขึ้นเว็บที่ลูกค้าเปิดดูได้ภายในไม่กี่นาที
-
ห้าม merge และห้ามปิดการตรวจนั้นทิ้ง ให้อ่าน log ว่าล้มที่ด่านไหน แล้วทำเครื่องตัวเองให้เหมือน CI (เช่นลบโฟลเดอร์ที่สร้างอัตโนมัติทิ้งแล้วรันใหม่) เพื่อให้เห็นปัญหาซ้ำก่อน แล้วค่อยแก้
พร้อมแล้วไปบทที่ 2 — ทำความรู้จักเครื่องมือหลักที่จะใช้ทุกวัน คือ Claude Code