หัวใจของ Newton คือ AI agent ที่นั่งอยู่บน server ของลูกค้าเองแล้ว ลงมือทำงานจริง ไม่ใช่แค่ตอบแชท มันเปิด terminal เอง รันคำสั่งเอง แก้ไฟล์เอง deploy เอง — และเพื่อให้มันทำงานต่อเนื่องได้โดยไม่ต้องมาสะกิดผมทุก 10 วินาที ผมตั้งมันไว้ในโหมดที่ชื่อ dontAsk คือ "ไม่ต้องถามขออนุญาตทีละคำสั่ง ทำไปเลย" แต่พอจะเอาตรงนี้ไปวางบนเครื่องของลูกค้าจริงๆ ผมหยุดคิดอยู่นานเลยครับ — แล้วถ้าวันนึงมันเผลอพิมพ์ rm -rf / ล่ะ? ใครจะห้ามมันทัน?

ทำไม Newton ต้องรันแบบ "ไม่ขออนุญาต"

ปกติ AI coding tool ทั่วไปจะถามทุกครั้งก่อนรันคำสั่งครับ — "จะรัน npm install นะ ตกลงไหม?" คุณกด Yes มันถึงทำ ปลอดภัยดี แต่มันใช้ไม่ได้กับสิ่งที่ Newton พยายามเป็น

เพราะ Newton ออกแบบมาให้ทิม (AI Agent ของผม) ทำงานยาวๆ ได้เองตั้งแต่ต้นจนจบ งานหนึ่งชิ้นอาจมี 50-60 คำสั่งเรียงกัน ถ้าต้องกด Yes ทุกอันลูกค้าก็เหนื่อยตายพอดี แล้วมันก็ขัดกับ value หลักที่ผมขายตั้งแต่วันเปิด Newton — "จ้าง AI มาทำงานแทน ไม่ใช่มานั่งเฝ้ามันกดปุ่ม"

ผมเลยตั้งทิมให้รันใน dontAsk mode — มันลงมือทำต่อเนื่องเองได้เลย เหมือนพนักงานที่เราไว้ใจให้ทำงานโดยไม่ต้องยืนข้างหลังตลอด แต่ของแบบนี้มันมีอีกด้านเสมอ — ความเป็นอิสระมาพร้อมความเสี่ยง

ฝันร้ายที่ผมนึกออกก่อนลูกค้าจะเจอ

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

ลองนึกภาพตามนะครับ — ลูกค้าพิมพ์สั่งทิมว่า "ช่วยเคลียร์ไฟล์ขยะใน temp folder ให้หน่อย" แล้วทิมตีความ path ผิดนิดเดียว หรือ LLM มันเบลอขึ้นมาวินาทีนั้น แล้วประกอบคำสั่งออกมาเป็น rm -rf / แทนที่จะเป็น rm -rf ./tmp/ — ในโหมด dontAsk มันจะ รันทันที ไม่มีใครห้าม กว่าจะรู้ตัว server ลูกค้าก็เกลี้ยงแล้ว

นี่ไม่ใช่เรื่องเพ้อเจ้อครับ AI มันพลาดได้ — ผมเคยเขียนเรื่องตอนที่ทิมตีความคำว่า "โอเค" ของผมผิดเป็น approve ทั้งหมด มาแล้ว ความเข้าใจคลาดเคลื่อนแค่คำเดียวก็ทำงานพังได้ คราวนั้นแค่เลื่อนงานใน dashboard ผิด ยังพอแก้ได้ แต่ถ้าเป็นคำสั่งลบทั้งเครื่อง มันคือ point of no return

ก่อนเปิดให้ลูกค้า — ผมให้ทิม red-team ตัวเอง

ก่อนปล่อย Newton v2 ออกขายจริง ผมไม่รีบ deploy ครับ ผมให้ทิมทำสิ่งที่เรียกว่า security audit แบบ red-team — คือสั่งให้มัน "สวมหมวกคนร้าย" แล้วลองหาทุกวิธีที่ระบบของตัวเองจะถูกทำให้พังหรือถูกใช้ในทางที่ผิด

