วิธีรัน Aider หรือ Goose บน VPS เพื่อเขียนโค้ด
เรียนรู้วิธีติดตั้ง Aider และ Goose บน VPS เพื่อรันผ่าน Terminal โดยเชื่อมต่อกับ Ollama ได้อย่างปลอดภัย พร้อมเทคนิคการใช้ tmux เพื่อให้งานทำงานต่อเนื่อง
ทำไมต้องรัน coding agent บน VPS
coding agent คือเครื่องมือที่อ่าน codebase ของคุณ เขียนการเปลี่ยนแปลง และรันคำสั่งเพื่อทดสอบการเปลี่ยนแปลงเหล่านั้นผ่าน terminal การรันบน VPS มีข้อดี 3 ประการเมื่อเทียบกับ laptop: งานจะดำเนินต่อไปแม้คุณตัดการเชื่อมต่อ, ตัว agent อยู่ใกล้กับ code และ build tools ของคุณ และสามารถเชื่อมต่อกับ model ที่คุณ host เองได้ เริ่มต้นใช้งานภายใน tmux session เพื่อให้คุณสามารถปิด laptop และกลับมาทำงานต่อได้ในภายหลัง ซึ่งเป็นรูปแบบเดียวกับ การรัน Claude Code บน VPS ด้วย tmux
มี terminal-based agents สองตัวที่ควรทราบ Aider คือตัวเลือกที่เน้น terminal และ git เป็นหลัก โดยจะทำการ auto-commit ทุกการเปลี่ยนแปลงพร้อมข้อความที่เหมาะสม เพื่อให้ประวัติการแก้ไขสะอาดและสามารถย้อนกลับได้ทุกครั้ง Aider เป็นหนึ่งใน coding agent บน terminal ที่เปิดตัวมานานที่สุด แม้ว่าความเร็วในการออกเวอร์ชันใหม่จะช้าลงก็ตาม ส่วน Goose จาก Block มีขอบเขตการใช้งานที่กว้างกว่า เป็น agent แบบ Apache-2.0 ที่มีระบบนิเวศ extension ขนาดใหญ่ และรองรับผู้ให้บริการหลายรายรวมถึง local models จาก Ollama โดยปัจจุบันพัฒนาภายใต้ Agentic AI Foundation (AAIF) ของ Linux Foundation ทั้งนี้ Aider เหมาะกับ workflow ที่มีระเบียบและเน้น git ส่วน Goose เหมาะกับผู้ที่ต้องการผู้ช่วยทั่วไปที่มีชุด plugin หลากหลาย
สิ่งที่คุณต้องมี
คุณต้องมี VPS ที่ติดตั้ง git, tmux และ Python เวอร์ชันล่าสุดสำหรับ Aider หรือใช้ Goose installer สำหรับ Goose นอกจากนี้คุณต้องมี model ไม่ว่าจะเป็น API key จากผู้ให้บริการอย่าง Anthropic หรือ OpenAI หรือใช้ local model ที่ให้บริการโดย Ollama บน VPS เครื่องเดียวกัน การเลือกใช้แบบ self-hosted จะช่วยให้ code อยู่บน server ของคุณเองและไม่มีค่าใช้จ่ายต่อ token แต่ต้องแลกมาด้วยการต้องมีหน่วยความจำที่เพียงพอสำหรับ model ที่มีประสิทธิภาพ
ติดตั้งและรัน Aider
ติดตั้ง Aider ในสภาพแวดล้อมที่แยกส่วนด้วย pipx ซึ่งติดตั้งผ่าน apt เนื่องจาก Ubuntu 24.04 ไม่อนุญาตให้ติดตั้ง pip install โดยตรงนอก virtual environment (PEP 668) จากนั้นรัน Aider ภายในโปรเจกต์ของคุณใน tmux session เพื่อให้โปรแกรมยังทำงานอยู่แม้การเชื่อมต่อจะหลุดไป:
sudo apt install pipx
pipx ensurepath
pipx install aider-chat
tmux new -s aider
cd ~/my-project
aiderหมายเหตุเรื่องเวอร์ชัน: การติดตั้งนี้ใช้งานได้ตามที่แสดงบน Ubuntu 24.04 แต่ปัจจุบันจะล้มเหลวบน Ubuntu 26.04 เนื่องจาก dependencies ที่ถูกกำหนดไว้ใน Aider มี numpy เวอร์ชันเก่าซึ่งไม่สามารถ build บน Python 3.14 ของเวอร์ชัน 26.04 ได้ วิธีแก้ไขคือการกำหนด Python 3.12 ให้กับ Aider:
pipx install --python 3.12 --fetch-missing-python aider-chatpipx จะดาวน์โหลด standalone interpreter สำหรับ Aider โดยเฉพาะ และการติดตั้งจะเสร็จสมบูรณ์ นี่คือผลกระทบจากการที่ Aider ออกเวอร์ชันใหม่ช้า หากคุณพบปัญหานี้ Goose เป็นตัวเลือกที่มีการบำรุงรักษาที่สม่ำเสมอกว่า
เมื่อรันแล้ว ให้กด Ctrl-b แล้ว d เพื่อออกจาก session และ agent จะยังคงทำงานต่อไปแม้ปิด laptop ไว้ เมื่อต้องการกลับมาใช้งานให้ใช้คำสั่ง tmux attach -t aider เพื่อดูสิ่งที่ agent แก้ไข Aider จะอ่าน repository, เสนอการแก้ไข, นำการแก้ไขไปใช้ และทำการ commit ทุกครั้ง และสามารถดึงไฟล์เพิ่มเติมมาเป็น context ได้เมื่อการแก้ไขครอบคลุมหลายไฟล์ เนื่องจากทุกการเปลี่ยนแปลงคือหนึ่ง commit การยกเลิกการทำงานของ agent จึงทำได้ง่ายด้วย git revert ซึ่งเป็นระบบความปลอดภัยที่ทำให้ใช้งานได้อย่างมั่นใจ ส่วน Goose ติดตั้งด้วยสคริปต์บรรทัดเดียวตามที่ระบุไว้และทำงานผ่าน terminal ในลักษณะคล้ายกัน โดยสั่งงานผ่าน extensions:
curl -fsSL https://github.com/aaif-goose/goose/releases/download/stable/download_cli.sh | bashHosted model หรือ self-hosted model
Hosted model ให้คุณภาพที่ดีที่สุดและไม่ต้องใช้ hardware ในเครื่อง แต่มีค่าใช้จ่ายต่อ token และ code ของคุณจะถูกส่งไปยังผู้ให้บริการ ค่าใช้จ่ายต่อ token จะเพิ่มขึ้นเร็วกว่าที่คนส่วนใหญ่คาดไว้ เนื่องจาก agent จะส่งบทสนทนาทั้งหมดใหม่ในทุกรอบการทำงาน ข้อมูลสรุปของ Claude Code เกี่ยวกับ ค่าใช้จ่าย token ใน session ของ agent สามารถนำมาใช้กับกรณีนี้ได้เช่นกัน เนื่องจาก Aider และ Goose มีรูปแบบการคิดเงินแบบเดียวกัน ส่วนการใช้ self-hosted model ผ่าน Ollama จะเก็บทุกอย่างไว้บน server ของคุณและใช้งานได้ฟรีหลังจากจ่ายค่า hardware แล้ว แต่ model สำหรับการเขียน code ที่มีประสิทธิภาพจำเป็นต้องใช้หน่วยความจำจำนวนมาก นี่คือข้อควรพิจารณา: ระหว่างคุณภาพและความสะดวกสบาย กับความเป็นส่วนตัวและค่าใช้จ่าย
หากคุณเลือกแบบ self-hosted คำถามสำคัญคือ model ใดที่เหมาะกับ server ของคุณ ควรตรวจสอบขนาดก่อนดาวน์โหลด model ขนาด 8 GB ลงในเครื่องที่ไม่มีพื้นที่เพียงพอ:
ความปลอดภัย: agent มีการแก้ไขไฟล์และรันคำสั่ง
coding agent ไม่ใช่เครื่องมือที่ทำงานแบบ passive มันสามารถเขียนไฟล์ใหม่และรันคำสั่ง build หรือ test ได้ ดังนั้นควรดูแลเหมือนกับ process ใดๆ ที่สามารถเปลี่ยนแปลงระบบของคุณได้ การสร้างนิสัย 3 ประการจะช่วยลดความเสี่ยงส่วนใหญ่: ทำงานภายใน git repository เพื่อให้ทุกการเปลี่ยนแปลงถูกติดตามและย้อนกลับได้ ซึ่ง Aider จะจัดการให้คุณโดยอัตโนมัติ, รัน agent ด้วย user ปกติที่ไม่มีสิทธิ์ root ตามหลักการ least-privilege users เพื่อป้องกันไม่ให้คำสั่งที่ผิดพลาดส่งผลกระทบต่อทั้งระบบ และดูแลความปลอดภัยของตัวเครื่องให้แน่นหนาเนื่องจาก coding VPS ยังคงเป็น public server เช่น การใช้ SSH แบบ key-only, การตั้งค่า firewall แบบ default-deny และอื่นๆ คู่มือ OpenClaw hardening guide ใช้หลักการเดียวกันนี้สำหรับ agent ที่ทำงานแบบอัตโนมัติมากขึ้น
หากต้องการเชื่อมต่อ coding agent เข้ากับ workflow ของคุณ การสร้าง AI agent ด้วย Claude จะแสดงวิธีที่ model หนึ่งควบคุมเครื่องมือของคุณ; การรัน Google's Gemini CLI บน VPS เป็นอีกหนึ่งทางเลือกบน terminal และ การทำ self-hosting OpenHands เป็นรูปแบบอัตโนมัติที่ซับซ้อนกว่า ปัจจุบันโปรเจกต์ open source ที่ได้รับความนิยมสูงสุดในด้านนี้มีคู่มือของตัวเองคือ การรัน OpenCode บน VPS ซึ่งติดตั้งด้วยรูปแบบ tmux และการใช้ unprivileged-user แบบเดียวกัน
FAQ
ฉันสามารถรัน coding agent ด้วย local model แทนการใช้ API แบบเสียเงินได้หรือไม่?
ได้ ทั้ง Aider และ Goose สามารถใช้งานร่วมกับ local models ที่ให้บริการโดย Ollama ดังนั้นคุณจึงสามารถรัน coding agent แบบ self-hosted ได้เต็มรูปแบบโดยไม่มีค่าใช้จ่ายต่อ token และไม่มี code หลุดออกจาก server ของคุณ ข้อจำกัดคือเรื่องหน่วยความจำ: model ที่มีความสามารถพอจะเขียน code ที่ใช้งานได้จริงจำเป็นต้องใช้ RAM หรือ VRAM จำนวนมาก ดังนั้นควรตรวจสอบขนาดเครื่องให้เหมาะสมกับ model ก่อนเริ่มใช้งาน
ควรใช้ Aider หรือ Goose ดี?
เลือก Aider หาก workflow ของคุณเน้นการใช้ terminal และ git และคุณต้องการตัวเลือกที่มีความเสถียรที่สุดและใช้ทรัพยากรน้อยที่สุด โดยมันจะ auto-commit ทุกการเปลี่ยนแปลงเพื่อให้ประวัติการแก้ไขสามารถย้อนกลับได้ เลือก Goose หากคุณต้องการผู้ช่วยที่มีขอบเขตการทำงานกว้างกว่า พร้อมระบบนิเวศ extension ขนาดใหญ่และรองรับผู้ให้บริการหลายราย ทั้งสองตัวรันผ่าน terminal และรองรับ Ollama จึงเหมาะสำหรับใช้งานบน VPS ทั้งคู่
ฉันต้องใช้หน่วยความจำเท่าไหร่สำหรับ self-hosted coding model?
ขึ้นอยู่กับขนาดของ model และระดับการทำ quantization ขนาดของ model เล็กๆ ที่ผ่านการ quantized อาจรันได้ด้วยหน่วยความจำเพียงไม่กี่ gigabytes ในขณะที่ model ที่ทรงพลังกว่าต้องการมากกว่านั้นมาก และ context windows ที่ยาวขึ้นจะยิ่งเพิ่มการใช้หน่วยความจำ ควรใช้เครื่องมือวัดขนาดด้านบนเพื่อประเมินหน่วยความจำที่ model และความยาว context นั้นต้องการก่อนที่จะดาวน์โหลด
ปลอดภัยหรือไม่ที่จะให้ AI agent แก้ไข code และรันคำสั่งของฉัน?
สามารถจัดการได้หากมีนิสัยการใช้งานที่ถูกต้อง ให้เก็บงานไว้ใน git repository เพื่อให้ทุกการแก้ไขสามารถย้อนกลับได้ผ่าน commit, รัน agent ด้วย user ที่ไม่มีสิทธิ์ root แทนการใช้ root และดูแลความปลอดภัยของ VPS ให้แน่นหนาเหมือน public server ทั่วไป ควรตรวจสอบการเปลี่ยนแปลงที่ agent ทำการ commit แทนการเชื่อถือโดยปราศจากการตรวจสอบ โดยเฉพาะคำสั่งใดๆ ที่มันต้องการรันบนระบบของคุณ