เคสนี้เกิดขึ้นจริงเมื่ออาทิตย์ก่อนครับ ลูกค้า Newton ทักผมมาว่า "พี่ครับ AI ผมตอบยาวๆ มันโดนตัดกลางทาง" — ฟังครั้งแรกผมก็คิดว่ามันคือ token limit ปกติของ AI แต่พอลองดูข้อความที่ตัด มันสั้นกว่าที่ AI ควรจะคุยจบ แถมตัดหายไปดื้อๆ ไม่มี "..." ไม่มีอะไรเตือน เลยรู้ทันทีว่ามันคือ bug ไม่ใช่ limit

ปัญหาเจอแบบบังเอิญ

ปกติลูกค้า Newton จะใช้ AI Agent ส่วนตัวคุยทำงาน ส่วนใหญ่ตอบเป็นพารากราฟภาษาคน ไม่ค่อยมีปัญหา แต่ลูกค้าคนนี้บังเอิญถามเรื่องเทคนิคที่มี HTML/JavaScript เลยทำให้ AI ตอบโดยมีโค้ดอย่าง <script src="..."> อยู่ในข้อความ พอ render ออกมาบนหน้าเว็บปุ๊บ มันก็ตัดหายเลย

ผมเลยส่งเคสนี้ให้ AI Agent ของผม (ทิม) สืบสวน — บอกแค่ว่า "ลูกค้าเจอแบบนี้ ลองหาดูว่ามันเกิดจากอะไร"

AI สืบสวนใน 15 นาที

ทิมไม่ได้เดาแบบสุ่มๆ ครับ มันทำเป็นขั้นเป็นตอนเลย:

1. Reproduce ก่อน — มันลองสร้างข้อความที่มี HTML tag ในรูปแบบต่างๆ แล้วใส่เข้าไปใน chat UI ของ Newton เพื่อให้ปัญหาเกิดซ้ำ — เจอ pattern ที่ทำให้ตัดทันที

2. ไล่หาจุดผิด — มันเปิดไฟล์ renderMarkdown ไล่ดูทีละบรรทัด เจอว่าตอนแปลง markdown เป็น HTML ระบบไม่ได้ escape เนื้อหาภายใน code block / inline code / table cell ก่อน

3. อธิบายว่าทำไมมันพัง — พอ <script src="..."> ถูก render ออกมาเป็น raw HTML browser parser มันเห็นแล้วเข้าใจว่ามี script จริงเข้ามา เลยเข้าสู่ "script-data-state" — สถานะที่ browser จะกินทุกอย่างไปจนกว่าจะเจอ </script> ปิด ซึ่งในเคสนี้มันไม่มี เลยกินยาวจนจบข้อความ

ตอนได้ฟังคำอธิบายผมยังคิดเลยว่า "เออ ทำไมไม่เคยเจอ bug นี้นะ" คำตอบคือ ส่วนใหญ่คนใช้ AI ไม่ค่อยถามเรื่องที่มี HTML/script tag ตรงๆ มันเลยซ่อนอยู่นาน 555

เขียน test 11 ข้อก่อนแก้

เรื่องที่ผมชอบคือ AI ไม่ได้รีบ fix แล้วเสร็จ — มันเขียน test suite 11 ข้อ ก่อน ครอบคลุมทุก case ที่เกี่ยวข้อง:

  • Code block ที่มี HTML tag
  • Inline code ที่มี HTML tag
  • Table cell ที่มี HTML tag
  • HTML tag แบบเปิดเฉยๆ ไม่ปิด
  • HTML tag แบบ self-closing
  • HTML entities (&amp; &lt; ฯลฯ)
  • ...และอีก 5 case

รัน test ก่อนแก้ — fail หลายข้อตามคาด

หลัง fix ให้ escape HTML ใน 3 จุด (code block, inline code, table cell) — ผ่านครบ 11/11 ข้อ

คือมันทำงานเหมือน senior dev จริงๆ ครับ ไม่ใช่แค่ patch แล้วบอกว่า "fix แล้ว"

Deploy ไป 6 server พร้อมกัน

