เจาะประเด็น
AI / Workflow / Security
จับ Claude Code ใส่กรง: เทคนิคกักขัง AI ให้ทำงานเก่งโดยไม่ปล่อยให้มันรู้อะไรมากเกินไป
คอลัมนิสต์สาย dev เล่าประสบการณ์จริงที่ไม่ได้แค่ใช้ AI เขียนโค้ด แต่สร้างระบบคุม AI ไม่ให้พลาดจนพาโปรดักชันล้ม
ทีมข่าว เอไอไทย.com
⏱ อ่าน 4 นาที
ถ้าคุณยังปล่อยให้ AI เขียนโค้ดแล้วกด deploy ตรงๆ โดยไม่มีการ์ดกันความเสี่ยงแม้แต่ชั้นเดียว บอกได้เลยว่าคุณกำลังเล่น Russian roulette กับโปรดักชันของคุณอยู่
เราคงต้องพูดกันตรงๆ ณ จุดนี้ — ถ้าคุณใช้ Claude Code หรือ AI coding tool อะไรก็ตามแบบ "สั่งให้มันเขียนแล้ว push ขึ้น production เลย" โดยไม่มีการควบคุมอะไรเลย นั่นไม่เรียกว่าเป็น developer นั่นเรียกว่าเป็นคนเสี่ยงดวง เรื่องนี้ไม่ใช่ซีเรียสเกินเหตุ แต่คนที่จับ AI มาใช้ทำงานจริงๆ ระดับโปรดักชันจะเข้าใจดีว่ามันไม่ใช่แค่ "ให้ AI เขียนโค้ด" แต่มันคือการออกแบบระบบที่ทำให้ AI ทำงานได้โดยไม่พัง
กระทู้จากสมาชิก Reddit ใน r/ClaudeAI ที่ใช้ชื่อว่า Hansehart โพสต์แชร์เซ็ตอัปของเขาที่น่าสนใจมาก เขาไม่ได้มาโม้เก่ง แต่มาอธิบายวิธีที่เขาจัดการกับ "ความเสี่ยง" ของการให้ AI เขียนโค้ดในระดับที่ต้องรับผิดชอบต่อระบบ production จริงๆ หลายคนอาจมองว่ามันเป็นแค่กระทู้เทคนิคธรรมดา แต่ผมมองว่ามันคือพิมพ์เขียวของวิถีใหม่ที่ developer ทุกคนต้องเรียนรู้ ถ้าอยากใช้ AI โดยไม่ให้มันกัดมือคุณ
ก่อนอื่นต้องเข้าใจบริบทก่อน — เจ้าของกระทู้นี้ไม่ได้เป็นคนที่เขียนโค้ดเองแทบทุกบรรทัด แต่เขากลับยอมรับตรงๆ ว่า "ผมแทบไม่เขียนโค้ดเองเลย แต่จะรีวิวทุกบรรทัดที่ commit" ฟังดูอาจขัดหู developer สายดั้งเดิม แต่เขามีเหตุผลรองรับ — เขาบริหารบริการที่รันอยู่บน production และต้องรับผิดชอบเรื่อง uptime กับประสบการณ์ลูกค้า การปล่อยให้ AI สุ่มสี่สุ่มห้าทำอะไรก็ได้มันคือฝันร้ายของเขาแน่นอน
วิธีแก้ของเขาคือการใช้ devcontainer ซึ่งเป็นมาตรฐานสภาพแวดล้อมสำหรับนักพัฒนา ที่จริงเขาใช้มันมาก่อนที่จะมี Claude Code ด้วยซ้ำ แต่ตอนนี้มันกลายเป็นกำแพงด่านแรกในการแยก AI ออกจากระบบหลักของเขา ต้องบอกก่อนว่า Docker container มันแชร์ kernel กับ host ดังนั้นมันไม่ได้ปลอดภัยเท่า VM หรือ Docker sandbox รุ่นใหม่ๆ แต่ในแง่ของการ "กักขัง" ให้ AI ทำงานในพื้นที่ของมัน มันก็เพียงพอสำหรับการใช้งานระดับนี้แล้ว
ที่เด็ดกว่านั้นคือเขาย้าย secrets ทั้งหมดออกไปจาก Claude โดยเด็ดขาด — Claude อยู่ใน container ที่เขาเรียกว่า "cage" ส่วน secrets อยู่ในอีก container หนึ่งที่ทำหน้าที่เป็น proxy และเหนือขึ้นไปอีก เขาใส่ egress filter เข้าไปด้วย นั่นหมายความว่า process ใน devcontainer ของเขาสามารถเข้าถึง host ที่เขาอนุญาตไว้ใน whitelist เท่านั้น จะไปไหนนอกเหนือจากนั้นไม่ได้ ฟังดูคล้ายๆ กับการให้ AI อยู่ในห้องขังที่มองเห็นโลกได้แค่ผ่านช่องที่เราจัดไว้ให้
ประเด็นที่ผมชอบที่สุดในกระทู้นี้คือเขาย้ำว่า "การปลอดภัยมันดี แต่คุณต้อง productive ด้วย" หลายคนที่พยายามล็อก AI จนมิดชิดเกินไปมักเจอปัญหาเดียวกัน — AI ทำงานอะไรไม่ได้เลยเพราะโดนจำกัดจนหมดสภาพ วิธีแก้ของเขาคือการจัดโครงสร้างการพัฒนาที่ชัดเจน เริ่มจากมีหลายโปรเจกต์ แต่ละโปรเจกต์มีหลาย worktrees ใช้ static typing, lints, TDD, e2e tests และหลักวิศวกรรมซอฟต์แวร์ที่ดีอื่นๆ เต็มรูปแบบ รวมถึงมี reference projects ที่ดีไว้ให้ AI คัดลอกเป็นต้นแบบ
เขาใช้ VSCode workspace ภายใน devcontainer เพราะมันช่วยจัดการทั้งเรื่องหลายโปรเจกต์และหลาย worktrees ได้ในที่เดียว ส่วนเรื่องความต่างระหว่าง dev กับ prod เขาแก้ด้วยการใช้ Docker-in-Docker (DinD) ซึ่งทำให้เขาไม่ต้อง push หรือ deploy เพื่อทดสอบว่า build หรือ stack ของเขาพังหรือไม่ — ทดสอบได้ทันทีในวงในก่อนปล่อยออกไป และขั้นต่อไปที่เขาวางแผนไว้คือ minikube กับงานด้าน UI/UX ซึ่งแสดงให้เห็นว่าเขาคิดเรื่องนี้เป็นระบบ ไม่ใช่แกะรอยไปเรื่อยๆ
จุดที่หลายคนมองข้ามและเขาพูดถึงคือเรื่องของการวัดผล — เขาเตือนว่าอย่าเผา token ทีละนิดแบบไม่มีเป้าหมาย "less is more" วลีนี้สำคัญมาก เพราะการให้ AI ทำงานแบบมั่วๆ ไปเรื่อยๆ ไม่ได้แปลว่าได้งานเยอะ แต่แปลว่าเสียเงินและเสียเวลาที่จะต้องมาไล่แก้ของที่มันทำพลาดทีหลัง การมีกลยุทธ์วัดความคืบหน้าที่ชัดเจนจะช่วยให้คุณรู้ว่ากำลังไปถูกทางหรือเปล่า ไม่ใช่แค่กดรันไปเรื่อยจนเจอทางออกโดยบังเอิญ
สำหรับคนที่คิดว่า "เดี๋ยวฉันค่อยไปศึกษาเรื่องนี้ทีหลัง" บอกได้เลยว่าเวลาของคุณหมดลงแล้ว เพราะเครื่องมือ AI ในตอนนี้มันฉลาดพอที่จะสร้างความเสียหายได้ในระดับที่เท่ากับ developer ที่ขาดประสบการณ์คนหนึ่งนั่งแก้โค้ดใน production ของคุณโดยไม่มีใครดู มันไม่ใช่เรื่องของอนาคตอีกต่อไป มันคือปัญหาที่เกิดขึ้นได้ทุกวันนี้แล้ว
แน่นอนว่าเซ็ตอัปแบบนี้ไม่ได้เหมาะกับทุกคน — ตัวเขายอมรับเองว่าต้องมีความคุ้นเคยกับ VSCode และ devcontainers อยู่พอสมควร ถ้าคุณยังเป็นมือใหม่ในเรื่องนี้ก็อาจต้องเริ่มจากทีละขั้น แต่อย่างน้อยหลักการที่เขาสอนมันถูกต้องและใช้ได้จริง ไม่ว่าจะใช้เครื่องมืออะไร: แยก AI ออกจาก secrets, จำกัดการเข้าถึงเครือข่าย, ให้มันทำงานกับของจริงที่รันใน production (อย่าใช้ของ mock) แล้วค่อยๆ ปรับปรุงคุณภาพโค้ดด้วยหลักวิศวกรรมซอฟต์แวร์ที่ดี
สิ่งที่ผมอยากฝากไว้คือเรื่องของความคิด — การใช้ AI ในยุคนี้ไม่ใช่การ "จ้างคนเก่งมาช่วยเขียนโค้ด" แต่คือการ "สร้างระบบที่ทำให้ AI ทำงานได้อย่างมีประสิทธิภาพสูงสุดภายใต้ขอบเขตที่เราควบคุมได้" ถ้าคุณยังคิดว่า "ให้มันทำไปก่อน เดี๋ยวค่อยแก้" — ขอให้โชคดีกับ production ของคุณจริงๆ เพราะคุณจะต้องใช้คำนั้นบ่อยแน่นอน
ท้ายที่สุดแล้ว สิ่งที่ Hansehart สอนเราคือปรัชญาการทำงานกับ AI ที่ถูกต้อง — อย่าไว้ใจมันแบบไม่ลืมหูลืมตา แต่อย่ากลัวมันจนไม่กล้าใช้ประโยชน์ สร้างกรงที่ปลอดภัยให้มันทำงาน แล้วคุณจะได้ทั้งความเร็วของ AI และความอุ่นใจของ developer ที่รับผิดชอบระบบจริง
ที่มา: Reddit r/ClaudeAI — อ่านต้นฉบับ
ความคิดเห็น 3
กำลังโหลดความคิดเห็น...