วิธีสร้าง AI Agent ด้วย Claude บน VPS ของคุณเอง
เรียนรู้วิธีใช้ Claude เป็นสมองสั่งการและ VPS เป็นฐานปฏิบัติการผ่าน Messages API และ Tool Use เพื่อสร้าง AI Agent ที่คุณควบคุมทรัพยากรและเครื่องมือได้ทั้งหมดด้วยตัวเอง
การสร้างเอเจนต์ด้วย Claude หมายถึงอะไร
การสร้างเอเจนต์ด้วย Claude หมายถึงการใช้ Claude เป็นแกนกลางในการประมวลผลเชิงตรรกะ ในขณะที่ลูปการทำงาน เครื่องมือ และข้อมูลทั้งหมดจะอยู่บนเซิร์ฟเวอร์ของคุณเอง Claude จะเป็นผู้ตัดสินใจว่าจะทำอย่างไร และ VPS ของคุณจะเป็นผู้ดำเนินการตามนั้น คุณส่งงานและสถานะปัจจุบันไปให้ Claude จากนั้น Claude จะตอบกลับมาเป็นคำตอบหรือคำขอให้ใช้เครื่องมือที่คุณเตรียมไว้ โค้ดของคุณจะทำหน้าที่รันเครื่องมือนั้นและส่งผลลัพธ์กลับไป โดยลูปนี้จะดำเนินต่อไปจนกว่างานจะเสร็จสิ้น ความฉลาดคือบริการที่คุณเรียกใช้งานผ่านอินเทอร์เน็ต ส่วนองค์ประกอบอื่นๆ ทั้งหมดเป็นของคุณ
การแบ่งส่วนการทำงานเช่นนี้คือจุดเด่นที่น่าสนใจ คุณจะได้รับความสามารถในการประมวลผลระดับแนวหน้าโดยไม่ต้องดูแลโมเดลด้วยตนเอง และคุณยังคงควบคุมสิ่งที่เอเจนต์สามารถเข้าถึงได้อย่างเต็มที่ เนื่องจากเครื่องมือต่างๆ รันอยู่บนฮาร์ดแวร์ที่คุณเป็นเจ้าของ หากคุณเคยสร้างโปรแกรม Claude โปรแกรมแรกมาแล้ว คู่มือการสร้างแอป Claude บน VPS จะครอบคลุมพื้นฐานที่จำเป็นซึ่งเนื้อหาในส่วนนี้จะนำมาต่อยอดต่อไป
Claude คือสมอง: Messages API
การเรียกใช้งาน Claude ทุกครั้งจะผ่าน endpoint เดียวคือ Messages API คุณจะต้องส่งบทสนทนาทั้งหมดที่ผ่านมาและรายการเครื่องมือที่เอเจนต์สามารถใช้ได้ จากนั้น Claude จะส่งข้อความถัดไปกลับมา ข้อความนั้นจะเป็นคำตอบสุดท้ายหรือคำขอให้เรียกใช้เครื่องมือ สำหรับแนวทางการสร้างด้วยตนเองนั้นจะไม่มี "agent API" แยกต่างหาก การใช้งานเครื่องมือเป็นฟีเจอร์หนึ่งของ endpoint นี้ และคุณจะต้องเป็นผู้จัดการลูปการทำงานด้วยตนเอง
Claude ไม่มีสถานะ (stateless) ระหว่างการเรียกใช้งาน ซึ่งหมายความว่ามันไม่จดจำสิ่งใดด้วยตัวเอง คำขอแต่ละครั้งจะต้องส่งบทสนทนาทั้งหมดไปด้วย โค้ดของคุณจะเป็นผู้เก็บประวัติและส่งไปในทุกเทิร์น ซึ่งเป็น เหตุผลว่าทำไมแต่ละเทิร์นในการสนทนาที่ยาวนานจึงใช้โทเค็นมากขึ้นเรื่อยๆ นี่ไม่ใช่ข้อจำกัดแต่เป็นการเลือกออกแบบ เพราะสถานะถูกเก็บไว้บนเซิร์ฟเวอร์ของคุณ คุณจึงเป็นผู้กำหนดสิ่งที่ Claude มองเห็นได้อย่างแม่นยำ และไม่มีข้อมูลใดเกี่ยวกับงานที่ถูกจัดเก็บไว้ในที่ที่คุณไม่สามารถควบคุมได้ อย่างไรก็ตาม สิ่งนี้หมายความว่า prompt จะยาวขึ้นเรื่อยๆ แม้ว่า context window ของ Claude จะรองรับเรื่องนี้ได้อย่างสบาย แต่โมเดลที่รันในเครื่อง (local model) ในลูปเดียวกันจะไม่สามารถทำได้ ซึ่งเป็นเหตุผลว่าทำไม Ollama จึงจำเป็นต้องเพิ่มค่า num_ctx ก่อนที่จะหยุดตัดข้อความใน prompt ที่ยาวเกินไป
การใช้งานเครื่องมือคือลูปการทำงานของเอเจนต์
ลูปการทำงานของเอเจนต์ร่วมกับ Claude นั้นอธิบายได้ง่าย คุณส่งคำขอที่รวมเครื่องมือของคุณไปด้วย Claude จะอ่านงานที่ได้รับ หากจำเป็นต้องดำเนินการ Claude จะตอบกลับด้วยคำขอใช้งานเครื่องมือที่ระบุชื่อเครื่องมือและกรอกข้อมูลอินพุตที่จำเป็น โค้ดของคุณจะรันเครื่องมือนั้น จากนั้นส่งผลลัพธ์กลับไปให้ Claude ในคำขอถัดไป Claude จะอ่านผลลัพธ์และตัดสินใจว่าจะเรียกใช้เครื่องมืออื่นต่อหรือเขียนคำตอบสุดท้าย เมื่อ Claude หยุดเรียกใช้เครื่องมือ แสดงว่างานเสร็จสิ้นแล้ว
คุณสามารถเขียนลูปดังกล่าวด้วยตนเองได้ในไม่กี่บรรทัด ซึ่งหลายคนเลือกทำเช่นนั้นเพราะสามารถตรวจสอบและควบคุมได้ง่าย นอกจากนี้ SDK อย่างเป็นทางการยังมีตัวรันเครื่องมือ (tool runner) ที่ช่วยขับเคลื่อนลูปให้คุณ โดยคุณเพียงแค่ระบุฟังก์ชันของเครื่องมือ ส่วน SDK จะจัดการขั้นตอนการโต้ตอบระหว่างการเรียกใช้ Claude การรันเครื่องมือ และการส่งผลลัพธ์กลับไปจนกว่า Claude จะทำงานเสร็จ ไม่ว่าจะใช้วิธีใด รูปแบบการทำงานก็เหมือนกัน ตัวรันเพียงแค่ช่วยให้คุณไม่ต้องเขียนลูปด้วยตัวเอง หากลูปยังดูเป็นนามธรรมเกินไป วิธีแก้ไขคือการลองเขียนลูปแบบพื้นฐานที่สุดก่อนที่จะไปใช้ตัวรัน ซึ่งเป็นขั้นตอนสำคัญที่ทุกอย่างจะอ้างอิงถึงใน เส้นทางการเรียนรู้การสร้าง AI เอเจนต์ตั้งแต่เริ่มต้น
สามวิธีในการสร้างเอเจนต์ และวิธีที่เหมาะสมกับ VPS
มีสามวิธีในการสร้างเอเจนต์ Claude ซึ่งแตกต่างกันที่ปริมาณโครงสร้างพื้นฐานที่คุณต้องดูแลเอง
วิธีแรกคือการเขียนโค้ดของคุณเองเพื่อเรียกใช้ Claude API ด้วยเครื่องมือที่คุณกำหนดขึ้นเอง คุณเป็นผู้เขียนลูปการทำงานหรือใช้ตัวรันเครื่องมือ (tool runner) ของ SDK และโฮสต์ทุกอย่างไว้บน VPS ของคุณ นี่เป็นทางเลือกทั่วไปเพราะช่วยให้คุณควบคุมเครื่องมือ ข้อมูล และความปลอดภัยได้อย่างสมบูรณ์ โดยโปรแกรมจะทำงานเป็นโปรเซสปกติบนเซิร์ฟเวอร์ของคุณ คู่มือส่วนใหญ่ในที่นี้ตั้งอยู่บนพื้นฐานของแนวทางนี้
วิธีที่สองคือการใช้ Claude Agent SDK ซึ่งก็คือ Claude Code ในรูปแบบของไลบรารีที่คุณสามารถนำไปพัฒนาต่อได้ โดยมาพร้อมกับลูปการทำงานของเอเจนต์ที่สมบูรณ์และเครื่องมือในตัวสำหรับการอ่าน-เขียนไฟล์ การรันคำสั่ง shell และการค้นหาข้อมูล คุณจึงไม่ต้องสร้างสิ่งเหล่านี้ขึ้นใหม่ตั้งแต่ต้น วิธีนี้ทำงานบนเซิร์ฟเวอร์ของคุณเองเช่นกัน จึงเหมาะอย่างยิ่งสำหรับ VPS ในกรณีที่คุณต้องการเอเจนต์ที่มีความสามารถในการจัดการไฟล์และ shell โดยไม่ต้องสร้างระบบควบคุมด้วยตัวเอง เอเจนต์ที่อ่านไฟล์และรันคำสั่ง shell ได้จำเป็นต้องมีระบบจำกัดขอบเขตก่อนที่จะปล่อยให้ทำงานโดยไม่มีผู้ดูแล ซึ่ง การรัน Claude Code อย่างปลอดภัยบนเซิร์ฟเวอร์ จะครอบคลุมถึงระบบสิทธิ์, sandbox และตัวเลือกการแยกส่วนการทำงาน
วิธีที่สามคือ Managed Agents ซึ่ง Anthropic จะเป็นผู้รันลูปการทำงานให้ โดยปกติแล้วเครื่องมือของเอเจนต์จะทำงานใน sandbox ที่ Anthropic โฮสต์ไว้ ดังนั้นพื้นที่ทำงานของเอเจนต์จึงอยู่บนโครงสร้างพื้นฐานของ Anthropic แทนที่จะเป็น VPS ของคุณ ณ วันที่ 11 ตุลาคม 2026 มีตัวเลือก sandbox แบบ self-hosted ซึ่งยังอยู่ในสถานะเบต้า ให้คุณสามารถรันโปรเซส worker บนเซิร์ฟเวอร์ของคุณเองเพื่อประมวลผลการเรียกใช้เครื่องมือ ในขณะที่ลูปการทำงานยังคงอยู่ที่ Anthropic ให้เลือกใช้ Managed Agents เมื่อคุณต้องการลดภาระในการดูแลระบบให้เหลือน้อยที่สุดและไม่จำเป็นต้องให้ลูปการทำงานรันอยู่บนเครื่องของคุณเอง สำหรับอีกสองวิธีที่เหลือ เซิร์ฟเวอร์ของคุณจะเป็นที่อยู่ของเอเจนต์ทั้งหมด ซึ่งเป็นเนื้อหาหลักของคู่มือนี้ที่เหลือครับ
การเชื่อมต่อเครื่องมือด้วย MCP
ไม่ว่าคุณจะเลือกแนวทางใด คุณย่อมต้องการเชื่อมต่อเอเจนต์เข้ากับระบบจริง ซึ่ง Model Context Protocol เป็นวิธีที่เป็นระเบียบในการดำเนินการดังกล่าว MCP เป็นมาตรฐานเปิดสำหรับการเปิดเผยเครื่องมือและข้อมูลให้กับเอเจนต์ แทนที่จะต้องเขียนโค้ดเชื่อมต่อสำหรับทุกบริการด้วยตนเอง คุณสามารถชี้ Claude ไปยัง MCP server ที่นำเสนอความสามารถเหล่านั้นในรูปแบบของเครื่องมืออยู่แล้ว คุณสามารถรัน MCP server เป็นบริการขนาดเล็กบน VPS เดียวกัน โดยแต่ละตัวจะมีสิทธิ์เข้าถึงเท่าที่จำเป็นเท่านั้น ซึ่งผมได้อธิบายไว้ใน การรัน MCP servers บน VPS
การเลือกโมเดล
Claude มีให้เลือกใช้งานหลายโมเดล การเลือกโมเดลที่เหมาะสมคือการสร้างสมดุลระหว่างความสามารถ ความเร็ว และต้นทุน ณ วันที่ 11 ตุลาคม 2026 กลุ่มผลิตภัณฑ์ปัจจุบันประกอบด้วย Claude Opus 5.5 (claude-opus-5-5) ซึ่ง Anthropic แนะนำให้ใช้เป็นจุดเริ่มต้นสำหรับภาระงานส่วนใหญ่ และเหมาะสำหรับการเขียนโค้ดแบบ agentic ที่ใช้เวลานานหรืองานด้านความรู้, Claude Sonnet 5.5 (claude-sonnet-5-5) ซึ่งเป็นตัวเลือกที่สมดุลโดยมีราคาถูกกว่าและทำงานได้รวดเร็วกว่า และ Claude Haiku 5.5 (claude-haiku-5-5) ซึ่งเป็นโมเดลที่เร็วและถูกที่สุดสำหรับขั้นตอนงานที่เรียบง่ายและมีปริมาณมาก เหนือกว่าโมเดลเหล่านี้คือ Claude Fable 5.1 (claude-fable-5-1) ซึ่งเป็นโมเดลที่มีความสามารถสูงสุดที่เปิดให้ลูกค้าทุกคนใช้งาน สำหรับงานที่ต้องใช้การใช้เหตุผลขั้นสูงหรืองานแบบ agentic ที่มีระยะเวลาดำเนินการยาวนาน โมเดลรุ่นเก่าอย่าง Claude Opus 4.8 และ Claude Fable 5 ยังคงมีให้บริการอยู่แต่ถูกจัดอยู่ในกลุ่ม legacy ให้ใช้ตัวระบุโมเดลที่ถูกต้องในโค้ดของคุณโดยไม่ต้องระบุวันที่กำกับไว้
รูปแบบการใช้งานจริงที่แนะนำคือการผสมผสานโมเดลเข้าด้วยกัน โดยให้โมเดลที่มีราคาถูกกว่าจัดการกับการเรียกใช้เครื่องมือทั่วไป และให้โมเดลที่มีประสิทธิภาพสูงกว่าจัดการกับการตัดสินใจที่ซับซ้อน เนื่องจากโมเดลถูกระบุเป็นเพียงสตริงในคำขอของคุณ การสลับโมเดลจึงทำได้โดยการแก้ไขโค้ดเพียงบรรทัดเดียว ดังนั้นควรเริ่มต้นด้วยโมเดลที่มีความสามารถสูงเป็นค่าเริ่มต้น แล้วจึงปรับลดลงในกรณีที่ความเร็วหรือต้นทุนมีความสำคัญมากกว่าคุณภาพในระดับสูงสุด
เรียกใช้งานในฐานะ service ที่มีความปลอดภัยสูงบน VPS ของคุณ
Agent จะมีประโยชน์ก็ต่อเมื่อมันทำงานอยู่ตลอดเวลา และจะปลอดภัยก็ต่อเมื่อมีการจำกัดขอบเขตการทำงานไว้ บน VPS ทั้งสองประเด็นนี้ทำได้โดยการรัน agent ในฐานะ system service ที่มีการตั้งค่าความปลอดภัยไว้ แทนที่จะรันโปรแกรมด้วยมือใน terminal ในฐานะ service มันจะเริ่มทำงานตอนบูตเครื่อง, เริ่มทำงานใหม่หากเกิดการ crash และบันทึก log ลงใน journal เมื่อมีการตั้งค่าความปลอดภัย มันจะรันภายใต้ผู้ใช้ที่ไม่มีสิทธิ์พิเศษและเข้าถึงได้เฉพาะสิ่งที่จำเป็นเท่านั้น ดังนั้นหากเกิดบั๊กหรือคำสั่งที่ไม่พึงประสงค์ ผลกระทบจะถูกจำกัดไว้ Service unit สามารถจำกัดสิ่งที่ process เข้าถึงได้ รวมถึงจำกัดการใช้หน่วยความจำ, CPU และจำนวน task แต่ไม่สามารถตัดสินใจได้ว่า agent จะทำอย่างไรกับสิทธิ์ที่ได้รับ ดังนั้นส่วนที่เหลือจึงเป็นหน้าที่ของตัว agent harness เอง ซึ่งเป็นสิ่งที่ ปลั๊กอิน DeepSeek Harness ที่ควรติดตั้ง ทำใน stack อื่น เช่น การจำกัดงบประมาณ, กฎการอนุญาตรายเครื่องมือ และการสแกนหา prompt-injection
กฎที่สำคัญที่สุดคือการเก็บ Claude API key ไว้ที่ฝั่งเซิร์ฟเวอร์เท่านั้น กุญแจนี้ใช้ชำระเงินและอนุญาตทุกการเรียกใช้งาน จึงต้องอยู่ในไฟล์ที่อ่านได้เฉพาะผู้ใช้ของ agent เท่านั้น โดยโหลดเข้าสู่ service ในฐานะ environment variable และห้ามใส่ไว้ในโค้ด, ใน repository หรือที่ใดก็ตามที่เบราว์เซอร์เข้าถึงได้ สร้าง service unit ที่สมบูรณ์และปลอดภัยสำหรับ agent ของคุณได้ที่นี่:
จากนั้นจึงดำเนินการตั้งค่าเซิร์ฟเวอร์ให้เสร็จสิ้น ให้ใช้เฉพาะ SSH key เท่านั้นและจำกัดสิทธิ์บัญชีที่คุณใช้ดูแลระบบ ตามที่ระบุใน การเพิ่มความปลอดภัย SSH บน VPS หากคุณต้องการควบคุม agent จาก interactive session ในระหว่างการพัฒนา การรัน Claude Code บน VPS ด้วย tmux เป็นตัวเลือกที่เหมาะสม เมื่อคุณเปิด session ที่สองบนเครื่องเดียวกัน ทั้งสอง session สามารถส่งต่องานระหว่างกันได้ แทนที่คุณจะต้องคอยป้อนคำสั่งจากหน้าต่างหนึ่งไปยังอีกหน้าต่างหนึ่ง และหากคุณต้องการทราบแนวคิดเบื้องหลังทั้งหมดนี้โดยไม่ผูกติดกับโมเดลใดโมเดลหนึ่ง คู่มือฉบับคู่ขนานเรื่อง การสร้าง AI agent ของคุณเองบน VPS ได้วางรากฐานไว้ให้แล้ว
หากสิ่งที่คุณต้องการคือผู้ช่วยเขียนโค้ดผ่าน terminal การรัน AI agent สำหรับเขียนโค้ดบน VPS ครอบคลุมถึงการใช้งาน Aider และ Goose
FAQ
ฉันควรใช้ Claude รุ่นใดในการสร้างเอเจนต์?
ให้เริ่มต้นด้วย Claude Opus 5.5 (claude-opus-5-5) ซึ่ง Anthropic แนะนำสำหรับภาระงานส่วนใหญ่ แล้วค่อยปรับเปลี่ยนตามความเหมาะสม Claude Sonnet 5.5 (claude-sonnet-5-5) มีราคาถูกและทำงานได้รวดเร็วกว่าสำหรับงานทั่วไป Claude Haiku 5.5 (claude-haiku-5-5) เหมาะที่สุดสำหรับขั้นตอนง่ายๆ ที่มีปริมาณงานสูง และ Claude Fable 5.1 (claude-fable-5-1) มีความสามารถสูงสุดสำหรับงานที่ยากที่สุด รูปแบบที่นิยมใช้กันคือการใช้รุ่นที่ราคาถูกกว่าสำหรับขั้นตอนงานประจำ และใช้รุ่นที่ทรงพลังกว่าสำหรับการตัดสินใจที่ซับซ้อน เนื่องจากสามารถสลับรุ่นได้โดยการแก้ไขโค้ดเพียงบรรทัดเดียว
ฉันต้องรันเอเจนต์ทั้งหมดบน VPS ของฉัน หรือ Anthropic เป็นผู้รัน?
ขึ้นอยู่กับแนวทางที่คุณเลือก หากคุณเขียนลูปการทำงานเองเพื่อเรียกใช้ Claude API หรือใช้ Claude Agent SDK ตัวเอเจนต์จะรันอยู่บน VPS ของคุณทั้งหมด โดยมีการเรียกใช้งานโมเดลไปยัง Anthropic เท่านั้น หากคุณใช้ Managed Agents ทาง Anthropic จะเป็นผู้รันลูปและโฮสต์ sandbox สำหรับรันเครื่องมือตามค่าเริ่มต้น ทำให้ส่วนประกอบที่อยู่บนเซิร์ฟเวอร์ของคุณมีน้อยลง ทั้งนี้มีตัวเลือก self-hosted sandbox ซึ่งอยู่ในสถานะเบต้า ณ วันที่ 11 ตุลาคม 2026 ที่จะย้ายการรันเครื่องมือมาไว้บนเครื่องของคุณเองในขณะที่ลูปการทำงานยังคงอยู่ที่ Anthropic สำหรับเอเจนต์ที่รันบนเครื่องของคุณเองทั้งหมด ให้เลือกใช้แนวทางสองแบบแรก
Claude API และ Claude Agent SDK แตกต่างกันอย่างไร?
Claude API คือ Messages endpoint แบบดิบ: คุณส่งบทสนทนาและเครื่องมือไปให้ แล้วเขียนลูปการทำงานของเอเจนต์ครอบไว้ หรือใช้เครื่องมือรันเครื่องมือ (tool runner) ของ SDK เพื่อควบคุมมัน ส่วน Claude Agent SDK เป็นไลบรารีระดับสูงกว่า ซึ่งก็คือ Claude Code ที่นำมาบรรจุไว้สำหรับการพัฒนาต่อยอด โดยมาพร้อมกับลูปการทำงานที่สมบูรณ์และเครื่องมือจัดการไฟล์, shell และการค้นหาในตัว ให้ใช้ API เมื่อคุณต้องการกำหนดทุกอย่างด้วยตนเอง และใช้ Agent SDK เมื่อคุณต้องการเอเจนต์ที่มีความสามารถโดยไม่ต้องสร้างโครงสร้างพื้นฐานเอง
ฉันจะเก็บ Claude API key ให้ปลอดภัยบนเซิร์ฟเวอร์ได้อย่างไร?
ให้เก็บไว้ที่ฝั่งเซิร์ฟเวอร์และแยกออกจากโค้ดของคุณ จัดเก็บไว้ในไฟล์ที่อ่านได้เฉพาะบัญชีที่รันเอเจนต์เท่านั้น โหลดคีย์เข้าสู่ service ในรูปแบบ environment variable และห้ามนำไป commit ลงใน repository หรือเปิดเผยผ่านเบราว์เซอร์โดยเด็ดขาด เนื่องจากทุกคำขอไปยัง Claude จะส่งตรงจากเซิร์ฟเวอร์ของคุณ คีย์จึงไม่จำเป็นต้องไปถึงอุปกรณ์ของผู้ใช้ ซึ่งเป็นเหตุผลที่ทำให้เอเจนต์ที่รันบนเซิร์ฟเวอร์มีความปลอดภัยง่ายกว่าเอเจนต์ที่ฝังอยู่ในแอปฝั่งไคลเอนต์
ฉันจำเป็นต้องโฮสต์โมเดลเองเพื่อสร้างเอเจนต์ด้วย Claude หรือไม่?
ไม่จำเป็น สำหรับ Claude ตัวโมเดลเป็นบริการแบบโฮสต์ที่คุณเรียกใช้งานผ่าน API จึงไม่มีอะไรต้องรันบน GPU VPS ของคุณจะทำหน้าที่รันลูปของเอเจนต์, เครื่องมือ และข้อมูล ส่วนกระบวนการคิดจะเกิดขึ้นที่ฝั่ง Anthropic นี่คือสิ่งที่ช่วยให้เซิร์ฟเวอร์ขนาดเล็กสามารถรันเอเจนต์ที่มีความสามารถสูงได้ หากคุณต้องการใช้โมเดลแบบ local ทั้งหมด นั่นคือแนวทาง self-hosted ซึ่งครอบคลุมอยู่ในคู่มือเสริมเรื่องการสร้างเอเจนต์ AI ด้วยตนเอง