ข้ามไปยังเนื้อหาหลัก
ProgrammerThailand

Category

AI & Vibe Coding

50 บทเรียน

นักพัฒนาไทยกับ AI: สรุปซีรีส์และเส้นทางเรียนต่อ

เดินทางมาถึงตอนสุดท้ายของซีรีส์ "AI & Vibe Coding" แล้ว ตลอด 49 ตอนที่ผ่านมา เราเริ่มจากคำถามง่าย ๆ ว่า Vibe Coding คืออะไร ไปจนถึงการสร้างฟ…

สร้างฟีเจอร์ AI แรกใน Yii2: สรุปข้อความยาว

ถ้าคุณอ่านเรื่อง LLM API มาพอสมควรแล้ว และอยากลองใส่ฟีเจอร์ AI จริงลงในเว็บ Yii2 สักตัว ฟีเจอร์ "สรุปข้อความยาว" เป็นจุดเริ่มต้นที่ดีมาก เพร…

AI ในงาน DevOps: อ่าน Log และหาต้นเหตุปัญหา

ตีสองคืนวันศุกร์ ระบบแจ้งเตือนว่าเว็บตอบช้าและมี error 502 เป็นระยะ คุณเปิด log ขึ้นมาเจอหลายหมื่นบรรทัดจาก nginx, PHP-FPM และแอปพลิเคชัน สถ…

Spec-Driven Development: เขียน Spec ก่อนให้ AI ลงมือ

ถ้าคุณเคยสั่ง AI ว่า "ทำระบบค้นหาบทความให้หน่อย" แล้วได้โค้ดที่ค้นได้แค่ชื่อเรื่อง ไม่กรองบทความที่ยังไม่เผยแพร่ ไม่มีแบ่งหน้า และพังเมื่อผู…

Pair Programming กับ AI: เทคนิคคุยหลายรอบให้ได้งาน

หลายคนเริ่มใช้ AI เขียนโค้ดด้วยการพิมพ์คำสั่งยาวหนึ่งย่อหน้าแล้วหวังว่าจะได้ระบบที่เสร็จสมบูรณ์ ผลที่ได้มักเป็นโค้ดที่ "เกือบใช่" จากนั้นก็ต…

Junior Developer ยุค AI: ควรฝึกทักษะอะไร

ถ้าคุณเพิ่งเริ่มทำงานเป็นนักพัฒนา หรือกำลังเรียนเขียนโปรแกรมอยู่ คงเคยมีคำถามในใจว่า "AI เขียนโค้ดได้ขนาดนี้ แล้วเราจะฝึกไปทำไม" คำถามนี้เข้…

ทีมพัฒนาใช้ AI ร่วมกัน: ตั้งกติกาทีม (AI Policy)

เมื่อคนในทีมเริ่มใช้ AI กันเอง สิ่งที่ตามมามักไม่ใช่ปัญหาเทคนิค แต่เป็นความไม่ตรงกัน คนหนึ่งใช้เครื่องมือ A อีกคนใช้เครื่องมือ B ด้วยบัญชีส่…

ลิขสิทธิ์และไลเซนส์ของโค้ดที่ AI สร้าง

เมื่อ AI เขียนโค้ดให้เราวันละหลายร้อยบรรทัด คำถามที่ตามมาคือ "โค้ดนี้เป็นของใคร" "เอาไปใส่ในงานลูกค้าได้ไหม" และ "ถ้ามันไปเหมือนโค้ดโอเพนซอร…

PDPA กับ AI: ส่งข้อมูลลูกค้าเข้า AI ได้แค่ไหน

คำถามที่ได้ยินบ่อยมากในทีมพัฒนาช่วงนี้คือ "เอาข้อมูลลูกค้าไปให้ AI ช่วยวิเคราะห์ได้ไหม" เช่น อยากให้ AI สรุปข้อร้องเรียนจากลูกค้า จัดหมวดตั๋…

เลือกโมเดล AI ให้เหมาะงาน: ใหญ่ เล็ก เร็ว ถูก

เมื่อเริ่มทำฟีเจอร์ AI คำถามที่ตามมาเสมอคือ "ใช้โมเดลไหนดี" คำตอบที่พบบ่อยคือเลือกตัวที่ดังที่สุดหรือตัวที่ใหญ่ที่สุดไว้ก่อน ซึ่งอาจทำให้จ่า…

