SSD Nodes Learn RAM 8GB — $66/ปี
คู่มือ Matt Connorโดย Matt Connor · อัปเดตเมื่อ 2026-08-01

Self-host Claude ได้หรือไม่? คำตอบที่ชัดเจนที่สุด

คุณไม่สามารถโฮสต์ Claude ด้วยตนเองได้เนื่องจาก Anthropic ไม่เปิดเผย model weights บทความนี้จะแนะนำทางเลือกอื่น เช่น การรันโมเดล Open Source การใช้ API Gateway และ Claude Code

คุณสามารถโฮสต์ Claude ด้วยตนเองได้หรือไม่ คำตอบคือไม่ได้ และนี่คือเหตุผล

คุณไม่สามารถโฮสต์ Claude ด้วยตนเองได้ Anthropic ไม่ได้เผยแพร่ค่าน้ำหนักของโมเดล (model weights) ดังนั้นจึงไม่มีไฟล์ให้ดาวน์โหลด ไม่มีคอนเทนเนอร์ให้รัน และไม่มีใบอนุญาตใดที่จะอนุญาตให้คุณให้บริการโมเดลนี้จากฮาร์ดแวร์ของคุณเองได้ ทุกคำขอที่ส่งไปยัง Claude จะต้องผ่าน API ของ Anthropic หรือผ่านพันธมิตรที่ให้บริการโฮสต์ เช่น Amazon Bedrock, Google Vertex AI หรือ Microsoft Foundry การรันโมเดลบนเครื่องที่คุณเป็นเจ้าของไม่ใช่ปัญหาด้านการตั้งค่า แต่เป็นเพราะตัวโมเดลนั้นไม่มีอยู่จริงภายนอกระบบของ Anthropic

นั่นคือคำตอบโดยสรุป ส่วนคำตอบที่ละเอียดกว่านั้นคือ คนส่วนใหญ่ที่ถามคำถามนี้ไม่ได้ต้องการค่าน้ำหนักของโมเดลจริงๆ แต่พวกเขาต้องการสิ่งใดสิ่งหนึ่งใน 3 อย่างต่อไปนี้ ซึ่งทั้งหมดสามารถทำได้บนเซิร์ฟเวอร์ที่คุณควบคุม: โมเดลที่มีความสามารถสูงซึ่งรันอยู่ภายในเครื่อง, เกตเวย์ที่ช่วยเก็บ API keys และจำกัดค่าใช้จ่าย, หรือเอเจนต์สำหรับการเขียนโค้ดที่ทำงานบนเซิร์ฟเวอร์ของคุณแทนที่จะเป็นแล็ปท็อป คู่มือนี้จะครอบคลุมทั้ง 3 วิธี พร้อมด้วยคำสั่งที่เกี่ยวข้อง

ความหมายโดยทั่วไปของ "self-hosted Claude"

ปริมาณการค้นหาคำว่า "self hosted Claude" แบ่งออกเป็นความต้องการที่แตกต่างกันหลายประการ ซึ่งจำเป็นต้องได้รับคำตอบที่แตกต่างกันออกไป

บางคนต้องการความเป็นส่วนตัว โดยไม่ต้องการให้พรอมต์ (prompt) ออกไปนอกเครือข่ายของตน มีเพียงโมเดลแบบเปิด (open weight model) ที่รันภายในเครื่องเท่านั้นที่ตอบโจทย์นี้ได้ เนื่องจากคำขอใดๆ ที่ส่งไปยัง Claude ย่อมหมายถึงการส่งคำขอไปยัง Anthropic โดยนิยาม

บางคนต้องการควบคุมค่าใช้จ่าย เนื่องจากกังวลว่าเอเจนต์ที่ทำงานโดยไม่หยุดยั้งจะทำให้เครดิตหมดลงอย่างรวดเร็ว การใช้เกตเวย์ (gateway) สามารถแก้ปัญหานี้ได้และยังใช้งานร่วมกับ Claude ได้ ทำให้คุณยังคงได้รับคุณภาพของโมเดลในระดับเดิม

บางคนต้องการความเป็นอิสระจากแล็ปท็อป โดยต้องการเอเจนต์ที่ยังคงทำงานต่อไปได้แม้จะปิดฝาเครื่องแล้ว การใช้ VPS สามารถแก้ปัญหานี้ได้และ Claude Code ก็สามารถรันบน VPS ได้อย่างไม่มีปัญหา

บางคนต้องการสิ่งที่เรียกว่า "self hosted OpenRouter" ซึ่งก็คือเกตเวย์เช่นกัน โดยคำตอบที่นิยมใช้กันคือ LiteLLM

