SSD Nodes Learn Hosting plans →
คู่มือ Matt Connorโดย Matt Connor

วิธีรัน Coding Agent บน VPS เพื่อเขียนโค้ดผ่าน Terminal

เรียนรู้วิธีติดตั้ง Aider หรือ Goose บน VPS เพื่อเขียนโค้ดผ่าน Terminal โดยเชื่อมต่อกับ Ollama ทั้งแบบ Local และ Remote พร้อมคำแนะนำการตั้งค่าความปลอดภัยและการจัดการทรัพยากร

เหตุใดจึงควรใช้งาน coding agent บน VPS

Coding agent คือเครื่องมือที่อ่าน codebase ของคุณ เขียนการเปลี่ยนแปลง และรันคำสั่งเพื่อทดสอบการทำงาน ทั้งหมดนี้ทำได้จาก terminal การรันเครื่องมือนี้บน VPS มีข้อดี 3 ประการเหนือการรันบนแล็ปท็อปของคุณ ได้แก่ มันยังคงทำงานต่อไปได้แม้คุณจะตัดการเชื่อมต่อ, มันตั้งอยู่ใกล้กับโค้ดและเครื่องมือ build ของคุณ, และมันสามารถสื่อสารกับโมเดลที่คุณโฮสต์เองได้ เริ่มต้นใช้งานภายใน tmux session แล้วคุณจะสามารถปิดแล็ปท็อปและกลับมาทำงานต่อได้ในภายหลัง ซึ่งเป็นรูปแบบเดียวกับ การรัน Claude Code บน VPS ด้วย tmux

มี terminal-based agent สองตัวที่น่าสนใจ Aider เป็นตัวเลือกที่เน้นการใช้งานผ่าน terminal และให้ความสำคัญกับ git เป็นหลัก โดยจะทำการ auto-commit ทุกการเปลี่ยนแปลงพร้อมข้อความที่เหมาะสม ทำให้ประวัติการทำงานของคุณสะอาดและทุกการแก้ไขสามารถย้อนกลับได้ Aider เป็นหนึ่งใน coding agent บน terminal ที่มีมานานที่สุด แม้ว่าอัตราการออก release จะช้าลงก็ตาม ส่วน Goose จาก Block นั้นมีความครอบคลุมมากกว่า โดยเป็น agent ภายใต้สัญญาอนุญาต Apache-2.0 ที่มีระบบนิเวศของส่วนขยายขนาดใหญ่และรองรับผู้ให้บริการหลายราย รวมถึงโมเดล Ollama แบบ local ซึ่งปัจจุบันได้รับการพัฒนาภายใต้ Agentic AI Foundation (AAIF) ของ Linux Foundation ตัว Aider เหมาะสำหรับ workflow ที่มีระเบียบวินัยและเน้น git เป็นศูนย์กลาง ส่วน Goose เหมาะสำหรับผู้ช่วยทั่วไปที่มีชุดปลั๊กอินที่หลากหลายกว่า

สิ่งที่จำเป็นต้องมี

คุณจำเป็นต้องมี VPS ที่ติดตั้ง git, tmux และ Python เวอร์ชันใหม่สำหรับ Aider หรือตัวติดตั้ง Goose สำหรับ Goose และคุณจำเป็นต้องมีโมเดล: ไม่ว่าจะเป็น API key จากผู้ให้บริการอย่าง Anthropic หรือ OpenAI หรือโมเดลที่รันในเครื่องซึ่งให้บริการโดย Ollama บน VPS เดียวกัน การเลือกใช้แบบ self-hosted จะช่วยให้โค้ดของคุณอยู่บนเซิร์ฟเวอร์ของคุณเองและไม่มีค่าใช้จ่ายต่อ token แต่ต้องแลกมาด้วยการที่เซิร์ฟเวอร์ต้องมีหน่วยความจำเพียงพอสำหรับโมเดลที่มีประสิทธิภาพ

ติดตั้งและเรียกใช้ Aider