รัน LLM บนเครื่องตัวเองด้วย Ollama

หลายองค์กรอยากใช้ LLM ช่วยสรุปเอกสาร จัดหมวดคำร้อง หรือช่วยตอบคำถามภายใน แต่ติดเงื่อนไขว่าข้อมูลห้ามออกนอกองค์กร หรืออยากทดลองโดยไม่ต้องกังว…

ให้ AI ช่วยตรวจ Accessibility (a11y)

Accessibility หรือ a11y คือการทำให้เว็บใช้งานได้กับทุกคน รวมถึงผู้ที่ใช้ screen reader ผู้ที่ใช้คีย์บอร์ดแทนเมาส์ ผู้มีสายตาเลือนราง และผู้ส…

จาก Mockup เป็น HTML/CSS ด้วย AI

เครื่องมือ AI หลายตัวรับภาพได้แล้ว การส่ง screenshot ของ mockup แล้วขอ HTML/CSS กลับมาจึงเป็นงานที่ทำได้เร็วมาก แต่ถ้าส่งแค่ภาพแล้วพิมพ์ว่า…

Hallucination ในโค้ด: แพ็กเกจและ API ที่ไม่มีอยู่จริง

เคยไหมที่ AI ตอบมาอย่างมั่นใจว่า "ใช้เมธอดนี้ได้เลย" แต่พอรันแล้วเจอ Call to undefined method หรือแนะนำให้ติดตั้งแพ็กเกจที่ค้นแล้วไม่เจอ อาก…

เมื่อไรไม่ควร Vibe Code: ข้อจำกัดและความเสี่ยง

Vibe Coding ทำให้เราได้ของที่รันได้เร็วมาก จนบางครั้งเผลอใช้มันกับทุกงาน ทั้งที่งานบางประเภทถ้าพลาดแล้วเสียหายเป็นเงิน เป็นข้อมูลของคนอื่น ห…

Workshop: จาก Vibe Code สู่ Yii2 CRUD ด้วย Gii + AI

หลายคนลองให้ AI เขียนระบบ CRUD ทั้งก้อนตั้งแต่ศูนย์ แล้วพบว่าได้โค้ดที่หน้าตาคล้าย Yii2 แต่ไม่ตรงกับโครงโปรเจกต์ ชื่อ namespace เพี้ยน บางเม…

ให้ AI ช่วยเขียน SQL และอ่าน EXPLAIN

SQL เป็นงานที่ AI ช่วยได้ดีมาก ตั้งแต่เขียน query รายงานที่ join หลายตาราง ไปจนถึงอธิบายผล EXPLAIN ที่อ่านยาก แต่ SQL ก็เป็นงานที่ผิดพลาดแล้…

Debug กับ AI อย่างเป็นระบบ: จาก Error ถึงสาเหตุ

หลายคนใช้ AI debug แบบนี้: คัดลอก error บรรทัดเดียวไปวาง ได้คำแนะนำมา ลองแก้ ไม่หาย วางใหม่ ได้คำแนะนำใหม่ แก้ซ้อนไปเรื่อย ๆ จนโค้ดเละกว่าเด…

ให้ AI ช่วยเขียนเอกสาร: README, Docstring, Changelog

เอกสารเป็นงานที่นักพัฒนาส่วนใหญ่รู้ว่าสำคัญแต่มักเลื่อนไปทำทีหลัง จนสุดท้ายไม่ได้ทำ หรือทำแล้วไม่มีใครอัปเดต AI ช่วยลดแรงเสียดทานตรงนี้ได้มา…

Refactor ด้วย AI โดยไม่พังของเดิม

การ refactor คือการปรับโครงสร้างโค้ดให้ดีขึ้นโดยที่พฤติกรรมภายนอกต้องเหมือนเดิมทุกประการ ฟังดูง่าย แต่เมื่อให้ AI ช่วย มักเกิดปัญหาว่ามันแอบ…

Git Workflow เมื่อทำงานกับ AI: Commit เล็ก ย้อนกลับง่าย

เวลาทำงานกับ AI ผู้ช่วยเขียนโค้ด สิ่งที่เปลี่ยนไปคือความเร็ว ในไม่กี่วินาที AI อาจแก้ไฟล์ไปสิบไฟล์ บางครั้งได้ผลดี บางครั้งพาโค้ดที่เคยทำงาน…