คุณควรพิจารณาว่าความต้องการของคุณคือข้อใด เนื่องจากแนวทางการสร้างระบบที่เหมาะสมจะแตกต่างกันไปในแต่ละกรณี

การโฮสต์โมเดลแบบเปิดด้วยตนเองโดยใช้ Ollama

หากข้อกำหนดคือห้ามไม่ให้พรอมต์ใดๆ หลุดออกจากเซิร์ฟเวอร์ของคุณ ให้รันโมเดลแบบเปิด (open weight model) ตระกูลโมเดลที่สามารถใช้งานได้จริงบนเซิร์ฟเวอร์เช่าในปัจจุบัน ได้แก่ Llama, Qwen, Mistral, Gemma และ DeepSeek ซึ่งทั้งหมดมีการเผยแพร่น้ำหนัก (weights) ให้คุณดาวน์โหลดและนำไปรันได้

Ollama เป็นวิธีที่รวดเร็วที่สุดในการเริ่มต้น สคริปต์ติดตั้งมีเพียงบรรทัดเดียวและจะตั้งค่าบริการ systemd บน Ubuntu ให้โดยอัตโนมัติ

curl -fsSL https://ollama.com/install.sh | sh
systemctl status ollama

systemctl status ollama ควรแสดงผลลัพธ์เป็น active (running) จากนั้นให้ดึงโมเดลมาและเริ่มใช้งาน

ollama pull qwen3:8b
ollama run qwen3:8b "Summarise what a reverse proxy does in two sentences."

การรัน pull ครั้งแรกจะมีการดาวน์โหลดข้อมูลขนาดหลายกิกะไบต์ ดังนั้นโมเดลจะต้องมีขนาดที่พอดีกับ RAM หรือหน่วยความจำ GPU ก่อนจึงจะสามารถตอบคำถามได้ กฎคร่าวๆ สำหรับโมเดลที่ผ่านการควอนไทซ์ (quantised models) คือ โมเดลขนาด 8 พันล้านพารามิเตอร์ต้องการพื้นที่ว่างประมาณ 6 GB, โมเดลขนาด 14 พันล้านพารามิเตอร์ต้องการประมาณ 10 GB และโมเดลขนาด 70 พันล้านพารามิเตอร์ต้องการหน่วยความจำมากกว่าที่ VPS ทั่วไปส่วนใหญ่จะมีให้ หากเซิร์ฟเวอร์มีหน่วยความจำไม่เพียงพอ กระบวนการจะถูกยุติโดยเคอร์เนลและคุณจะเห็น Error: llama runner process has terminated พร้อมกับบรรทัดแจ้งเตือนหน่วยความจำเต็มใน dmesg ให้ตรวจสอบ free -h ก่อนที่จะสรุปว่าปัญหาเกิดจากตัวโมเดล

นอกจากนี้ Ollama ยังให้บริการ HTTP API บน 127.0.0.1:11434 ซึ่งทำให้สามารถเชื่อมต่อกับซอฟต์แวร์อื่นได้ แทนที่จะเป็นเพียงเครื่องมือแชททั่วไป

curl http://127.0.0.1:11434/api/generate -d '{"model":"qwen3:8b","prompt":"ping","stream":false}'

ให้คงการผูกพอร์ตนั้นไว้กับ localhost เท่านั้น การเปิดพอร์ต Ollama บน IP สาธารณะจะทำให้ทุกคนที่พบพอร์ตดังกล่าวสามารถใช้งาน GPU ของคุณได้ฟรี การตั้งค่าแบบเต็มรูปแบบ รวมถึงการใช้ systemd unit, การตรวจจับ GPU และการวาง reverse proxy ไว้ด้านหน้า ได้อธิบายไว้ใน คู่มือการรัน Ollama บน VPS หากคุณกำลังให้บริการผู้ใช้มากกว่าหนึ่งคนในเวลาเดียวกัน โปรดอ่าน การเปรียบเทียบระหว่าง Ollama และ vLLM ก่อน เนื่องจากรูปแบบการประมวลผลแบบสตรีมเดียวของ Ollama จะกลายเป็นคอขวดก่อนที่ฮาร์ดแวร์จะถึงขีดจำกัด