ติดตั้ง Aider ในสภาพแวดล้อมแบบแยกด้วย pipx ซึ่งติดตั้งผ่าน apt เนื่องจาก Ubuntu 24.04 ไม่อนุญาตให้ใช้ pip install โดยตรงนอก virtual environment (PEP 668) จากนั้นเรียกใช้ Aider ภายในโปรเจกต์ของคุณในเซสชัน tmux เพื่อให้ทำงานต่อได้แม้การเชื่อมต่อถูกตัด:

sudo apt install pipx
pipx ensurepath
pipx install aider-chat
tmux new -s aider
cd ~/my-project
aider

หมายเหตุเกี่ยวกับเวอร์ชัน: การติดตั้งนี้ทำงานตามตัวอย่างบน Ubuntu 24.04 แต่จะล้มเหลวบน Ubuntu 26.04 รุ่นปัจจุบันคือ aider-chat 0.86.2 (February 2026) และรองรับเฉพาะ Python 3.10 ถึง 3.12 ขณะที่ 26.04 มาพร้อม Python 3.14 ดังนั้นการติดตั้งจึงถูกปฏิเสธที่การตรวจสอบเวอร์ชัน Python ก่อนติดตั้ง dependency ใด ๆ วิธีแก้คือกำหนดให้ Aider ใช้ Python 3.12 ของตัวเอง:

pipx install --python 3.12 --fetch-missing-python aider-chat

pipx จะดาวน์โหลด interpreter แบบ standalone สำหรับ Aider โดยเฉพาะ แล้วการติดตั้งจะเสร็จสมบูรณ์ อาการนี้สะท้อนจังหวะการออกรุ่นของ Aider ที่ช้าลง โดย main branch ของ Aider รองรับ Python สูงสุดถึง 3.14 แล้ว แต่ ณ October 2026 ยังไม่มี release ที่รวมการเปลี่ยนแปลงนี้ หากเรื่องนี้เป็นข้อกังวล Goose เป็นตัวเลือกที่มีการดูแลต่อเนื่องมากกว่า

เมื่อโปรแกรมทำงานแล้ว ให้ detach จากเซสชันด้วย Ctrl-b แล้วกด d จากนั้น agent จะทำงานต่อแม้คุณปิด laptop แล้วเชื่อมต่อกลับภายหลังด้วย tmux attach -t aider เพื่ออ่านการเปลี่ยนแปลงที่ agent ทำไว้ คุณสามารถเปิดหน้าต่าง tmux อีกหน้าต่างสำหรับ agent อีกตัวได้ และหากทั้งสองตัวเป็น Claude Code เซสชันทั้งสองสามารถส่งต่องานระหว่างกันได้ แทนที่คุณจะต้องถ่ายทอดงานด้วยตนเอง Aider จะอ่าน repository ของคุณ เสนอการแก้ไข นำการแก้ไขไปใช้ และ commit แต่ละรายการ นอกจากนี้ยังดึงไฟล์เพิ่มเติมมาใช้เป็น context ได้เมื่อการเปลี่ยนแปลงครอบคลุมหลายไฟล์ เนื่องจากทุกการเปลี่ยนแปลงเป็น commit การยกเลิกการทำงานของ agent จึงทำได้ด้วย git revert ตามปกติ ซึ่งเป็นกลไกความปลอดภัยที่ช่วยให้ใช้งานได้อย่างมั่นใจ Goose ติดตั้งด้วยสคริปต์บรรทัดเดียวตามเอกสาร และทำงานจาก terminal ในลักษณะเดียวกัน โดยขับเคลื่อนงานผ่าน extension ของตนเอง:

curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bash

รูปแบบ Hosted หรือรูปแบบ Self-hosted