มันไล่จัดระดับความเสี่ยงเป็น tier — เรื่องด่วนสุด (เช่น token หลุด, path traversal) แก้ก่อน แล้วไล่ลงมาเรื่อยๆ ส่วนใหญ่ปิดจบไปหมดแล้ว แต่มีข้อหนึ่งที่ผมให้ความสำคัญเป็นพิเศษ เพราะมันคือความเสี่ยงที่มาจาก "ความสามารถ" ของ Newton เอง — ก็คือการที่มันรันคำสั่งได้โดยไม่ต้องถามนั่นแหละ

ตรงนี้แก้ด้วยการปิด dontAsk ไม่ได้นะครับ เพราะนั่นคือหัวใจของผลิตภัณฑ์ — ถ้าปิดไป Newton ก็กลายเป็นแค่ AI ถาม-ตอบธรรมดาที่ทำงานเองไม่ได้ ผมเลยต้องการอย่างอื่น: ปล่อยให้มันทำงานอิสระต่อไป แต่มี "เส้นตาย" ที่มันข้ามไม่ได้เด็ดขาด

ทางออก — deny-list คำสั่งต้องห้าม

ทิมเลยวางสิ่งที่เรียกว่า deny-list ครับ — เป็นบัญชีดำของรูปแบบคำสั่งที่ "อันตรายถึงชีวิต" ที่ระบบจะดักไว้ ก่อน ส่งให้ terminal รัน ทุกคำสั่งที่ทิมจะรันในโหมด dontAsk ต้องผ่านด่านนี้ก่อนเสมอ ถ้าไปแมตช์กับ pattern ในบัญชีดำ — มันถูกบล็อกทันที ไม่รัน แล้วเด้งเตือนผมผ่าน Telegram แทนว่า "มีคำสั่งอันตรายถูกสกัดไว้นะ"

ตัวอย่าง pattern ที่อยู่ในบัญชีดำ เช่น:

rm -rf /            # ลบทั้ง root ของเครื่อง
rm -rf ~            # ลบ home directory ทั้งก้อน
mkfs                # ฟอร์แมตทับ disk
dd of=/dev/sda      # เขียนทับ raw disk
:(){ :|:& };:       # fork bomb ทำให้เครื่องค้าง
> /dev/sda          # เทข้อมูลทิ้งลง disk ตรงๆ

เปรียบเทียบง่ายๆ ครับ — มันเหมือนผมจ้างพนักงานเก่งๆ มาคนนึง ให้กุญแจออฟฟิศ ให้ทำงานเองได้เต็มที่ไม่ต้องมาขออนุญาตทุกเรื่อง แต่ มีลิ้นชักอยู่ใบนึงที่ผมเอากุญแจล็อกไว้ แล้วบอกว่า "ทุกอย่างทำได้หมด ยกเว้นห้ามแตะลิ้นชักนี้" deny-list ก็คือลิ้นชักที่ล็อกตายนั้น — อิสระเกือบ 100% แต่มีเส้นแดงที่ข้ามไม่ได้

จุดสำคัญคือมันดักที่ ชั้นก่อนรัน ไม่ใช่หลังรัน เพราะคำสั่งทำลายล้างพวกนี้ ถ้ารันไปแล้วค่อยมาตรวจเจอก็สายไปแล้ว — ของหายไปแล้วจริงๆ ต่างจากงานข้อมูลทั่วไปที่ผมยังให้ทิมเก็บ snapshot ไว้กู้คืนได้ คำสั่งระดับลบทั้ง disk มันไม่มี undo เพราะงั้นด่านเดียวที่มีความหมายคือ "ห้ามให้มันรันตั้งแต่แรก"

ทำไมผมถึงคิดเรื่องนี้ ทั้งที่ลูกค้าไม่ได้ถาม