จงยอมรับความแตกต่างของประสิทธิภาพตามความเป็นจริง โมเดลแบบเปิดที่มีคุณภาพบน VPS ขนาดกลางนั้นมีประโยชน์อย่างแท้จริงสำหรับการสรุปเนื้อหา การจัดหมวดหมู่ การร่างเอกสาร และการดึงข้อมูลอย่างง่าย แต่สำหรับการใช้เหตุผลหลายขั้นตอนที่ซับซ้อน การทำงานกับฐานโค้ดขนาดใหญ่ และการใช้เครื่องมือแบบเอเจนต์ (agentic tool use) โมเดลเหล่านี้ยังห่างไกลจากโมเดลระดับแนวหน้าที่โฮสต์โดยผู้ให้บริการ และไม่มีการปรับแต่งพรอมต์ใดที่จะลดช่องว่างนี้ได้ ให้เลือกใช้โมเดลในเครื่องสำหรับงานที่เหมาะสม และจ่ายเงินใช้บริการโมเดลที่โฮสต์ไว้สำหรับงานที่มีความยากสูง

การใช้งานเกตเวย์ของคุณเองด้วย LiteLLM

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

LiteLLM เป็นตัวเลือกยอดนิยมเนื่องจากรองรับ API ที่เข้ากันได้กับ OpenAI และทำหน้าที่เป็นพร็อกซีไปยัง Anthropic, Ollama และผู้ให้บริการส่วนใหญ่ผ่านจุดเชื่อมต่อเดียวกัน คุณสามารถรันมันใน Docker โดยใช้ไฟล์กำหนดค่า

model_list:
  - model_name: claude
    litellm_params:
      model: anthropic/claude-sonnet-5
      api_key: os.environ/ANTHROPIC_API_KEY
  - model_name: local
    litellm_params:
      model: ollama/qwen3:8b
      api_base: http://127.0.0.1:11434

บันทึกไฟล์ดังกล่าวเป็น litellm_config.yaml แล้วเริ่มการทำงานของพร็อกซี โดยพร็อกซีจะรอรับการเชื่อมต่อที่พอร์ต 4000

docker run -v $(pwd)/litellm_config.yaml:/app/config.yaml \
  -e ANTHROPIC_API_KEY=$ANTHROPIC_API_KEY \
  -e LITELLM_MASTER_KEY=sk-1234 \
  -p 4000:4000 docker.litellm.ai/berriai/litellm:latest \
  --config /app/config.yaml

LITELLM_MASTER_KEY คือข้อมูลรับรองสำหรับผู้ดูแลระบบ ดังนั้นให้ปฏิบัติกับมันเหมือนรหัสผ่าน root และห้ามนำค่าตัวอย่างไปใช้งานจริง ให้เรียกใช้พร็อกซีในลักษณะเดียวกับที่คุณเรียกใช้ API ที่โฮสต์ไว้

curl http://localhost:4000/v1/chat/completions \
  -H 'Authorization: Bearer sk-1234' \
  -H 'Content-Type: application/json' \
  -d '{"model": "claude","messages": [{"role": "user","content": "Say hello in five words."}]}'

การตอบสนองที่ปกติจะเป็น JSON พร้อมด้วยอาร์เรย์ choices หากได้รับ 401 หมายความว่าส่วนหัว Authorization ไม่ตรงกับคีย์หลักของคุณ หากได้รับ 400 ที่ระบุชื่อโมเดล หมายความว่า model ในคำขอของคุณไม่ตรงกับ model_name ใดๆ ในไฟล์กำหนดค่า

เหตุผลที่ควรสร้างระบบนี้แทนการเรียกใช้ Anthropic โดยตรงคือการจำกัดค่าใช้จ่าย คุณสามารถออกคีย์เสมือนแยกต่างหากสำหรับแต่ละแอปพลิเคชัน โดยแต่ละคีย์จะมีงบประมาณของตัวเอง

curl 'http://0.0.0.0:4000/key/generate' \
--header 'Authorization: Bearer sk-1234' \
--header 'Content-Type: application/json' \
--data-raw '{"models": ["claude"], "max_budget": 100}'

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

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

การรัน Claude Code บน VPS ของคุณเอง

ความปรารถนาข้อที่สามเป็นสิ่งที่ทำได้ง่ายที่สุด Claude Code เป็นไคลเอนต์ตัวหนึ่ง มันสามารถทำงานได้ทุกที่ที่คุณติดตั้ง Node.js และสื่อสารกับ API ผ่าน HTTPS การนำไปติดตั้งบนเซิร์ฟเวอร์ที่คุณเป็นเจ้าของหมายความว่าเอเจนต์จะยังคงทำงานต่อไปแม้คุณจะปิดแล็ปท็อปไปแล้ว และยังหมายความว่าขอบเขตความเสียหายของเอเจนต์จะถูกจำกัดอยู่ในสภาพแวดล้อมที่คุณสามารถสร้างใหม่ได้ แทนที่จะเป็นเครื่องหลักของคุณ