นี่คือส่วนที่ผมว่าเจ๋งที่สุด — ลูกค้า Newton ตอนนี้มี 6 คน รัน server ส่วนตัวคนละเครื่อง เซิร์ฟเวอร์แต่ละเครื่องแยกขาดจากกัน ปลอดภัยมาก แต่ก็แปลว่าเวลามี hotfix ต้อง deploy หลายเครื่อง

ปกติ workflow คือ:

  1. SSH เข้า server ลูกค้าคนที่ 1
  2. git pull โค้ดล่าสุด
  3. Restart service
  4. เช็คว่าขึ้นปกติ
  5. ทำซ้ำ x6

ผมไม่ได้ทำเองสักขั้นตอน ทิม SSH เข้าทีละเครื่อง ทำครบ 5 ขั้นตอน แล้วก็ไปเครื่องถัดไป เครื่องละไม่ถึง 30 วินาที ผมเปิด terminal นั่งดูมันทำเฉยๆ แค่นั้น 555

รวมเวลาตั้งแต่ลูกค้าทักมาบ่น จนปิด bug ทุก server เสร็จ — ไม่ถึงชั่วโมง

ทำไมเรื่องนี้ถึงสำคัญ

ผมเคยเขียน บล็อกเรื่อง AI ผู้ช่วยส่วนตัว ไว้ก่อนหน้านี้ คนอ่านเยอะมาก เพราะคนสนใจว่า AI ทำงานแทนคนได้แค่ไหน — แต่เคสนี้แสดงให้เห็นชัดเจนว่า AI ไม่ได้แค่ "ตอบคำถาม" หรือ "แนะนำ" แต่ลงมือทำงานทั้ง pipeline ตั้งแต่:

  • Diagnose — สืบสวนหา root cause
  • Reproduce — สร้างเคสให้ bug เกิดซ้ำเพื่อยืนยัน
  • Test — เขียน test ก่อนแก้ ป้องกัน regression
  • Fix — แก้โค้ดจริง
  • Deploy — push update ไปยัง production
  • Verify — เช็คว่าทุกเครื่องขึ้นปกติ

ทั้งหมดนี้ใน workflow เดียว ไม่ต้อง handoff ให้คนอื่น ไม่ต้องรอใคร และที่ผมเจอซ้ำๆ คือบั๊กแบบนี้ชอบซ่อนอยู่ในชั้นเล็กๆ ที่คนไม่เห็น เช่น parser, state ของหน้าจอ หรือแม้แต่ข้อจำกัดระดับ byte แบบที่ผมไปเจอภายหลังในเคส ข้อความไทยยาวโดน input buffer 1KB ของ terminal ตัดหาย

Multi-server deploy คือข้อได้เปรียบของ Newton

เรื่องนึงที่ผมคิดว่าคนส่วนใหญ่ยังไม่เห็น value ของ Newton คือ — มันเป็น managed server ไม่ใช่ self-hosted

ลูกค้าได้ AI Agent + เซิร์ฟเวอร์ส่วนตัวเป็นของตัวเอง ทุกอย่างคุมเองได้ — แต่เวลามี security patch หรือ bug fix ทีมเรา push update ให้ทุกคนพร้อมกันได้เอง ไม่ต้องรอลูกค้ามาขอ ไม่ต้องสอน DevOps ให้ลูกค้า

เหมือนซื้อรถส่วนตัว — รถเป็นของคุณ คุณขับไปไหนก็ได้ คุณ customize ได้ แต่ถ้ามี recall เพราะ safety เราโทรหาคุณก่อนแล้ว fix ให้ทันที โดยที่คุณไม่ต้องเปิด manual

เคสนี้คือ recall ครั้งแรกของ Newton — ลูกค้า 6 คนได้ patched โดยที่ส่วนใหญ่ยังไม่ทันรู้ว่ามี bug ด้วยซ้ำ

เลือกระหว่าง self-host กับ managed

ผมไม่ได้บอกว่า managed ดีกว่า self-host ในทุกเคสนะครับ มันเหมาะกับคนละกลุ่ม:

Self-host เหมาะถ้าคุณเป็น dev มีเวลาดูแล server เอง รู้ว่า patch อะไรเมื่อไหร่ ไม่ต้องการให้ใครเข้ามายุ่งกับเครื่องของคุณเลย