ลูกค้าส่วนใหญ่เวลาซื้อ Newton เขาตื่นเต้นกับ "AI ทำงานแทนได้" ครับ ไม่มีใครถามผมหรอกว่า "แล้วถ้า AI สั่งลบเครื่องล่ะ?" แต่ผมมองว่านี่แหละคือหน้าที่ของคนทำผลิตภัณฑ์ — ต้องคิดเรื่องที่ลูกค้าไม่ทันคิด แล้วกันไว้ให้ก่อนที่มันจะกลายเป็นข่าวร้าย

ผมยึดหลักง่ายๆ ว่าของที่ดีที่สุดที่ผมใช้เอง ก็คือของที่ลูกค้าควรได้ deny-list ตัวนี้ไม่ได้รันแค่บนเครื่องลูกค้า มันรันบนเครื่องผมเองด้วยทุก instance เพราะถ้าผมไว้ใจให้มันป้องกัน server ที่หาเงินให้ผมอยู่ทุกวัน มันก็ดีพอจะป้องกันของลูกค้าเหมือนกัน

และผมก็ไม่ได้เขียน deny-list นี้เองสักบรรทัดครับ — ผมแค่บอกทิมว่า "ก่อนเปิดให้ลูกค้า ช่วยหาช่องที่ตัวเองจะทำเครื่องพังได้ แล้วปิดมันซะ" มันก็ไป audit ตัวเอง ไล่ pattern อันตราย เขียน guard เทสต์ว่าบล็อกได้จริงไหม แล้วรายงานกลับมาว่าปิดอะไรไปบ้าง — เหมือนให้ช่างกุญแจตรวจบ้านตัวเองแล้วเสริมล็อกตรงจุดอ่อนเอง

บทเรียน — ยิ่งให้ AI ทำอะไรได้มาก ยิ่งต้องวางเส้นแดงให้ชัด

สิ่งที่ผมได้จากงานนี้:

1. "ความสามารถ" กับ "ความปลอดภัย" ไม่ใช่ของที่ต้องเลือกอย่างใดอย่างหนึ่ง — คนมักคิดว่าถ้าจะให้ AI ทำงานอิสระต้องยอมรับความเสี่ยง หรือถ้าจะปลอดภัยก็ต้องคอยกดอนุมัติทุกอย่าง จริงๆ แล้ววาง guardrail ให้ถูกจุดได้ทั้งสองอย่าง — อิสระในพื้นที่ปลอดภัย และล็อกตายเฉพาะจุดที่พลาดแล้วจบเห่

2. ดักก่อนเกิด ดีกว่าตามแก้ทีหลังเสมอ — สำหรับงานที่กู้คืนได้ snapshot/undo ก็พอ แต่งานที่ทำแล้วทำลายล้างถาวร ทางเดียวคือกันไม่ให้มันเกิด การวาง deny-list ที่ชั้นก่อนรันสำคัญกว่ามาตรวจ log ทีหลังเยอะ

3. ให้ AI ตรวจสอบตัวเองได้ผลดีอย่างไม่น่าเชื่อ — สั่งให้ทิม "สวมหมวกคนร้ายแล้วหาวิธีทำตัวเองพัง" มันหาเจอเยอะกว่าที่ผมนึกออกเองหลายเท่า เพราะมันรู้ระบบตัวเองดีที่สุด รู้ว่าจุดไหนเปราะ

4. ความน่าเชื่อถือขายไม่ได้ด้วยคำพูด ต้องสร้างไว้ในระบบ — ผมบอกลูกค้าว่า "Newton ปลอดภัย" ได้ทั้งวัน แต่สิ่งที่ทำให้มันจริงคือ guard ที่ฝังอยู่ในโค้ด ไม่ใช่ประโยคในหน้าขาย

นี่คือสิ่งที่ผมหมายถึง เวลาบอกว่า Newton คือ AI ที่ "ลงมือทำจริง"