npm install -g @anthropic-ai/claude-code
claude --version

ให้รันโปรแกรมภายใน tmux เพื่อป้องกันไม่ให้งานที่ใช้เวลานานถูกยกเลิกหากการเชื่อมต่อ SSH หลุด การตั้งค่าดังกล่าวรวมถึงการจัดการเซสชันได้อธิบายไว้ใน การรัน Claude Code บน VPS ด้วย tmux โปรดสร้างผู้ใช้ที่ไม่มีสิทธิ์พิเศษ (unprivileged user) ให้กับเอเจนต์ และอ่าน กฎความปลอดภัยสำหรับการรัน Claude Code บนเซิร์ฟเวอร์ ก่อนที่คุณจะอนุญาตให้เอเจนต์เข้าถึงการเขียนข้อมูลในสิ่งที่คุณให้ความสำคัญ

นี่คือการโฮสต์ตัวเอเจนต์ด้วยตนเอง ไม่ใช่ตัวโมเดล จำเป็นต้องระบุให้ชัดเจนในจุดนี้ เนื่องจากเป็นส่วนที่ผู้คนมักเข้าใจสับสน คุณเป็นเจ้าของกระบวนการทำงาน ระบบไฟล์ การส่งข้อมูลออกผ่านเครือข่าย และบันทึกการทำงาน ส่วน Anthropic ยังคงเป็นเจ้าของกระบวนการประมวลผล (inference) อยู่เช่นเดิม

ต้นทุนที่แท้จริงของแต่ละตัวเลือก

ราคาอาจมีการเปลี่ยนแปลง ข้อมูลนี้จึงเป็นเพียงแนวทางเปรียบเทียบไม่ใช่ใบเสนอราคา ณ เดือนกรกฎาคม 2026 Claude Sonnet 5 มีราคาอยู่ที่ 3 ดอลลาร์ต่อ 1 ล้านอินพุตโทเค็น และ 15 ดอลลาร์ต่อ 1 ล้านเอาต์พุตโทเค็น ส่วน Claude Opus 5 อยู่ที่ 5 ดอลลาร์ และ 25 ดอลลาร์ ตามลำดับ โมเดลที่รันภายในเครื่อง (local model) ไม่มีค่าใช้จ่ายต่อโทเค็น แต่จะมีค่าใช้จ่ายตามราคาเช่าเซิร์ฟเวอร์ต่อเดือน ซึ่งต้องจ่ายไม่ว่าคุณจะใช้งานหรือไม่ก็ตาม

จุดคุ้มทุนนั้นต่ำกว่าที่หลายคนคาดคิด VPS ที่มีหน่วยความจำเพียงพอสำหรับรันโมเดลโอเพนซอร์สที่มีประสิทธิภาพนั้นมีค่าใช้จ่ายรายเดือนที่ชัดเจน และมักจะไม่ได้ถูกใช้งานตลอดเวลา หากการใช้งานของคุณเป็นแบบเป็นช่วงๆ (bursty) การใช้ hosted API มักจะมีราคาถูกกว่า แต่หากการใช้งานของคุณมีความต่อเนื่อง หรือข้อมูลของคุณไม่สามารถนำออกนอกเครือข่ายได้ โมเดลที่รันภายในเครื่องจะเป็นตัวเลือกที่เหมาะสมกว่าในทั้งสองกรณี

คำตอบแบบผสมผสานที่ตรงไปตรงมาคือสิ่งที่ทีมส่วนใหญ่เลือกใช้ โดยให้รันโมเดลโอเพนซอร์สภายในเครื่องสำหรับงานที่มีปริมาณมากแต่มีความซับซ้อนต่ำ และส่งคำขอที่ยากไปยังโมเดลระดับแนวหน้าแบบ hosted จากนั้นให้ติดตั้ง gateway ไว้หน้าทั้งสองส่วน เพื่อให้แอปพลิเคชันไม่ต้องรับรู้ว่ากำลังใช้งานโมเดลใดอยู่ และเพื่อให้คุณสามารถปรับเปลี่ยนสัดส่วนการใช้งานระหว่างสองโมเดลได้โดยไม่ต้องแก้ไขโค้ดของแอปพลิเคชัน สถาปัตยกรรมนี้คือรูปแบบที่ใช้งานได้จริงของ "Claude ที่โฮสต์เอง" และต่างจากแนวคิดแบบตรงตัว สถาปัตยกรรมนี้มีอยู่จริง หากคุณต้องการรัน stack ของเอเจนต์ทั้งหมดด้วยตนเอง บทสรุปของ AI เอเจนต์ที่โฮสต์เอง จะครอบคลุมถึงสิ่งที่พร้อมให้ใช้งานในปัจจุบัน