MCP (Model Context Protocol) คืออะไร ทำไมนักพัฒนาควรรู้

ถ้าคุณเคยอยากให้ AI ผู้ช่วยเขียนโค้ดอ่าน issue ในระบบของทีม ดู schema ฐานข้อมูลจริง หรือค้นเอกสารภายในบริษัท คุณจะพบว่าแต่ละเครื่องมือมีวิธี…

Rate Limit และ Retry เมื่อเรียก AI API

ใครที่เอา AI API ขึ้น production มาสักพักจะเจออาการคุ้นเคย คือระบบทำงานดีตอนทดสอบ แต่พอมีผู้ใช้พร้อมกันเยอะ ๆ ก็เริ่มได้ HTTP 429 หรือ 5xx ก…

ควบคุมค่าใช้จ่าย LLM: Token, Cache และการเลือกโมเดล

หลายทีมเริ่มใช้ LLM ในระบบจริงแล้วพบว่าบิลสิ้นเดือนสูงกว่าที่คิดไว้มาก สาเหตุส่วนใหญ่ไม่ได้มาจากผู้ใช้เยอะเกินไป แต่มาจากการส่งข้อมูลเกินจำเ…

Evals: วัดคุณภาพคำตอบ AI ก่อนขึ้น Production

ฟีเจอร์ AI มีนิสัยแปลกอย่างหนึ่ง คือแก้ prompt เพื่อให้คำถามข้อหนึ่งตอบดีขึ้น แล้วคำถามอีกสามข้อที่เคยตอบดีกลับแย่ลงโดยไม่มีใครรู้ เพราะเราท…

ให้ AI ตอบเป็น JSON ที่ตรวจสอบได้

งานจำนวนมากที่เราอยากให้ AI ช่วยไม่ใช่การคุย แต่คือการ ดึงข้อมูล เช่น อ่านข้อความลูกค้าในแชตแล้วแยกออกมาว่าต้องการอะไร เลขคำสั่งซื้อคืออะไร…

Tool Use / Function Calling: ให้ AI เรียกฟังก์ชันของระบบเรา

LLM เก่งเรื่องเข้าใจภาษาและเรียบเรียงคำตอบ แต่ไม่รู้ว่าสินค้าในร้านเราเหลือกี่ชิ้น ราคาวันนี้เท่าไร หรือคำสั่งซื้อของลูกค้าถึงไหนแล้ว ความสา…

Stream คำตอบ AI ไปหน้าเว็บด้วย Server-Sent Events

คำตอบจาก LLM ที่ยาวสักหน่อยอาจใช้เวลาสร้างหลายวินาทีจนถึงหลายสิบวินาที ถ้าเรารอจนเสร็จแล้วค่อยส่งทั้งก้อน ผู้ใช้จะเห็นหน้าจอนิ่งพร้อม spinne…

pgvector: ทำ Semantic Search ใน PostgreSQL

ถ้าระบบของคุณใช้ PostgreSQL อยู่แล้ว ไม่จำเป็นต้องเพิ่ม vector database อีกตัวเพื่อทำ semantic search หรือ RAG เพราะมี extension ชื่อ pgvect…

RAG ฉบับเข้าใจง่าย: ให้ AI ตอบจากเอกสารของเรา

ลองถาม AI ทั่วไปว่า "นโยบายคืนสินค้าของร้านเราเป็นยังไง" หรือ "ระบบ HR ของบริษัทลาพักร้อนได้กี่วัน" สิ่งที่ได้มักเป็นคำตอบกว้าง ๆ หรือแย่กว่…

อย่าใส่ Secret ลงใน Prompt: จัดการ API Key ให้ปลอดภัย

พอเริ่มใช้ AI ช่วยเขียนโค้ดและเรียก LLM API จากระบบของเรา ของมีค่าชิ้นใหม่ก็เพิ่มเข้ามาในโปรเจกต์ นั่นคือ API key ซึ่งผูกกับบัตรเครดิตหรือบั…

Prompt Injection คืออะไร และป้องกันในแอปของเรา