รูปแบบ Hosted ให้คุณภาพที่ดีที่สุดและไม่จำเป็นต้องใช้ฮาร์ดแวร์ในเครื่อง แต่มีค่าใช้จ่ายต่อ token และโค้ดของคุณจะถูกส่งไปยังผู้ให้บริการ ค่าใช้จ่ายต่อ token มักเพิ่มขึ้นเร็วกว่าที่คนส่วนใหญ่คาดคิด เนื่องจากเอเจนต์จะส่งบทสนทนาทั้งหมดซ้ำในทุกรอบการทำงาน ข้อมูลการวิเคราะห์ของ Claude Code เกี่ยวกับ สิ่งที่เซสชันเอเจนต์ระยะยาวใช้จ่ายไปกับ token จริงๆ สามารถนำมาปรับใช้ในกรณีนี้ได้เช่นกัน เนื่องจาก Aider และ Goose มีรูปแบบการเรียกเก็บเงินในลักษณะเดียวกัน รูปแบบ Self-hosted ผ่าน Ollama ช่วยให้ทุกอย่างอยู่บนเซิร์ฟเวอร์ของคุณและไม่มีค่าใช้จ่ายในการรันเมื่อชำระค่าฮาร์ดแวร์เรียบร้อยแล้ว แต่โมเดลสำหรับการเขียนโค้ดที่มีประสิทธิภาพเพียงพอต่อการใช้งานจริงจำเป็นต้องใช้หน่วยความจำจำนวนมาก นี่คือสิ่งที่ต้องชั่งน้ำหนักระหว่างคุณภาพและความสะดวกสบาย กับความเป็นส่วนตัวและค่าใช้จ่าย

หากคุณเลือกใช้รูปแบบ Self-hosted คำถามในทางปฏิบัติคือโมเดลใดที่เหมาะสมกับเซิร์ฟเวอร์ของคุณ ให้คอยตรวจสอบ context window ในระหว่างการใช้งานด้วย เนื่องจาก Ollama กำหนดค่าเริ่มต้นไว้ที่ขนาดเล็กและจะตัดข้อความที่ยาวเกินไปทิ้งโดยไม่แจ้งเตือน ซึ่งสำหรับเอเจนต์เขียนโค้ดแล้ว หมายความว่าไฟล์ที่เพิ่งอ่านไปจะหลุดออกจาก prompt: การ เพิ่ม num_ctx จะช่วยแก้ไขปัญหานี้ได้ และ KV cache ขนาดใหญ่ที่จำเป็นต้องใช้ก็เป็นส่วนหนึ่งของหน่วยความจำที่คุณต้องจัดสรรไว้ ให้ประเมินขนาดก่อนที่จะดาวน์โหลดโมเดลขนาด 8 กิกะไบต์ลงบนเครื่องที่ไม่สามารถรองรับได้:

ToolSelf-hosted LLM sizing

ความปลอดภัย: การแก้ไขไฟล์และการรันคำสั่ง

Coding agent ไม่ใช่เครื่องมือแบบ passive มันสามารถเขียนไฟล์ใหม่และรันคำสั่ง build หรือ test ได้ ดังนั้นควรดูแลมันเช่นเดียวกับกระบวนการใดๆ ที่สามารถเปลี่ยนแปลงระบบของคุณได้ นิสัย 3 ประการสามารถลดความเสี่ยงได้เกือบทั้งหมด ประการแรก ให้ทำงานภายใน git repository เพื่อให้ทุกการเปลี่ยนแปลงถูกบันทึกและย้อนกลับได้ ซึ่ง Aider จะจัดการส่วนนี้ให้คุณโดยอัตโนมัติ ประการที่สอง ให้รัน agent ด้วยสิทธิ์ผู้ใช้ทั่วไปที่ไม่ใช่ root ตามหลักการ least-privilege users เพื่อป้องกันไม่ให้คำสั่งที่ผิดพลาดส่งผลกระทบต่อทั้งระบบ ประการที่สาม ให้เสริมความปลอดภัยให้กับตัวเครื่อง เพราะ VPS ที่ใช้เขียนโค้ดก็คือเซิร์ฟเวอร์สาธารณะเครื่องหนึ่ง เช่น การใช้ SSH แบบ key-only, การตั้งค่า firewall แบบ default-deny และอื่นๆ คู่มือ OpenClaw hardening guide ได้ยึดถือแนวทางเดียวกันนี้สำหรับ agent ที่มีความเป็นอิสระสูงกว่า และหลักการเหล่านี้สามารถนำไปประยุกต์ใช้ได้ในทุกกรณี