FAQ

ฉันสามารถดาวน์โหลดน้ำหนักโมเดล (model weights) ของ Claude มาใช้งานบนเครื่องตัวเองได้หรือไม่?

ไม่ได้ Anthropic ไม่เคยปล่อยน้ำหนักของโมเดล Claude รุ่นใดออกมา และไม่มีใบอนุญาตใดที่อนุญาตให้โฮสต์ใช้งานด้วยตนเอง สิ่งใดก็ตามที่โฆษณาออนไลน์ว่าเป็น "Claude model" ที่ดาวน์โหลดได้นั้น เป็นเพียงโมเดลอื่นที่ใช้ชื่อชวนให้เข้าใจผิด หรือเป็นเพียง wrapper ที่เรียกใช้งานผ่าน API เท่านั้น หากจำเป็นต้องใช้ API key แสดงว่านั่นไม่ใช่การทำงานแบบ local

โมเดลแบบเปิด (open model) รุ่นใดที่ใกล้เคียงกับ Claude มากที่สุด?

ไม่มีโมเดลใดที่เทียบเท่ากันได้อย่างสมบูรณ์ และผู้นำในตลาดมีการเปลี่ยนแปลงทุกๆ สองสามเดือน ตระกูลโมเดลแบบเปิดที่ควรทดสอบ ได้แก่ Llama, Qwen, Mistral, Gemma และ DeepSeek ในด้านการสรุปความ การจัดหมวดหมู่ และการแก้ไขโค้ดอย่างง่าย โมเดลแบบเปิดที่มีขนาด 8 ถึง 14 พันล้านพารามิเตอร์ถือว่าใช้งานได้จริง แต่ในด้านการใช้เหตุผลหลายขั้นตอนที่ซับซ้อนและการใช้เครื่องมือแบบ agentic ช่องว่างระหว่างโมเดลนี้กับโมเดลระดับแนวหน้าที่โฮสต์บนคลาวด์ยังคงมีอยู่มาก ควรทดสอบด้วย prompt ของคุณเองแทนการเชื่อถือตารางคะแนน (leaderboard)

LiteLLM คือ OpenRouter ที่โฮสต์ด้วยตนเองใช่หรือไม่?

ในเชิงฟังก์ชันการทำงานถือว่าใช่ สำหรับส่วนของการกำหนดเส้นทาง (routing) และการจัดการคีย์ LiteLLM ทำงานบนเซิร์ฟเวอร์ของคุณ โดยแสดงผลเป็น endpoint ที่รองรับมาตรฐาน OpenAI และทำหน้าที่เป็นพร็อกซีไปยัง Anthropic, Ollama และผู้ให้บริการรายอื่นๆ คุณจะสามารถกำหนดเพดานการใช้งานต่อคีย์ การกำหนดเส้นทางโมเดล และมีจุดศูนย์กลางในการอ่าน log สิ่งที่ LiteLLM ไม่ได้มอบให้คือการประมวลผลแบบ local เพราะคำขอไปยัง Claude ยังคงถูกส่งไปยัง Anthropic อยู่ดี

การรัน Claude Code บนเซิร์ฟเวอร์ของตัวเองช่วยรักษาความเป็นส่วนตัวของโค้ดหรือไม่?

ไม่ Claude Code จะส่งเนื้อหาไฟล์ที่มันอ่านไปยัง Anthropic API ไม่ว่ากระบวนการนั้นจะรันอยู่ที่ใดก็ตาม สิ่งที่ VPS มอบให้คุณคือการแยกส่วนการทำงานของ agent ไม่ใช่ความเป็นส่วนตัวของเนื้อหา ควรให้สิทธิ์การใช้งานแก่ผู้ใช้ที่ไม่มีสิทธิ์ระดับสูง (unprivileged user) แยกต่างหาก เก็บให้ห่างจากข้อมูลรับรอง (credentials) และ repository อื่นๆ ที่ไม่เกี่ยวข้อง และให้ถือว่าทุกสิ่งที่ agent สามารถอ่านได้คือเนื้อหาที่ถูกส่งออกไปนอกเครื่องของคุณ