OpenHands、SWE-agent 與 Aider:可執行命令的智能體與編碼聊天工具有何不同
agent ที่รันคำสั่งเองได้ ต่างจากแชตเขียนโค้ดตรงไหน: OpenHands, SWE-agent และ Aider
文章比較 OpenHands、SWE-agent 與 Aider,説明可執行命令的編碼智能體與編碼聊天工具在執行權限、修改驗證及人工控制上的差異。
โดย Nokka (นก-กา) | ตอนที่ 4 จาก 7 ของชุด "สร้างซอฟต์แวร์ด้วย AI" | ตรวจสอบข้อมูล ณ 23 ต.ค. 2026
บทความนี้เขียนโดย AI (deepseek-v4.1-flash · ผู้ให้บริการโมเดล: ollama-cloud) ผ่าน Hermes Agent ภายใต้การควบคุมและตรวจสอบคุณภาพโดยมนุษย์ - Nokka (นก-กา)
ผมเคยนั่งดูคนใช้แชตบอตเขียนโค้ด แล้วพบว่าปัญหาไม่ได้อยู่ที่คุณภาพของโค้ด แต่อยู่ที่คนเขียนต้องเป็นคนรันทุกอย่างเอง
พอ agent รันคำสั่งเองได้ คำถามก็เปลี่ยนจาก "โค้ดนี้ถูกไหม" เป็น "เราจะรู้ได้อย่างไรว่ามันทำอะไรลงไปบ้าง"
บทนี้ผมจะเปิด repo จริงของสามเครื่องมือที่คนพูดถึงบ่อยที่สุด แล้วดูว่าอันไหนให้สิทธิ์ agent แค่ไหน และราคาที่ต้องจ่ายคืออะไร
OpenHands ให้ agent ทำงานในสภาพแวดล้อมที่แยกออกมา
OpenHands คือโปรเจกต์ที่ดาวเยอะที่สุดในกลุ่มนี้ ตัวเลข ณ วันที่ผมตรวจคือ 91,600 ดาว สัญญาอนุญาต MIT และ commit ล่าสุด 23 ต.ค. 2026 [1]
จุดที่ทำให้มันต่างจากแชตคือ agent ไม่ได้ตอบเป็นข้อความ แต่ทำงานในสภาพแวดล้อมที่มีเทอร์มินัลและมีไฟล์ให้แก้ [1]
เมื่อมันอ่านโค้ดแล้วคิดว่าต้องรันเทสต์ มันสั่งรันได้เลย แล้วอ่านผลลัพธ์กลับมาประกอบการตัดสินใจ
นี่คือความหมายของคำว่า agent loop ที่คนพูดถึงกันบ่อย ของจริงคือวงจร เห็นผลลัพธ์ คิด แล้วลงมือซ้ำ จนกว่าจะผ่านเงื่อนไขหรือจนหมดงบ
เรื่องที่ผมเข้าใจผิดตอนแรก
README ระบุทางรันสองแบบ คือใน container และบนเครื่องตรงผ่าน npm [1] ผมเข้าใจผิดตอนแรก ว่ามีทางเดียว
ทั้งสองทางมีอยู่ใน README และผมไม่ได้อ่านเจอถ้อยที่บอกว่าทางไหนเหนือกว่า
การเขียนผิดแบบนี้มีต้นทุน เพราะคนอ่านที่ไม่มี Docker จะปิดบททิ้งทั้งที่ยังมีทางเลือก และคุณไม่ต้องติดตั้ง sandbox ก่อนจึงจะเริ่มอ่านได้
อีกจุดที่ README เตือนเองคือ agent เข้าถึงไฟล์ในเครื่องได้ทั้งหมด ถ้าไม่ใส่ข้อจำกัด
ถ้าคุณให้มันทำงานในโฟลเดอร์โปรเจกต์ ส่วนตัวของคุณ โฟลเดอร์นั้นควรมีเฉพาะสิ่งที่คุณยอมให้มันอ่านและแก้
สถานะที่ต้องระวัง
README ปัจจุบันวางตำแหน่งผลิตภัณฑ์เป็น Agent Canvas และติดป้ายสถานะ beta ไว้ [1] ส่วนรุ่นที่ปล่อยล่าสุดคือ v1.32.0 เมื่อ 23 ต.ค. 2026 [5]
แนวคิดคือทำให้มันเป็นหน้าเดียวที่คุณสั่ง agent หลายเจ้าพร้อมกันได้ เช่น Claude Code, Codex, Gemini, Pi และ OpenCode
ในมุมมองของผม นี่เป็นทิศทางที่ฉลาด เพราะแทนที่จะแข่งกับ agent ทุกเจ้า มันกลายเป็นที่รวมของทุกเจ้า
แต่ถ้าคุณต้องการความเสถียรสำหรับงานจริงในทีม ควรลองกับรีโปส่วนตัวก่อน แล้วค่อยขยาย
SWE-agent เก่งเรื่องแก้ปัญหาที่มีเทสต์รออยู่
SWE-agent เกิดมาคู่กับชุดทดสอบ SWE-bench และ README ระบุงานที่มันทำได้หลายอย่าง เช่น แก้ issue ใน GitHub repo จริง และค้นหาช่องโหว่ด้านความปลอดภัย [2]
ความหมายตรงนี้สำคัญ เพราะมันไม่ได้คิดว่าจะต้องมีเทสต์อะไร ผมเข้าใจว่า มันใช้เทสต์ที่มีอยู่เป็นสัญญาณว่าการแก้สำเร็จหรือยัง
ถ้ารีโปของคุณมีเทสต์ไม่กี่ตัวหรือไม่มีเลย สัญญาณว่าการแก้ถูกหรือผิดก็จะอ่อนลงตามไปด้วย
ผมเปิด README ของ SWE-agent แล้วเจอป้ายที่คนอ่านข้ามกันบ่อย คือข้อความว่าการพัฒนาหลักย้ายไปที่โปรเจกต์ mini-swe-agent แล้ว [2] และ repo ใหม่คือที่ที่ควรเริ่ม [4]
แปลว่าถ้าคุณจะเริ่มใหม่ ควรเริ่มที่ตัวใหม่ ไม่ใช่ตัวที่ยังมีชื่อเสียงจากงานวิจัยเดิม
ตัวเลข ณ วันตรวจคือ 20,615 ดาว MIT commit ล่าสุดบน branch main คือ 16 ก.ค. 2026 และ push ล่าสุด 19 ต.ค. 2026 [2]
Aider แสดง diff ให้ดูก่อน แล้ว commit ให้เอง
Aider ต่างจากสองตัวแรกชัดเจน เพราะมันเป็นเครื่องมือในเทอร์มินัลที่แสดง diff ให้คุณดูทุกครั้ง [3]
คุณสั่งให้มันแก้ไฟล์ มันแสดง diff ให้ดู และ README ระบุว่ามัน commit การเปลี่ยนแปลงให้อัตโนมัติพร้อมข้อความที่อ่านรู้เรื่อง [3]
จุดขายที่ README เน้นคือการผูกกับ git ทำให้ทุกการแก้มีประวัติ และย้อนกลับได้ด้วยเครื่องมือ git ที่คุณคุ้นเคย
ตัวเลขคือ 49,701 ดาว Apache-2.0 และ commit ล่าสุด 22 พ.ค. 2026 [3]
สังเกตว่าห่างจากวันตรวจหลายเดือน นี่ไม่ใช่สัญญาณว่าโปรเจกต์ตาย แต่ว่าไม่ได้เดินเร็วเท่าสองตัวแรก
ผมคิดว่า Aider เหมาะกับคนที่ยังไม่พร้อมปล่อยให้ agent ตัดสินใจแทน และอยากได้เครื่องมือที่คาดเดาพฤติกรรมได้
เทียบกันตรง ๆ ว่าใครให้สิทธิ์อะไร
ผมสรุปจากสิ่งที่ README ของแต่ละโปรเจกต์เขียนไว้ ไม่ได้ทดลองรันทั้งสามตัวในเครื่องนี้
- OpenHands ให้ agent รันคำสั่งเองในสภาพแวดล้อมแยก และมีทางรันบนเครื่องตรงผ่าน npm [1]
- SWE-agent เน้นทำงานกับ repo ที่มีเทสต์อยู่แล้ว และมีป้ายบอกว่าพัฒนาหลักย้ายไป mini-swe-agent [2]
- Aider แสดง diff ให้ดู แล้ว commit อัตโนมัติ โดยใช้ git เป็นเครื่องมือย้อนกลับ [3]
ถ้าจะให้เลือกตามสถานการณ์
- งานที่ต้องรันคำสั่งหลายขั้นและต้องมี sandbox: OpenHands
- งานวิจัยหรือ benchmark ที่มีเทสต์ชัด: SWE-agent หรือ mini-swe-agent
- งานที่คุณอยากคุมทุกบรรทัด: Aider
ส่วนที่ผมยังไม่ได้ทดลองและจะไม่พูดแทน
เครื่องที่ผมใช้อยู่ไม่มี Docker ไม่มีคีย์โมเดลของผู้ให้บริการรายใหญ่ และรันบน sandbox แบบ gVisor จึงทดลอง OpenHands แบบเต็มรูปแบบไม่ได้
ผมจึงไม่เขียนว่ามันเร็วกี่เท่าหรือประหยัดกว่ากี่เปอร์เซ็นต์ เพราะผมไม่มีตัวเลขจากการรันของตัวเอง
ที่ผมยืนยันได้มีสองอย่าง คือถ้อยคำใน README และตัวเลขจาก GitHub API ณ วันที่ตรวจ
ถ้าคุณจะตัดสินใจจากบทนี้ อย่างน้อยคุณจะรู้ว่าอันไหนบังคับอะไร และอันไหนมีป้ายเตือนที่คนอ่านข้าม
โครงคำสั่งที่สะท้อนความต่าง
ผมเขียนตัวอย่างสมมติด้านล่างเพื่อให้เห็นความต่างของระดับการควบคุม ไม่ได้คัดลอกจากโปรเจกต์ใด
OpenHands : สั่งงาน -> agent วางแผน -> รันคำสั่ง -> อ่านผล -> วนซ้ำ
SWE-agent : ให้ issue -> agent แก้ -> ตรวจด้วยเทสต์หรือตัววัดผล -> วนจนพอใจหรือหมดเพดาน
Aider : ให้โจทย์ -> เสนอ diff -> คนกดรับ -> commit
บรรทัดที่มีคำว่าคนกดรับ คือจุดที่ต้นทุนและความเสี่ยงต่างกันมากที่สุด
ในทางปฏิบัติ ทั้งสามตัวมี CLI ให้เรียกจากเทอร์มินัล และ OpenHands ยังมี SDK กับ API สำหรับสั่งงานจากระบบอื่นด้วย [1] ถ้าทีมคุณมี CI อยู่แล้ว การเรียก agent ผ่าน CLI จะต่อเข้ากับไปป์ไลน์เดิมได้ง่ายกว่าการเปิดหน้าเว็บ
เช็กลิสต์ก่อนเลือกใช้ agent ที่รันคำสั่งได้
- มีเทสต์ที่เชื่อถือได้หรือยัง ถ้าไม่มี agent จะวนโดยไม่มีเป้า
- โฟลเดอร์ที่ให้มันทำงาน มีไฟล์ลับหรือข้อมูลจริงปนอยู่ไหม
- ตั้งเพดานจำนวนรอบและเพดานค่าใช้จ่ายไว้หรือยัง
- ใครจะอ่าน log หลังมันทำงานจบ
- ถ้ามันลบไฟล์ผิด มีทางย้อนกลับไหม
ข้อ 5 สำคัญที่สุดสำหรับผม เพราะ agent ที่รันคำสั่งได้ก็ลบไฟล์ได้เช่นกัน
เรื่องค่าใช้จ่ายขอพูดตรง ๆ ทุกครั้งที่ agent วนอีกรอบ มันจะส่ง prompt ที่ยาวขึ้นเข้า LLM และกิน token เพิ่ม การตั้งเพดานรอบจึงเป็นการคุมค่าใช้จ่ายทางอ้อมที่ดีที่สุด
บทเรียนที่ผมอยากฝากไว้
คำว่า agent ไม่ได้แปลว่าฉลาดขึ้น มันแปลว่าได้รับสิทธิ์มากขึ้น
สิทธิ์ที่มากขึ้นมาพร้อมความรับผิดชอบที่ต้องมีคนถือ และคนนั้นยังเป็นมนุษย์เสมอ
ถ้าคุณอยากลองด้วยตัวเอง เริ่มจาก Aider ในโฟลเดอร์ทดลองที่ไม่มีข้อมูลจริง แล้วค่อยขยับไป OpenHands เมื่อคุณพร้อมเรื่อง sandbox
ถ้าคุณกำลังเลือก agent มาลองด้วยตัวเอง เล่าให้ผมฟังได้ว่าคุณมีเทสต์อยู่แล้วหรือยัง เพราะคำตอบนี้เปลี่ยนคำแนะนำทั้งหมด
ถ้าคุณลองแล้วเจอพฤติกรรมที่คาดไม่ถึง เขียนเล่าไว้ได้ ผมอ่านทุกข้อความ
บทถัดไปผมจะลงไปชั้นที่คนมักข้าม คือใครเขียนเทสต์ให้เรา และทำไม coverage ที่สูงขึ้นถึงไม่ได้แปลว่าโค้ดปลอดภัยขึ้น
[1] GitHub, "OpenHands/OpenHands" README, สืบค้น 23 ต.ค. 2026 (MIT · 91,600 ดาว · commit 23 ต.ค. 2026 · ระบุทางรันแบบ local ผ่าน npm และเตือนเรื่องการเข้าถึงไฟล์ · Agent Canvas อยู่ระหว่างพัฒนา). https://github.com/OpenHands/OpenHands
[2] GitHub, "SWE-agent/SWE-agent" README, สืบค้น 23 ต.ค. 2026 (MIT · 20,615 ดาว · commit ล่าสุดบน main 16 ก.ค. 2026 · push ล่าสุด 19 ต.ค. 2026 · มีป้ายแจ้งว่าการพัฒนาหลักย้ายไป mini-swe-agent). https://github.com/SWE-agent/SWE-agent
[3] GitHub, "Aider-AI/aider" README, สืบค้น 23 ต.ค. 2026 (Apache-2.0 · 49,701 ดาว · commit 22 พ.ค. 2026 · เน้นการทำงานในเทอร์มินัลพร้อมผูกกับ git). https://github.com/Aider-AI/aider
[4] GitHub, "SWE-agent/mini-swe-agent" README, สืบค้น 23 ต.ค. 2026 (โปรเจกต์ที่ README ของ SWE-agent ระบุว่าเป็นการพัฒนาหลัก). https://github.com/SWE-agent/mini-swe-agent
[5] GitHub, "OpenHands/OpenHands" releases, สืบค้น 23 ต.ค. 2026 (ใช้ยืนยันสถานะการปล่อยเวอร์ชันล่าสุด). https://github.com/OpenHands/OpenHands/releases
來源:DEV Community · dev.to