ถ้าแอปของเราเอา LLM มาช่วยสรุปอีเมล ตอบแชตลูกค้า หรืออ่านหน้าเว็บแล้วทำงานต่อให้ ช่องโหว่ที่ต้องรู้จักเป็นอันดับแรกคือ Prompt Injection คือก…

ช่องโหว่ที่พบบ่อยในโค้ดที่ AI สร้าง

AI เขียนโค้ดที่ "ทำงานได้" เร็วมาก แต่ทำงานได้กับปลอดภัยเป็นคนละเรื่องกัน เมื่อเราขอให้ AI ทำฟีเจอร์ให้ใช้ได้ มันจะหาทางที่สั้นที่สุดให้ใช้ไ…

Code Review โค้ดที่ AI เขียน: เช็กลิสต์ 15 ข้อ

เมื่อ AI เขียนโค้ดได้เร็วขึ้นหลายเท่า คอขวดของทีมจะย้ายไปอยู่ที่การ review ถ้าเรา review แบบเดิม คือกวาดตาดูว่าโค้ดอ่านง่ายไหม ก็มีโอกาสสูงท…

TDD กับ AI: เขียนเทสต์ก่อน แล้วให้ AI ทำให้ผ่าน

ปัญหาใหญ่ของการให้ AI เขียนโค้ดคือ เราจะรู้ได้อย่างไรว่าโค้ดถูก AI บอกว่า "เสร็จแล้ว" ได้เสมอ แต่คำว่าเสร็จของมันอาจไม่ตรงกับของเรา Test-Dri…

ให้ AI เขียน Unit Test แบบที่มีค่าจริง

การให้ AI เขียน unit test เป็นงานที่ดูเหมือนง่ายและคุ้มที่สุดงานหนึ่ง สั่งไปประโยคเดียวก็ได้เทสต์มาหลายสิบเคส รันแล้วเขียวทั้งหมด แต่ถ้าลองอ…

ใช้ AI อ่านโค้ดเก่า (Legacy) ให้เข้าใจเร็วขึ้น

งานที่นักพัฒนาหลายคนกลัวที่สุดไม่ใช่การเขียนระบบใหม่ แต่คือการรับช่วงระบบเก่าที่ไม่มีเอกสาร คนเขียนลาออกไปแล้ว controller ยาวหลายพันบรรทัด แ…

AI Coding Agent คืออะไร ต่างจาก Autocomplete อย่างไร

เครื่องมือ AI สำหรับนักพัฒนามีหลายแบบมาก ตั้งแต่ตัวที่เติมโค้ดให้ทีละบรรทัดใน editor ไปจนถึงตัวที่รับงานแล้วไปเปิดไฟล์ แก้หลายไฟล์ รันเทสต์…

Context คือทุกอย่าง: ส่งข้อมูลโปรเจกต์ให้ AI อย่างพอดี

เคยไหมที่ขอให้ AI เพิ่มฟีเจอร์เล็ก ๆ แล้วได้โค้ดที่เรียก method ที่ไม่มีในโปรเจกต์ ใช้ชื่อคอลัมน์ผิด หรือเขียนแบบ Laravel ทั้งที่เราใช้ Yii2…

เขียน Prompt สำหรับงานโค้ด: บอก AI ให้เข้าใจงานจริง

หลายคนลองให้ AI เขียนโค้ดแล้วผิดหวัง เพราะได้โค้ดที่ "ดูดี" แต่ไม่ตรงกับโปรเจกต์ ใช้ framework ผิดเวอร์ชัน หรือข้ามเงื่อนไขสำคัญไป สาเหตุส่ว…

10 กติกาก่อนให้ AI เขียนโค้ดในโปรเจกต์จริง

การให้ AI เขียนโค้ดในโปรเจกต์ทดลองกับโปรเจกต์ที่มีผู้ใช้จริงต่างกันมาก โปรเจกต์ทดลองพังก็แค่ลบทิ้ง แต่โปรเจกต์จริงพังหมายถึงข้อมูลลูกค้าหาย…

Vibe Coding คืออะไร: เขียนโปรแกรมด้วยการคุยกับ AI

ช่วงหลังเราได้ยินคำว่า "Vibe Coding" บ่อยมาก ทั้งในกลุ่มนักพัฒนาและคนที่ไม่เคยเขียนโปรแกรมมาก่อน บางคนบอกว่ามันคืออนาคตของการเขียนโปรแกรม บา…