สำหรับการนำ coding agent เข้าสู่ workflow ของคุณ building an AI agent with Claude จะแสดงวิธีที่โมเดลควบคุมเครื่องมือของคุณ; running Google's Gemini CLI on a VPS เป็นอีกหนึ่งทางเลือกสำหรับการใช้งานผ่าน terminal และ self-hosting OpenHands เป็นแนวทางสำหรับระบบอัตโนมัติที่ซับซ้อนกว่า โครงการโอเพนซอร์สที่ได้รับความนิยมสูงสุดในขณะนี้มีคู่มือเฉพาะของตนเอง คือ running OpenCode on a VPS ซึ่งแนะนำการติดตั้งโดยใช้รูปแบบ tmux และผู้ใช้ที่ไม่มีสิทธิ์ root เช่นเดียวกัน

FAQ

ฉันสามารถรัน coding agent ด้วยโมเดลในเครื่องแทนการใช้ API แบบเสียค่าใช้จ่ายได้หรือไม่?

ได้ ทั้ง Aider และ Goose สามารถทำงานร่วมกับโมเดลในเครื่องที่รันผ่าน Ollama ได้ คุณจึงสามารถรัน coding agent แบบ self-hosted ได้เต็มรูปแบบโดยไม่มีค่าใช้จ่ายต่อ token และไม่มีโค้ดใดหลุดออกไปจากเซิร์ฟเวอร์ของคุณ ข้อควรระวังคือเรื่องหน่วยความจำ โมเดลที่มีความสามารถเพียงพอในการเขียนโค้ดที่มีประโยชน์จำเป็นต้องใช้ RAM หรือ VRAM จำนวนมาก ดังนั้นควรจัดเตรียมสเปกเครื่องให้เหมาะสมกับโมเดลก่อนเริ่มใช้งาน

ระหว่าง Aider กับ Goose ควรเลือกใช้ตัวไหน?

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

ฉันต้องใช้หน่วยความจำเท่าใดสำหรับโมเดลเขียนโค้ดแบบ self-hosted?

ขึ้นอยู่กับขนาดของโมเดลและระดับการทำ quantization โมเดลขนาดเล็กที่ผ่านการทำ quantization สามารถรันได้โดยใช้หน่วยความจำเพียงไม่กี่ gigabytes ในขณะที่โมเดลที่มีประสิทธิภาพสูงกว่าต้องการหน่วยความจำมากกว่านั้นมาก รวมถึง context window ที่ยาวขึ้นก็จะใช้หน่วยความจำเพิ่มขึ้นด้วย ให้ใช้เครื่องมือประเมินขนาดด้านบนเพื่อคำนวณหน่วยความจำที่โมเดลและ context length นั้นๆ ต้องการก่อนทำการดาวน์โหลด

การปล่อยให้ AI agent แก้ไขโค้ดและรันคำสั่งบนเครื่องมีความปลอดภัยหรือไม่?

สามารถจัดการได้หากมีนิสัยการทำงานที่ถูกต้อง ให้เก็บงานของคุณไว้ใน git repository เพื่อให้ทุกการแก้ไขเป็น commit ที่สามารถย้อนกลับได้ รัน agent ด้วยผู้ใช้ที่ไม่มีสิทธิ์ระดับ root และเสริมความปลอดภัยให้กับ VPS เหมือนกับที่คุณทำกับเซิร์ฟเวอร์สาธารณะทั่วไป ตรวจสอบการเปลี่ยนแปลงที่ agent ทำการ commit แทนการเชื่อถือโดยไม่ตรวจสอบ โดยเฉพาะคำสั่งใดๆ ที่ agent ต้องการรันบนระบบของคุณ