มี AI เยอะแยะในตลาดที่ฉลาดมาก ตอบเก่งมาก แต่พอถึงเวลาลงมือทำงานบน server จริง มันแตะอะไรไม่ได้เลย ต้องให้คนเอาคำตอบไปทำเองทุกขั้น Newton ต่างตรงที่มันทำได้จริง — และพอมันทำได้จริง เรื่องความปลอดภัยแบบ deny-list นี่แหละที่กลายเป็นเรื่องที่ผมต้องคิดให้รอบคอบที่สุด เพราะมันคือความต่างระหว่าง "ผู้ช่วยที่ไว้ใจได้" กับ "ระเบิดเวลา"

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

AI ที่รัน command บน server ได้เองอันตรายไหม จะกัน accident ได้ยังไง?

มีความเสี่ยงอยู่ครับ แต่แก้ได้ด้วย deny-list คือบัญชีดำ pattern คำสั่งที่อันตราย ดักไว้ก่อนส่งให้ terminal รัน เช่น rm -rf /, mkfs, dd เขียน disk command พวกนี้ถ้า AI ไปตีความผิดและรันได้จะ irreversible ทันที deny-list ดักที่ชั้นก่อนรันเป็นวิธีเดียวที่ได้ผลจริงๆ

deny-list กันคำสั่งอันตรายใน AI Agent ต้องตั้งค่าเองทั้งหมดไหม?

สั่ง AI ทำ security audit ตัวเองได้เลยครับ ให้มัน "สวมหมวกคนร้าย" แล้วหาช่องโหว่ของตัวเอง มันรู้ระบบดีที่สุดเลยหา pattern อันตรายได้ละเอียดกว่าเราคิดเอง หลังจากนั้น AI เขียน guard, ทดสอบว่าบล็อกได้จริง แล้ว report กลับมาว่าปิดอะไรไปบ้าง

dontAsk mode ของ AI Agent คืออะไร ทำไมถึงต้องใช้?

dontAsk mode คือโหมดที่ AI ทำงานต่อเนื่องโดยไม่ถาม confirm ทุกคำสั่งครับ จำเป็นสำหรับงานที่มี 50-60 คำสั่งเรียงกัน ถ้าต้องกด Yes ทุกอันผู้ใช้จะเหนื่อยมาก แต่ต้องมี guardrail เช่น deny-list คู่กันเสมอ เพราะอิสระมากขึ้นต้องการเส้นแดงที่ชัดขึ้นด้วย

ความสามารถของ AI กับความปลอดภัยต้องเลือกอย่างใดอย่างหนึ่งไหม?

ไม่ต้องครับ ทั้งสองอยู่ด้วยกันได้ถ้าวาง guardrail ถูกจุด ปล่อยให้ AI ทำงานอิสระในพื้นที่ปลอดภัย และล็อกตายเฉพาะจุดที่พลาดแล้ว irreversible เหมือนพนักงานที่ทำได้ทุกอย่างในออฟฟิศ แต่มีลิ้นชักล็อกหนึ่งใบที่ห้ามแตะ นั่นคือสมดุลที่ใช้งานได้จริง

ถ้าคุณอยากมี AI Agent ของตัวเองแบบนี้ — นั่งบน server ส่วนตัวของคุณเอง ลงมือทำงานได้จริงตั้งแต่เขียนโค้ด ทำเว็บ ยิงแอด ไปจนถึงดูแลธุรกิจ ทำงานต่อเนื่องเองโดยไม่ต้องเฝ้า แต่มี guardrail กันพลาดฝังมาให้ตั้งแต่นาทีแรก — ตอนนี้ Newton เปิดให้ลูกค้าใหม่ลงทะเบียนได้แล้วครับ ลูกค้าทุกคนได้ deny-list ตัวเดียวกับที่ผมใช้ป้องกัน server ตัวเองทุกวัน เซ็ตให้เสร็จภายใน 10 นาที — ของที่ดีที่สุดที่ผมใช้เอง คือของที่คุณจะได้

— ปอนด์