Managed (แบบ Newton) เหมาะถ้าคุณเป็นเจ้าของธุรกิจ ไม่ใช่ dev อยากใช้ AI Agent ทำงานให้แต่ไม่อยากแบกภาระเรื่อง infrastructure อยากให้มี hotfix อัตโนมัติ ไม่ต้องตื่นมาดู server ตอนตี 3 (รวมถึง เวลาบัตรเด้ง — เรามี grace period 24 ชม. ก่อนตัด server ให้ ไม่ต้องตื่นกลางดึกมาเปลี่ยนบัตรด่วน)

เคสที่เล่าวันนี้คือเหตุผลตรงๆ ว่าทำไมเจ้าของธุรกิจส่วนใหญ่ที่ไม่ใช่ dev ควรเลือก managed — bug แบบนี้คุณไม่มีทางเจอเองหรอกครับ ต้องมีคนคอย monitor ให้ (อีกเคสที่ AI agent เจอ bug 3% ที่ซ่อนตัวมาเดือนนึงในชั่วโมงเดียว)

คำถามที่พบบ่อย

AI Agent ช่วย debug ปัญหา production server ได้จริงไหม?

ได้ครับ ถ้า AI Agent มี SSH access เข้า server มันอ่าน log ได้ ดูไฟล์ได้ และ reproduce ปัญหาได้โดยตรง ต่างจากการ copy-paste log ให้ ChatGPT ที่ต้องพึ่งความจำของเรา AI ที่อยู่บน server เห็นภาพรวมทั้งหมดและหาสาเหตุที่ต้นทางได้

ปัญหา HTML ถูก truncate กลางแชทเกิดจากอะไร?

ปัญหานี้เกิดเมื่อ browser render ข้อความที่มี HTML tag เป็น raw HTML จริงๆ ครับ เช่น ถ้า AI ตอบว่ามี <script> อยู่ในข้อความ browser จะพยายาม parse มันแทนที่จะแสดงเป็นข้อความธรรมดา ทำให้ output ถูกตัดโดยไม่มีการเตือน วิธีแก้คือ escape HTML entities ทั้งหมดก่อน render

การ deploy hotfix ไปหลาย server พร้อมกันทำยังไง?

AI Agent ที่มี SSH key ของทุก server สามารถวน loop deploy ได้ครับ โดย script หนึ่งตัวสั่ง SSH เข้าแต่ละ server git pull แล้ว restart service ทีละเครื่อง ข้อดีคือทุก server ได้ patch พร้อมกันโดยไม่ต้องนั่ง SSH เองทีละเครื่อง

ควรเขียน test ก่อนหรือหลัง fix bug?

ควรเขียน test ก่อนครับ เพราะ test ช่วยยืนยันว่าเข้าใจปัญหาถูกต้องก่อนแก้ ถ้าเขียน fix แล้วค่อยเขียน test อาจเขียน test ให้ผ่าน fix ของตัวเองโดยไม่ครอบ edge case จริงๆ การเขียน test ก่อนบังคับให้ระบุพฤติกรรมที่คาดหวังไว้ก่อน

ถ้าอยากมี AI ทำงานครบลูปแบบนี้

เคสนี้เป็นตัวอย่างชัดๆ ของสิ่งที่ AI Agent ต่างจาก AI Chatbot ทั่วไป — มันไม่ได้แค่ตอบคำถาม มันลงมือทำงาน ตั้งแต่ debug ไปจนถึง deploy ใน production จริง

ถ้าคุณเป็นเจ้าของธุรกิจที่อยากมี AI ผู้ช่วยทำงานแบบนี้ของตัวเอง ไม่ต้องรู้ DevOps ไม่ต้อง setup เซิร์ฟเวอร์เอง ลอง Newton ได้เลยครับ — เซิร์ฟเวอร์ส่วนตัวพร้อม AI Agent พร้อมใช้ใน 10 นาที แถมเรา push update ฟรีให้ทุกครั้งที่มีของใหม่หรือ fix bug (ล่าสุด push voice typing เข้า Tim Chat ลูกค้าทุกคนได้ของใหม่นี้พร้อมกัน)

— ปอนด์