Exploring Herdr: The Best Agent Multiplexer?
สรุปย่อ
ประเด็นสำคัญจากวิดีโอ
- **ช่อง:** Tonbi's AI Garage · **ความยาว:** ~17.5 นาที · **ลิงก์:** https://www.youtube.com/watch?v=Oa2BXTerhtY
# สรุป: Exploring Herdr: The Best Agent Multiplexer? - **ช่อง:** Tonbi's AI Garage · **ความยาว:** ~17.5 นาที · **ลิงก์:** https://www.youtube.com/watch?v=Oa2BXTerhtY ## ประเด็นหลัก - **Herdr คือ agent multiplexer แบบโอเพนซอร์ส** ที่ออกแบบมาสำหรับ coding agent โดยเฉพาะ คล้ายกับที่ tmux เป็นกับเทอร์มินัล — เป็น Rust binary ตัวเดียวที่รัน agent ใน persistent PTY - **สถาปัตยกรรมแบบ client/server:** server รันเบื้องหลังและเป็นเจ้าของโพรเซสทั้งหมด ส่วน client คือ UI ที่ผู้ใช้เชื่อมต่อเข้าไป การแยกนี้ทำให้เซสชันคงอยู่แม้ปิดเทอร์มินัล - **การติดตั้งง่ายและรวดเร็ว** บน WSL/Linux/macOS — แค่รันคำสั่งเดียว ส่วน Windows ยังอยู่ในสถานะพรีวิวเบต้า - **เน้นการใช้เมาส์เป็นหลัก** UI สะอาดตา ปรับแต่ง pane, theme, การแจ้งเตือน และ integration กับ agent ต่าง ๆ ได้ง่าย - **Integrations** รองรับ Codex, Claude, OpenCode, Hermes, Grok และอื่น ๆ — ทำให้ agent รายงานสถานะได้โดยตรง - **Socket API** เป็นฟีเจอร์เด่น — ช่วยให้ agent หนึ่งสามารถอ่านสถานะของ agent อื่น ๆ และสั่งงานได้ เช่น Hermes agent สามารถตอบคำถามที่ Codex ถาม หรือสั่งเปิดเซสชัน Claude ใหม่ได้ - **การคงอยู่ (persistence):** ปิดเทอร์มินัลแล้วกลับมาด้วยคำสั่ง `her` เซสชันทั้งหมดยังอยู่ครบ — สามารถ SSH เข้ามาจากมือถือแล้วรันต่อได้ - **Plugins marketplace** บน herdr.dev มีปลั๊กอินจากชุมชนกว่า 307 ตัว เช่น Herdr Flock ที่แสดง agent ในรูปแบบตัวละครน่ารัก ๆ - **การเปลี่ยนลิขสิทธิ์เป็น Apache 2.0** ทำให้เป็นโอเพนซอร์สโดยสมบูรณ์ ใครก็ใช้และต่อยอดได้ - **เหมาะกับ** ผู้ที่รัน agent หลายตัวและหลายโปรเจกต์พร้อมกัน หรือทำงานยาว ๆ — ไม่จำเป็นถ้ามีแค่ agent เดียว เซสชันสั้น ๆ ## ความเห็นสรุป Herdr เป็นเครื่องมือที่ตอบโจทย์ความต้องการจริงของนักพัฒนาที่ใช้ coding agent หลายตัวพร้อมกัน ความสามารถในการคงอยู่ของเซสชันและการอนุญาตให้ agent ควบคุม agent อื่นผ่าน socket API เป็นจุดเด่นที่ทำให้มันแตกต่างจากเครื่องมืออื่น ๆ เจ้าของช่องมาด้วยความสงสัยในตอนแรก แต่หลังลองใช้แล้วก็พบว่าชอบและจะใช้ต่อไปในอนาคตครับ
คำแปลเต็ม
แปลตามบทสนทนาต้นฉบับ ปรับเป็นภาษาไทยธรรมชาติ
ตอนนี้ผมกำลังทำงานอยู่ในเทอร์มินัลครับ ผมมี agent หลายตัวด้วยกัน มี Hermes agent ของผม มี Claude Code มี Grok agent อยู่สองสามตัว และก็มี Codex ด้วย ผมกำลังทำงานกับทุกตัวไปพร้อม ๆ กัน และทุกตัวก็กำลังรันอยู่ ผมเห็นได้ว่าตัวไหนกำลังทำงานอยู่ ตัวไหนติดอยู่และต้องการให้ผมช่วย ผมได้จัดเรียงแต่ละตัวไว้ใน pane และรูปแบบที่แตกต่างกัน โดยมี Hermes agent ตัวหนึ่งทำหน้าที่ควบคุมดูแลว่า agent ตัวอื่น ๆ กำลังทำอะไรอยู่ มันจึงไม่เพียงแต่เห็นสิ่งที่พวกมันกำลังทำได้เท่านั้น — คุณเห็นผลลัพธ์ได้จากตรงนี้ — แต่ยังสามารถสั่งงานและบอกได้ว่าต้องการให้ทำอะไรอีกด้วย และที่สำคัญที่สุดคือ ถ้าผมบังเอิญปิดเทอร์มินัลนี้ไปโดยไม่ได้ตั้งใจ ผมก็แค่กลับมาทำต่อจากที่ค้างไว้ได้ด้วยคำสั่งเดียว แล้ว agent ทั้งหมดของผมก็ยังคงรันอยู่ เซสชันก็ยังดำเนินต่อไปอยู่
ทั้งหมดนี้เป็นไปได้เพราะ agent multiplexer ตัวใหม่ที่ชื่อว่า Herdr ครับ ผมเริ่มเห็นคนพูดถึง repo ของ Herdr บน Twitter เยอะมาก นี่เป็นโปรเจกต์โอเพนซอร์สและมันดึงดูดความสนใจผม จากเดโมที่เห็นมาคิดว่าน่าสนใจดี ในวิดีโอนี้ผมก็เลยอยากจะอธิบายว่า Herdr คืออะไร ทำไมคุณถึงควรใช้มัน จากนั้นเราจะมาติดตั้งมันบนเครื่องของผมแล้วลองใช้ดูว่ามันทำอะไรได้บ้าง
มาอธิบายกันก่อนว่ามันคืออะไร มันเป็น agent multiplexer อย่างที่บอก — Herdr กับ coding agent ก็เหมือนกับที่ tmux เป็นกับเทอร์มินัล มันเป็น Rust binary ตัวเดียวที่รัน agent ของคุณใน persistent PTY (เซสชันเทอร์มินัลที่คงอยู่ถาวร) แสดงสถานะของทุก agent ได้ในมุมมองเดียว คุณจะเห็นได้เลยว่าตัวไหนกำลังทำงานอยู่ ทำเสร็จแล้ว หรือติดอยู่ด้วยเหตุผลใด มันอยู่รอดจากการปิดเลปท็อปของคุณได้เพราะมันสร้างบน tmux และยังสามารถถูกควบคุมโดย agent ของคุณผ่าน socket API ได้อีกด้วย สิ่งที่ต้องจำไว้คือจะมีฝั่ง server ที่เป็นเจ้าของโพรเซสและรันอยู่เบื้องหลัง กับฝั่ง client ซึ่งก็คือ UI ที่คุณเชื่อมต่อเข้าไป การแยกแบบนี้แหละคือเหตุผลที่ทุกอย่างคงอยู่
นั่นคือสิ่งที่มันเป็น ส่วนนี่คือสิ่งที่มันไม่ใช่ครับ — มันไม่ใช่แอปเทอร์มินัล มันไม่ได้จะมาแทนที่ Warp หรือ Ghostty หรืออะไรก็ตามที่คุณใช้อยู่ทุกวันนี้ มันไม่ใช่ AI agent ในตัวของมันเอง มันไม่ได้เขียนโค้ด ไม่ใช่ agent harness (ตัวขับเคลื่อน agent) ไม่ใช่ GUI wrapper ครอบ agent และไม่ใช่ chat UI ที่ดัดแปลงใหม่ ความเจ็บปวดมันจริง — มันไม่ใช่บริการคลาวด์ คุณมี local binary และ local socket ทุกอย่างรันอยู่ในเครื่องของคุณผ่าน repo โอเพนซอร์สนี้ ส่วน remote หมายถึงเครื่องของคุณเองผ่าน SSH ไม่มีบริการคลาวด์เกี่ยวข้องเลย
แต่แนวคิดก็คือ คุณใช้มันเมื่อคุณมีฝูงแกะ ไม่ใช่แกะตัวเดียว อย่างที่บอก สำหรับพวกเราที่รัน agent หลายตัวและหลายโปรเจกต์ไปพร้อมกัน เรามักจะต้องสลับไปมาระหว่างเทอร์มินัลเพื่อดูว่าตัวไหนติดอยู่ สำหรับงานที่รันนาน — อันนี้ใหญ่เลย — agent ควรจะต้องอยู่รอดจากการปิดเลปท็อป จาก SSH session ที่หลุด จากการรันค้างข้ามคืน และ agent ที่สั่งงาน agent อื่น — อันนี้เจ๋งมากและเป็นสิ่งที่ผมอยากลอง คุณสามารถมี agent หนึ่งควบคุมตัวอื่น ๆ ผ่าน socket API จริง ๆ โดยไม่ต้องมานั่ง screen scraping หรืออะไรแบบนั้น และมันมีประโยชน์ถ้าคุณใช้ tmux อยู่แล้ว เพราะมันก็คือความคงอยู่และ pane แบบเดียวกัน แค่เพิ่มการรับรู้ถึง agent ขึ้นมาด้วย
ดังนั้นถ้าคุณใช้ tmux เป็นประจำอยู่แล้ว ก็ไม่เสียหายที่จะลองดูครับ แต่คุณไม่จำเป็นต้องใช้ถ้ามีแค่ agent เดียว โปรเจกต์เดียว และเซสชันสั้น ๆ — แค่เทอร์มินัลธรรมดาก็เพียงพอแล้ว คุณไม่ต้องมาล้อมแกะตัวเดียวหรอกครับ หรือถ้าคุณอยู่บน Windows เพียว ๆ ตอนนี้มันมีการรองรับ Windows อยู่บ้างในสถานะพรีวิวเบต้า แต่การพัฒนาหลักจะอยู่ที่ Linux และ macOS ผมมีเครื่อง Windows อยู่ที่นี่และอาจจะลองทำใน WSL ดู
และถ้าคุณรัน agent เองและอยากเข้าถึง LM Wiki ที่ผมใช้ค้นคว้าและสร้างวิดีโอพวกนี้ ลองแวะไปดูโปรเจกต์ของผมที่ agentwikis.com ได้นะครับ ผมให้ Wiki ทั้งหมดนี้ฟรีในหัวข้อต่าง ๆ มากมาย และคุณก็สามารถสมัครบัญชี Pro ในราคา $9.99 ต่อเดือน ซึ่งจะให้สิทธิ์เข้าถึง Wiki ขนาดใหญ่พิเศษที่มีหน้ามากกว่าและรายละเอียดมากกว่าในแต่ละหัวข้อ
กลับมาที่วิดีโอกันต่อครับ เอกสารประกอบมีข้อมูลเพิ่มเติมให้ มีคู่มือและอื่น ๆ ด้วย ตอนนี้ผมอยู่บน Windows นี่คือหน้าติดตั้ง เราจะลองทำผ่าน PowerShell ครับ นี่คือหน้าติดตั้ง แต่จริง ๆ ผมว่าจะลองทำใน WSL ก่อนเพราะเป็นเวอร์ชันเสถียรกว่า เราก็แค่รันคำสั่งเดียวซึ่งน่าจะติดตั้งให้ ตกลง ผมอยู่ในเทอร์มินัลธรรมดาและคุณเห็นได้ว่าผมอยู่ใน WSL ตอนนี้ นี่คือคำสั่งติดตั้ง เป็นอันเสร็จ ก็คงติดตั้งเสร็จแล้ว เร็วจัง รัน `her` เพื่อเริ่มต้นใช้งาน โอเค ก็น่าจะเป็น workspace นะครับ ผมจะสร้าง Hermes chat แล้วมันก็เด้งขึ้นมา โอ้ นี่ไง นี่คือ TUI (Text-based User Interface) มาลองรันเพิ่มอีกสักหน่อย เห็นไหมครับ — Claude ก็เด้ง pane ขึ้นมาฝั่งนี้ และอีกอย่างที่เขาพูดถึงคือมันเน้นการใช้เมาส์มาก ๆ คุณขยาย/ย่อ/จัดการทุกอย่างด้วยเมาส์ได้เลย และก็คลิกปุ่มต่าง ๆ ได้โดยตรงในเทอร์มินัลเลย
ลองเปิด Codex ดูบ้าง คุณเห็นว่าเราอยู่ที่ Codex ตรงนี้ และถ้าคลิกที่เมนู มันจะมี settings, keybinds, reload config, detach มาดู settings กันครับ น่าสนใจดี นี่คือ theme คิดว่าตอนนี้เราอยู่ที่ — ไม่แน่ใจว่าออกเสียงยังไง — Capuchin, Tokyo Night อันนี้ดีนะ สว่างไปมั้ง ไม่รู้สิว่าบนจอของคุณจะดูยังไง Tokyo Night ก็ดี มีอะไรอีกบ้าง เสียง — ไม่เอาดีกว่า Toast — คือการแจ้งเตือนเล็ก ๆ คุณสามารถให้มันเด้งผ่านเทอร์มินัลหรือผ่านระบบหรือแค่ใน Herdr ก็ได้ ลองดูสักหน่อย "Show detected agent names in split" — ป้ายชื่อ agent ตรงขอบ pane
ส่วน Integrations — คุณสามารถผสานรวมกับ agent ต่าง ๆ ซึ่งจะทำให้ agent รายงานสถานะได้โดยตรงแทนที่จะพึ่งแค่การตรวจจับโพรเซส คุณกด install เพื่อเพิ่ม integration ที่มีหรือที่ล้าสมัยได้ เห็นได้ว่ามีทั้ง Codex, Claude, OpenCode — น่าจะติดตั้งไว้แล้ว — และ Hermes ก็ติดตั้ง Codex, Claude ติดตั้ง Hermes เสร็จ ส่วน OpenCode ผมคงไม่มี แต่ก็ไม่เป็นไร ติดตั้งครบแล้ว ส่วน Experiments คือฟีเจอร์ที่เป็นทางเลือก เช่น pane screen history ตกลง ผม apply settings เรียบร้อย
ผมเปิด Grok ด้วย ตอนนี้เรามี agent สี่ตัว นี่ก็เป็นการตั้งค่าที่คุ้นเคยของผม ถึงจะไม่ใช่สี่ตัวก็เตาะ ปกติมีแค่สอง ไม่ก็สาม ลองทัก Hermes agent ดู — คุณเห็นว่ามันเริ่มทำงาน และที่ Grok เห็น Hermes ทำเสร็จแล้ว — มันเด้งขึ้นมา ผมได้รับคำตอบที่นี่ และก็เห็นที่ Grok ด้วย มีแอนิเมชันเล็ก ๆ บอกได้ว่าตอนไหนกำลังทำงานอยู่
ฟีเจอร์หลักของเรื่องนี้อย่างที่บอกคือมันสร้างบนแนวคิดของ tmux ซึ่งก็คือความคงอยู่ ตรงนี้คือหน้าต่างเทอร์มินัล ขอโชว์ให้ดูครับ นี่ก็แค่เทอร์มินัลใช่ไหมครับ ไม่ใช่แอปแยกหรืออะไรแบบนั้น ถ้าผมปิดมันไป — ปกติคุณจะเสียเซสชันทั้งหมดเพราะผมปิดไปใช่ไหม — แต่ถ้าผมเปิดใหม่ที่นี่แล้วกลับเข้าไปใน WSL แล้วพิมพ์ `her` นี่ไงครับ แล้วเราก็อยู่ตรงที่ทิ้งไว้เป๊ะ ยังอยู่ในเซสชัน Grok ยังอยู่ในเซสชัน Hermes ขอให้ดูใหญ่ ๆ หน่อยนะ ทั้งหมดนี้ยังคงอยู่ ผมปิดเทอร์มินัลไปแล้วก็ยังได้การตั้งค่าเดิมเป๊ะ มันดีจริง ๆ ไม่ต้องมารีสตาร์ทเซสชันทั้งหมดใหม่ทุกครั้ง และถ้าคุณมีแอปอย่าง Termius หรือ SSH client บนมือถือ คุณก็ใช้ได้เลยถ้าเชื่อมต่อไว้กับเซิร์ฟเวอร์ในเครื่องของคุณ ก็แค่ SSH เข้ามาแล้วรัน `her` ก็จะได้แบบนี้เหมือนกัน
คุณปรับแต่งได้เยอะมากครับ ด้านบนนี้มี pane ต่าง ๆ อยู่ ตัวอย่างเช่น อันนี้ที่ผมเปิดอยู่ใน Claude คุณเพิ่มอันใหม่ได้ที่นี่ มันจะเปิด WSL ขึ้นมาด้วย คุณเปลี่ยนชื่อ pane ได้ด้วย เช่นเปลี่ยนเป็น code แล้วกดบันทึก และก็ย้ายได้อยู่ — ตอนนี้ทั้งหมดอยู่ที่ root แต่คุณย้ายไป workspace อื่นได้
สิ่งที่เจ๋งมากเกี่ยวกับเรื่องนี้คือมันเปิด socket API นี้ออกมา เมื่อคุณตั้งค่า integration เรียบร้อยแล้ว — อย่างที่เราเพิ่งทำไป — ตอนนี้ผมอยู่ใน Hermes agent แล้วผมบอกว่า "ช่วยใช้ herdr skill ตรวจสอบ agent ตัวอื่น ๆ หน่อยได้ไหม" แล้วมันก็ทำให้ — จริง ๆ มันไม่ใช่ skill แต่มันเป็น integration ที่อนุญาตให้ใช้ Herdr ได้ มันจึงสามารถอ่านและเห็นได้ว่า agent ตัวอื่นในแท็บอื่นกำลังทำอะไรอยู่ รู้ว่า Claude กำลังทำงานอยู่ รู้ว่า Codex กำลังทำงานอยู่ รู้ว่า Grok กำลังทำงานอยู่ และรู้เป๊ะว่ากำลังเกิดอะไรขึ้นในแต่ละเซสชัน เช่นมันบอกว่า Claude ตอบคำถามเรื่องคะแนน MLB ถ้าดูตรงนี้ ผมกำลังค้นคว้าเรื่องคะแนนเบสบอลอยู่เหมือนกัน ส่วน Codex ผมถามเรื่องโรงแรมใน San Francisco และคุณเห็นว่า Codex ทำงานเสร็จหลังจากที่ให้ค้นคว้าเรื่องโรงแรม SFO คุณจึงสามารถใช้ agent หนึ่งไปควบคุมและประสานงานกับ agent ตัวอื่น ๆ ได้ในอินเทอร์เฟซเดียว ซึ่งเจ๋งมาก
คุณเห็นได้ว่าผมบอกว่า "ช่วงตอบคำถามที่ Codex ถามไว้ให้ดีที่สุดเท่าที่ทำได้" แล้วตอนนี้ Hermes ก็สามารถพูดคุยกับ Codex ได้แล้ว ผมไม่ได้เก็บรายละเอียดการเดินทางใด ๆ ไว้ มันเลยส่งสมมติฐานมาตรฐานที่สมเหตุสมผลให้ Codex — เห็นได้ว่าเกิดอะไรขึ้นในเซสชัน Codex ทั้งหมดนี้ผมไม่ได้เขียนเลย Hermes เป็นคนเขียนและใส่เข้าไปเอง คุณจึงสามารถให้ agent หนึ่งตอบและสื่อสารกับ agent ตัวอื่น ๆ ได้จากภายในที่เดียว จากนั้นเราก็จะเห็น Codex ตอบกลับ ฟีเจอร์นี้เจ๋งมากจริง ๆ โดยเฉพาะสำหรับพวกเราที่รัน agent หลายตัวบน agent harness ต่าง ๆ กัน
คุณยังสามารถสั่งได้อีกว่า "ช่วยเปิดเซสชัน Claude อีกอันได้ไหม" — เริ่มเซสชัน Claude ใหม่ สร้าง workspace ใหม่แล้วเปิด Claude ในนั้น และคุณเห็นได้ว่าภายใต้ฮู้ดมันใช้ Herdr CLI อยู่ แล้วก็เสร็จแล้ว — Claude 2 เด้งขึ้นมา เจ๋งดี ผมชอบที่มันดูลอยและมินิมัล ไม่มีขยะรกหูรกตา ก็แค่ workspace สะอาดตา คุณเห็นว่า Hermes ได้สร้าง herdr skill ขึ้นมา สวยดี และอันนี้ถูกจัดกลุ่มไว้ตรงนี้ แต่คุณยังสามารถจัดลำดับความสำคัญตามวัตถุประสงค์การใช้งานได้ด้วย คุณสามารถปิดมันไปเพื่อให้เห็นหน้าจอมากขึ้น และจะเห็นได้ว่ามีแค่ไอคอนเล็ก ๆ อยู่ด้านข้าง ดูดีมาก ปรับแต่งง่าย และอย่างที่บอก มันเน้นการใช้เมาส์เป็นหลัก ไม่ต้องนั่งพิมพ์คำสั่งใน CLI
ที่นี่ยังมี plugins marketplace บน herdr.dev — เป็นปลั๊กอินจากชุมชนทั้งหมด แต่ว่าชุมชนนี้กำลังสร้างสรรค์กันเยอะมาก เห็นได้ว่าตอนนี้มีถึง 307 ตัวแล้ว และบางตัวก็สนุกดี ก็เป็นปลั๊กอินจากชุมชน ดังนั้นต้องระวังไว้บ้างนะครับ แต่ผมอยากลองตัวนี้ — Herdr Flock วิธีการคือ `herder plugin install` แล้วตามด้วยชื่อเจ้าของและชื่อ repo พอติดตั้งเสร็จก็จะมีคำอธิบายการใช้งานที่นี่ คุณสามารถตั้งเป็น key binding ได้ แต่เรามาลองผ่าน CLI กันดีกว่า ตกลง พิมพ์คำสั่งนั้นเข้าไป แล้วเราก็จะมีตัวละครห้าตัวเพราะเรามี agent ห้าตัว ดูเหมือนจะให้ชื่อที่แตกต่างกันหมดเลย Pepper, Dolly — ก็ Pepper คือ Hermes agent ถ้าคลิกที่ตัวละครจะเห็นว่า Dolly คือ Claude, Pebble คือ agent Grok, Brown คือ Claude, Velvet คือ Codex ส่วน Velvet เป็น Codex เพราะ CEX น่ะ ใช่ไหม — แล้วทำไมมันถึงกำลังนอนอยู่ ลองดูสักหน่อย
ถ้าผมมอบหมายงานให้ใครสักคน — สมมติผมขอให้ Hermes บอกให้ agent Grok ไปค้นคว้า X หาข่าว AI ล่าสุด มาดูกัน โอ้ มันเปลี่ยนเป็นสีเหลืองเฉยเลย ตลกดี แปลว่ากำลังทำงานอยู่ ก็ไม่ได้มีประโยชน์มากสักเท่าไหร่ แต่ของแบบนี้มันสนุกดี แล้วในเซสชันเขียนโค้ดยาว ๆ การมีของเล่นสนุก ๆ แบบนี้ก็ช่วยให้ผ่านไปได้ง่ายขึ้น และคุณเห็นตรงนี้ว่า Hermes agent ส่งงานให้ agent Grok แล้วมันกำลังค้นหา X หาข่าว AI อยู่ตรงนี้ สนุกดีครับ
ภาพรวมแล้ว — ก่อนจะลองคิดว่าผมยังไม่แน่ใจเรื่องนี้นะ แต่พอได้ลองแล้ว ผมน่าจะใช้ต่อไป ผมชอบ UI ที่สะอาดตา ชอบที่มันเน้นการทำงานในเครื่องเป็นหลัก และเขาเพิ่งประกาศ — อยู่ไหนนะ — นี่ไง เขาเพิ่งประกาศว่าจะย้ายไปเป็น Apache 2.0 จึงกลายเป็นโอเพนซอร์สโดยสมบูรณ์ ใคร ๆ ก็ใช้ได้และต่อยอดได้โดยไม่ต้องกังวลเรื่องลิขสิทธิ์หรืออะไรแบบนั้น
โอ้ ตอนนี้กลายคืนแล้ว ก็ Pepper ซึ่งเป็น Hermes agent ยังคงทำงานอยู่ แต่ Pebble ซึ่งเป็น agent Grok ผมก็ทำวิจัยเสร็จแล้ว ก็เสร็จแล้ว ผมแค่สั่งงานตรง ๆ แต่คุณจะเห็นได้ว่าคุณสามารถเขียนสคริปต์เพื่อยกระดับการประสานงานแบบนี้ขึ้นไปอีกได้ เราได้ผลลัพธ์ที่ Grok รายงานกลับมาแล้ว เปิดโอกาสใหม่ ๆ ขึ้นมาเยอะมาก และถ้าคุณต้องการปิดเซสชันใดเซสชันหนึ่ง ก็คลิกขวาแล้วเลือก close pane ก็จบ
ยังมีอีกหลายอย่างที่ทำได้นะครับ เช่น split — ถ้าคุณต้องการแยกภายใน agent Grok ตัวเดียวกัน คุณสามารถมีเซสชันแยกใน pane ต่าง ๆ แบบนี้ได้ เริ่มต้นจะเป็น WSL แต่คุณเข้าไปใน Grok ได้ถ้าต้องการ และมันก็ไม่จำเป็นต้องเป็น agent ตัวเดียวกันด้วย เช่นผมมี Codex อยู่ตรงนี้ แต่ผมเปิด Claude เพิ่มได้ คุณก็จะมีทั้งสองตัวอยู่ข้างกัน หรือจะ split ลงด้านล่างก็ได้ ปรับแต่งได้ตามใจชอบเลยว่า workspace จะออกมาหน้าตาแบบไหน
สุดท้าย ถ้าคุณพร้อมจะปิดทุกอย่าง ทำเสร็จแล้ว ต้องการปิดทุกอย่าง ก็แค่พิมพ์ `her server stop` แล้วมันจะหยุดรันและออกจาก Herdr ให้
นี่คือ Herdr ครับ — การแนะนำและติดตั้งครั้งแรกของเรา สำรวจ UI และฟีเจอร์พื้นฐานสองสามอย่าง แต่ยังมีอีกเยอะที่เจาะลึกได้ และเขาก็ยังพัฒนาต่อไปเรื่อย ๆ เพราะเป็นเครื่องมือใหม่พอสมควร ผมต้องยอมรับว่าตอนเริ่มต้นผมแค่อยากลองเพราะมันน่าสนใจ เห็นคนพูดถึงบน Twitter เยอะมาก แต่พอได้ลองจริง ๆ ผมชอบเลยและคงจะใช้ต่อไป ในวิดีโอถัด ๆ ไปคุณอาจจะเห็นผมใช้ Herdr เพราะผมชอบ UI และฟังก์ชันการทำงานของมัน
แต่สำหรับวิดีโอนี้ก็ขอจบเพียงเท่านี้ครับ ฝากคอมเมนต์ด้วยนะครับ บอกได้เลยว่าประสบการณ์ของคุณเป็นอย่างไร ได้ลอง Herdr หรือ agent multiplexer อื่น ๆ หรือเปล่า ได้ลองแอปหรือซอฟต์แวร์สไตล์ tmux อะไรบ้าง ก็รบกวนแชร์ความคิดเห็นมาได้เลยนะครับ แล้วสำหรับวิดีโอนี้ก็จบเพียงเท่านี้ ขอบคุณที่รับชมครับ
หมายเหตุการแปล
ความโปร่งใสเกี่ยวกับความไม่แน่นอนในต้นฉบับ
- ### No `[ฟังไม่ชัด]` segments
อภิธานศัพท์เทคนิค
คำศัพท์และชื่อผลิตภัณฑ์ที่คงรูปภาษาอังกฤษ
| ศัพท์ | คำแปล / คำอธิบาย |
|---|---|
| Herdr | ชื่อผลิตภัณฑ์ agent multiplexer แบบโอเพนซอร์ส (เวอร์ชันออกเสียงจาก "Herder") |
| Agent Multiplexer | เครื่องมือจัดการ agent หลายตัวในเซสชันเดียว คล้ายกับ terminal multiplexer แต่ทำงานกับ coding agent |
| tmux | Terminal multiplexer ยอดนิยม — Herdr สร้างบนพื้นฐานของ tmux |
| Persistent PTY | เทอร์มินัลเสมือนที่คงอยู่ถาวร ไม่หายไปเมื่อปิดเทอร์มินัลหลัก |
| Socket API | ช่องทางการสื่อสารแบบโปรแกรมเชื่อมต่อ ที่ให้ agent ควบคุม Herdr ได้ |
| Hermes Agent | ชื่อ AI agent ของ Nous Research |
| Claude Code | เครื่องมือเขียนโค้ดอัตโนมัติจาก Anthropic |
| Claude | โมเดล/agent ของ Anthropic |
| Codex | เครื่องมือเขียนโค้ดอัตโนมัติจาก OpenAI |
| OpenCode | เครื่องมือเขียนโค้ดอัตโนมัติแบบโอเพนซอร์ส |
| Grok | โมเดล/agent ของ xAI |
| Rust binary | โปรแกรมคอมไพล์จากภาษา Rust — ใช้ไฟล์เดียว รันได้เร็ว |
| Server / Client | สถาปัตยกรรมที่แยก backend (server) กับหน้า UI (client) |
| TUI | Text-based User Interface — อินเทอร์เฟซแบบข้อความในเทอร์มินัล |
| GUI wrapper | โปรแกรมที่ครอบ CLI ด้วยหน้าต่างกราฟิก |
| Agent Harness | ตัวขับเคลื่อน/รันไทม์สำหรับ agent |
| Screen scraping | การอ่านข้อมูลจากหน้าจอโดยตรง — Herdr ไม่ใช้วิธีนี้ |
| SSH | Secure Shell — โปรโตคอลเชื่อมต่อระยะไกล |
| WSL | Windows Subsystem for Linux — เลเยอร์ Linux บน Windows |
| Warp | เทอร์มินัลสมัยใหม่ |
| Ghostty | เทอร์มินัลโอเพนซอร์ส |
| Termius | แอป SSH client บนมือถือ |
| Apache 2.0 | ลิขสิทธิ์โอเพนซอร์สที่อนุญาตให้ใช้และต่อยอดได้อย่างเสรี |
| Plugins Marketplace | ตลาดปลั๊กอินจากชุมชน |
| Herdr Flock | ปลั๊กอินที่แสดง agent ในรูปแบบตัวละครน่ารัก |
| Key binding | การกำหนดปุ่มลัดบนแป้นพิมพ์ |
| AgentWikis | โปรเจกต์ Wiki ของเจ้าของช่อง (agentwikis.com) |
| Pro account | บัญชีพรีเมียมราคา $9.99/เดือน |
| LM Wiki | คลังความรู้สำหรับ LM (Language Model) |
ซับไตเติ้ลภาษาไทย
ดาวน์โหลดหรือดูซับทั้งหมด
1 00:00:00,000 --> 00:00:04,485 ตอนนี้ผมกำลังทำงานอยู่ในเทอร์มินัลครับ ผมมี agent 2 00:00:04,485 --> 00:00:09,153 หลายตัวด้วยกัน มี Hermes agent ของผม มี Claude Code 3 00:00:09,153 --> 00:00:16,017 มี Grok agent อยู่สองสามตัว และก็มี Codex ด้วย ผมกำลังทำงานกับทุกตัวไปพร้อม 4 00:00:16,017 --> 00:00:21,692 ๆ กัน และทุกตัวก็กำลังรันอยู่ ผมเห็นได้ว่าตัวไหนกำลังทำงานอยู่
เปิดดูซับไตเติ้ลทั้งหมด (198 segments)
1 00:00:00,000 --> 00:00:04,485 ตอนนี้ผมกำลังทำงานอยู่ในเทอร์มินัลครับ ผมมี agent 2 00:00:04,485 --> 00:00:09,153 หลายตัวด้วยกัน มี Hermes agent ของผม มี Claude Code 3 00:00:09,153 --> 00:00:16,017 มี Grok agent อยู่สองสามตัว และก็มี Codex ด้วย ผมกำลังทำงานกับทุกตัวไปพร้อม 4 00:00:16,017 --> 00:00:21,692 ๆ กัน และทุกตัวก็กำลังรันอยู่ ผมเห็นได้ว่าตัวไหนกำลังทำงานอยู่ 5 00:00:21,692 --> 00:00:27,092 ตัวไหนติดอยู่และต้องการให้ผมช่วย ผมได้จัดเรียงแต่ละตัวไว้ใน 6 00:00:27,092 --> 00:00:34,140 pane และรูปแบบที่แตกต่างกัน โดยมี Hermes agent ตัวหนึ่งทำหน้าที่ควบคุมดูแลว่า 7 00:00:34,140 --> 00:00:41,828 agent ตัวอื่น ๆ กำลังทำอะไรอยู่ มันจึงไม่เพียงแต่เห็นสิ่งที่พวกมันกำลังทำได้เท่านั้น 8 00:00:41,828 --> 00:00:49,608 — คุณเห็นผลลัพธ์ได้จากตรงนี้ — แต่ยังสามารถสั่งงานและบอกได้ว่าต้องการให้ทำอะไรอีกด้วย 9 00:00:49,608 --> 00:00:55,649 และที่สำคัญที่สุดคือ ถ้าผมบังเอิญปิดเทอร์มินัลนี้ไปโดยไม่ได้ตั้งใจ 10 00:00:55,649 --> 00:01:00,134 ผมก็แค่กลับมาทำต่อจากที่ค้างไว้ได้ด้วยคำสั่งเดียว 11 00:01:00,134 --> 00:01:05,992 แล้ว agent ทั้งหมดของผมก็ยังคงรันอยู่ เซสชันก็ยังดำเนินต่อไปอยู่ 12 00:01:05,992 --> 00:01:11,483 ทั้งหมดนี้เป็นไปได้เพราะ agent multiplexer ตัวใหม่ที่ชื่อว่า 13 00:01:11,483 --> 00:01:15,877 Herdr ครับ ผมเริ่มเห็นคนพูดถึง repo ของ Herdr บน 14 00:01:15,877 --> 00:01:21,643 Twitter เยอะมาก นี่เป็นโปรเจกต์โอเพนซอร์สและมันดึงดูดความสนใจผม 15 00:01:21,643 --> 00:01:27,592 จากเดโมที่เห็นมาคิดว่าน่าสนใจดี ในวิดีโอนี้ผมก็เลยอยากจะอธิบายว่า 16 00:01:27,592 --> 00:01:37,020 Herdr คืออะไร ทำไมคุณถึงควรใช้มัน จากนั้นเราจะมาติดตั้งมันบนเครื่องของผมแล้วลองใช้ดูว่ามันทำอะไรได้บ้าง 17 00:01:37,020 --> 00:01:41,962 มาอธิบายกันก่อนว่ามันคืออะไร มันเป็น agent multiplexer 18 00:01:41,962 --> 00:01:46,630 อย่างที่บอก — Herdr กับ coding agent ก็เหมือนกับที่ 19 00:01:46,630 --> 00:01:51,847 tmux เป็นกับเทอร์มินัล มันเป็น Rust binary ตัวเดียวที่รัน 20 00:01:51,847 --> 00:01:57,431 agent ของคุณใน persistent PTY (เซสชันเทอร์มินัลที่คงอยู่ถาวร) 21 00:01:57,431 --> 00:02:04,478 แสดงสถานะของทุก agent ได้ในมุมมองเดียว คุณจะเห็นได้เลยว่าตัวไหนกำลังทำงานอยู่ 22 00:02:04,478 --> 00:02:12,350 ทำเสร็จแล้ว หรือติดอยู่ด้วยเหตุผลใด มันอยู่รอดจากการปิดเลปท็อปของคุณได้เพราะมันสร้างบน 23 00:02:12,350 --> 00:02:17,201 tmux และยังสามารถถูกควบคุมโดย agent ของคุณผ่าน socket 24 00:02:17,201 --> 00:02:21,686 API ได้อีกด้วย สิ่งที่ต้องจำไว้คือจะมีฝั่ง server 25 00:02:21,686 --> 00:02:26,079 ที่เป็นเจ้าของโพรเซสและรันอยู่เบื้องหลัง กับฝั่ง 26 00:02:26,079 --> 00:02:33,767 client ซึ่งก็คือ UI ที่คุณเชื่อมต่อเข้าไป การแยกแบบนี้แหละคือเหตุผลที่ทุกอย่างคงอยู่ 27 00:02:33,767 --> 00:02:38,527 นั่นคือสิ่งที่มันเป็น ส่วนนี่คือสิ่งที่มันไม่ใช่ครับ 28 00:02:38,527 --> 00:02:43,012 — มันไม่ใช่แอปเทอร์มินัล มันไม่ได้จะมาแทนที่ Warp 29 00:02:43,012 --> 00:02:47,405 หรือ Ghostty หรืออะไรก็ตามที่คุณใช้อยู่ทุกวันนี้ 30 00:02:47,405 --> 00:02:52,164 มันไม่ใช่ AI agent ในตัวของมันเอง มันไม่ได้เขียนโค้ด 31 00:02:52,164 --> 00:02:56,649 ไม่ใช่ agent harness (ตัวขับเคลื่อน agent) ไม่ใช่ 32 00:02:56,649 --> 00:03:01,683 GUI wrapper ครอบ agent และไม่ใช่ chat UI ที่ดัดแปลงใหม่ 33 00:03:01,683 --> 00:03:06,077 ความเจ็บปวดมันจริง — มันไม่ใช่บริการคลาวด์ คุณมี 34 00:03:06,077 --> 00:03:11,934 local binary และ local socket ทุกอย่างรันอยู่ในเครื่องของคุณผ่าน 35 00:03:11,934 --> 00:03:17,243 repo โอเพนซอร์สนี้ ส่วน remote หมายถึงเครื่องของคุณเองผ่าน 36 00:03:17,243 --> 00:03:21,728 SSH ไม่มีบริการคลาวด์เกี่ยวข้องเลย แต่แนวคิดก็คือ 37 00:03:21,728 --> 00:03:26,762 คุณใช้มันเมื่อคุณมีฝูงแกะ ไม่ใช่แกะตัวเดียว อย่างที่บอก 38 00:03:26,762 --> 00:03:31,979 สำหรับพวกเราที่รัน agent หลายตัวและหลายโปรเจกต์ไปพร้อมกัน 39 00:03:31,979 --> 00:03:37,471 เรามักจะต้องสลับไปมาระหว่างเทอร์มินัลเพื่อดูว่าตัวไหนติดอยู่ 40 00:03:37,471 --> 00:03:44,335 สำหรับงานที่รันนาน — อันนี้ใหญ่เลย — agent ควรจะต้องอยู่รอดจากการปิดเลปท็อป 41 00:03:44,335 --> 00:03:48,729 จาก SSH session ที่หลุด จากการรันค้างข้ามคืน และ 42 00:03:48,729 --> 00:03:54,770 agent ที่สั่งงาน agent อื่น — อันนี้เจ๋งมากและเป็นสิ่งที่ผมอยากลอง 43 00:03:54,770 --> 00:03:59,346 คุณสามารถมี agent หนึ่งควบคุมตัวอื่น ๆ ผ่าน socket 44 00:03:59,346 --> 00:04:04,746 API จริง ๆ โดยไม่ต้องมานั่ง screen scraping หรืออะไรแบบนั้น 45 00:04:04,746 --> 00:04:10,787 และมันมีประโยชน์ถ้าคุณใช้ tmux อยู่แล้ว เพราะมันก็คือความคงอยู่และ 46 00:04:10,787 --> 00:04:15,730 pane แบบเดียวกัน แค่เพิ่มการรับรู้ถึง agent ขึ้นมาด้วย 47 00:04:15,730 --> 00:04:21,770 ดังนั้นถ้าคุณใช้ tmux เป็นประจำอยู่แล้ว ก็ไม่เสียหายที่จะลองดูครับ 48 00:04:21,770 --> 00:04:26,896 แต่คุณไม่จำเป็นต้องใช้ถ้ามีแค่ agent เดียว โปรเจกต์เดียว 49 00:04:26,896 --> 00:04:31,472 และเซสชันสั้น ๆ — แค่เทอร์มินัลธรรมดาก็เพียงพอแล้ว 50 00:04:31,472 --> 00:04:36,232 คุณไม่ต้องมาล้อมแกะตัวเดียวหรอกครับ หรือถ้าคุณอยู่บน 51 00:04:36,232 --> 00:04:42,730 Windows เพียว ๆ ตอนนี้มันมีการรองรับ Windows อยู่บ้างในสถานะพรีวิวเบต้า 52 00:04:42,730 --> 00:04:47,490 แต่การพัฒนาหลักจะอยู่ที่ Linux และ macOS ผมมีเครื่อง 53 00:04:47,490 --> 00:04:52,341 Windows อยู่ที่นี่และอาจจะลองทำใน WSL ดู และถ้าคุณรัน 54 00:04:52,341 --> 00:04:58,473 agent เองและอยากเข้าถึง LM Wiki ที่ผมใช้ค้นคว้าและสร้างวิดีโอพวกนี้ 55 00:04:58,473 --> 00:05:03,141 ลองแวะไปดูโปรเจกต์ของผมที่ agentwikis.com ได้นะครับ 56 00:05:03,141 --> 00:05:09,548 ผมให้ Wiki ทั้งหมดนี้ฟรีในหัวข้อต่าง ๆ มากมาย และคุณก็สามารถสมัครบัญชี 57 00:05:09,548 --> 00:05:13,941 Pro ในราคา $9.99 ต่อเดือน ซึ่งจะให้สิทธิ์เข้าถึง 58 00:05:13,941 --> 00:05:20,074 Wiki ขนาดใหญ่พิเศษที่มีหน้ามากกว่าและรายละเอียดมากกว่าในแต่ละหัวข้อ 59 00:05:20,074 --> 00:05:25,382 กลับมาที่วิดีโอกันต่อครับ เอกสารประกอบมีข้อมูลเพิ่มเติมให้ 60 00:05:25,382 --> 00:05:31,149 มีคู่มือและอื่น ๆ ด้วย ตอนนี้ผมอยู่บน Windows นี่คือหน้าติดตั้ง 61 00:05:31,149 --> 00:05:35,542 เราจะลองทำผ่าน PowerShell ครับ นี่คือหน้าติดตั้ง 62 00:05:35,542 --> 00:05:41,034 แต่จริง ๆ ผมว่าจะลองทำใน WSL ก่อนเพราะเป็นเวอร์ชันเสถียรกว่า 63 00:05:41,034 --> 00:05:49,729 เราก็แค่รันคำสั่งเดียวซึ่งน่าจะติดตั้งให้ ตกลง ผมอยู่ในเทอร์มินัลธรรมดาและคุณเห็นได้ว่าผมอยู่ใน 64 00:05:49,729 --> 00:05:55,587 WSL ตอนนี้ นี่คือคำสั่งติดตั้ง เป็นอันเสร็จ ก็คงติดตั้งเสร็จแล้ว 65 00:05:55,587 --> 00:06:00,529 เร็วจัง รัน `her` เพื่อเริ่มต้นใช้งาน โอเค ก็น่าจะเป็น 66 00:06:00,529 --> 00:06:05,838 workspace นะครับ ผมจะสร้าง Hermes chat แล้วมันก็เด้งขึ้นมา 67 00:06:05,838 --> 00:06:10,231 โอ้ นี่ไง นี่คือ TUI (Text-based User Interface) 68 00:06:10,231 --> 00:06:14,991 มาลองรันเพิ่มอีกสักหน่อย เห็นไหมครับ — Claude ก็เด้ง 69 00:06:14,991 --> 00:06:21,032 pane ขึ้นมาฝั่งนี้ และอีกอย่างที่เขาพูดถึงคือมันเน้นการใช้เมาส์มาก 70 00:06:21,032 --> 00:06:26,615 ๆ คุณขยาย/ย่อ/จัดการทุกอย่างด้วยเมาส์ได้เลย และก็คลิกปุ่มต่าง 71 00:06:26,615 --> 00:06:30,917 ๆ ได้โดยตรงในเทอร์มินัลเลย ลองเปิด Codex ดูบ้าง 72 00:06:30,917 --> 00:06:35,585 คุณเห็นว่าเราอยู่ที่ Codex ตรงนี้ และถ้าคลิกที่เมนู 73 00:06:35,585 --> 00:06:40,069 มันจะมี settings, keybinds, reload config, detach 74 00:06:40,069 --> 00:06:46,202 มาดู settings กันครับ น่าสนใจดี นี่คือ theme คิดว่าตอนนี้เราอยู่ที่ 75 00:06:46,202 --> 00:06:50,778 — ไม่แน่ใจว่าออกเสียงยังไง — Capuchin, Tokyo Night 76 00:06:50,778 --> 00:06:55,629 อันนี้ดีนะ สว่างไปมั้ง ไม่รู้สิว่าบนจอของคุณจะดูยังไง 77 00:06:55,629 --> 00:07:00,297 Tokyo Night ก็ดี มีอะไรอีกบ้าง เสียง — ไม่เอาดีกว่า 78 00:07:00,297 --> 00:07:07,985 Toast — คือการแจ้งเตือนเล็ก ๆ คุณสามารถให้มันเด้งผ่านเทอร์มินัลหรือผ่านระบบหรือแค่ใน 79 00:07:07,985 --> 00:07:12,745 Herdr ก็ได้ ลองดูสักหน่อย "Show detected agent names 80 00:07:12,745 --> 00:07:17,870 in split" — ป้ายชื่อ agent ตรงขอบ pane ส่วน Integrations 81 00:07:17,870 --> 00:07:22,630 — คุณสามารถผสานรวมกับ agent ต่าง ๆ ซึ่งจะทำให้ agent 82 00:07:22,630 --> 00:07:27,298 รายงานสถานะได้โดยตรงแทนที่จะพึ่งแค่การตรวจจับโพรเซส 83 00:07:27,298 --> 00:07:32,698 คุณกด install เพื่อเพิ่ม integration ที่มีหรือที่ล้าสมัยได้ 84 00:07:32,698 --> 00:07:38,373 เห็นได้ว่ามีทั้ง Codex, Claude, OpenCode — น่าจะติดตั้งไว้แล้ว 85 00:07:38,373 --> 00:07:43,041 — และ Hermes ก็ติดตั้ง Codex, Claude ติดตั้ง Hermes 86 00:07:43,041 --> 00:07:48,441 เสร็จ ส่วน OpenCode ผมคงไม่มี แต่ก็ไม่เป็นไร ติดตั้งครบแล้ว 87 00:07:48,441 --> 00:07:52,743 ส่วน Experiments คือฟีเจอร์ที่เป็นทางเลือก เช่น 88 00:07:52,743 --> 00:07:57,502 pane screen history ตกลง ผม apply settings เรียบร้อย 89 00:07:57,502 --> 00:08:04,458 ผมเปิด Grok ด้วย ตอนนี้เรามี agent สี่ตัว นี่ก็เป็นการตั้งค่าที่คุ้นเคยของผม 90 00:08:04,458 --> 00:08:09,218 ถึงจะไม่ใช่สี่ตัวก็เตาะ ปกติมีแค่สอง ไม่ก็สาม ลองทัก 91 00:08:09,218 --> 00:08:13,611 Hermes agent ดู — คุณเห็นว่ามันเริ่มทำงาน และที่ 92 00:08:13,611 --> 00:08:19,469 Grok เห็น Hermes ทำเสร็จแล้ว — มันเด้งขึ้นมา ผมได้รับคำตอบที่นี่ 93 00:08:19,469 --> 00:08:25,876 และก็เห็นที่ Grok ด้วย มีแอนิเมชันเล็ก ๆ บอกได้ว่าตอนไหนกำลังทำงานอยู่ 94 00:08:25,876 --> 00:08:31,001 ฟีเจอร์หลักของเรื่องนี้อย่างที่บอกคือมันสร้างบนแนวคิดของ 95 00:08:31,001 --> 00:08:35,761 tmux ซึ่งก็คือความคงอยู่ ตรงนี้คือหน้าต่างเทอร์มินัล 96 00:08:35,761 --> 00:08:42,351 ขอโชว์ให้ดูครับ นี่ก็แค่เทอร์มินัลใช่ไหมครับ ไม่ใช่แอปแยกหรืออะไรแบบนั้น 97 00:08:42,351 --> 00:08:47,843 ถ้าผมปิดมันไป — ปกติคุณจะเสียเซสชันทั้งหมดเพราะผมปิดไปใช่ไหม 98 00:08:47,843 --> 00:08:52,785 — แต่ถ้าผมเปิดใหม่ที่นี่แล้วกลับเข้าไปใน WSL แล้วพิมพ์ 99 00:08:52,785 --> 00:08:58,460 `her` นี่ไงครับ แล้วเราก็อยู่ตรงที่ทิ้งไว้เป๊ะ ยังอยู่ในเซสชัน 100 00:08:58,460 --> 00:09:02,945 Grok ยังอยู่ในเซสชัน Hermes ขอให้ดูใหญ่ ๆ หน่อยนะ 101 00:09:02,945 --> 00:09:09,077 ทั้งหมดนี้ยังคงอยู่ ผมปิดเทอร์มินัลไปแล้วก็ยังได้การตั้งค่าเดิมเป๊ะ 102 00:09:09,077 --> 00:09:14,020 มันดีจริง ๆ ไม่ต้องมารีสตาร์ทเซสชันทั้งหมดใหม่ทุกครั้ง 103 00:09:14,020 --> 00:09:18,779 และถ้าคุณมีแอปอย่าง Termius หรือ SSH client บนมือถือ 104 00:09:18,779 --> 00:09:24,088 คุณก็ใช้ได้เลยถ้าเชื่อมต่อไว้กับเซิร์ฟเวอร์ในเครื่องของคุณ 105 00:09:24,088 --> 00:09:28,847 ก็แค่ SSH เข้ามาแล้วรัน `her` ก็จะได้แบบนี้เหมือนกัน 106 00:09:28,847 --> 00:09:33,149 คุณปรับแต่งได้เยอะมากครับ ด้านบนนี้มี pane ต่าง 107 00:09:33,149 --> 00:09:37,542 ๆ อยู่ ตัวอย่างเช่น อันนี้ที่ผมเปิดอยู่ใน Claude 108 00:09:37,542 --> 00:09:42,027 คุณเพิ่มอันใหม่ได้ที่นี่ มันจะเปิด WSL ขึ้นมาด้วย 109 00:09:42,027 --> 00:09:46,421 คุณเปลี่ยนชื่อ pane ได้ด้วย เช่นเปลี่ยนเป็น code 110 00:09:46,421 --> 00:09:51,180 แล้วกดบันทึก และก็ย้ายได้อยู่ — ตอนนี้ทั้งหมดอยู่ที่ 111 00:09:51,180 --> 00:09:58,319 root แต่คุณย้ายไป workspace อื่นได้ สิ่งที่เจ๋งมากเกี่ยวกับเรื่องนี้คือมันเปิด 112 00:09:58,319 --> 00:10:02,621 socket API นี้ออกมา เมื่อคุณตั้งค่า integration 113 00:10:02,621 --> 00:10:07,472 เรียบร้อยแล้ว — อย่างที่เราเพิ่งทำไป — ตอนนี้ผมอยู่ใน 114 00:10:07,472 --> 00:10:12,415 Hermes agent แล้วผมบอกว่า "ช่วยใช้ herdr skill ตรวจสอบ 115 00:10:12,415 --> 00:10:16,991 agent ตัวอื่น ๆ หน่อยได้ไหม" แล้วมันก็ทำให้ — จริง 116 00:10:16,991 --> 00:10:22,117 ๆ มันไม่ใช่ skill แต่มันเป็น integration ที่อนุญาตให้ใช้ 117 00:10:22,117 --> 00:10:29,256 Herdr ได้ มันจึงสามารถอ่านและเห็นได้ว่า agent ตัวอื่นในแท็บอื่นกำลังทำอะไรอยู่ 118 00:10:29,256 --> 00:10:34,381 รู้ว่า Claude กำลังทำงานอยู่ รู้ว่า Codex กำลังทำงานอยู่ 119 00:10:34,381 --> 00:10:40,788 รู้ว่า Grok กำลังทำงานอยู่ และรู้เป๊ะว่ากำลังเกิดอะไรขึ้นในแต่ละเซสชัน 120 00:10:40,788 --> 00:10:45,914 เช่นมันบอกว่า Claude ตอบคำถามเรื่องคะแนน MLB ถ้าดูตรงนี้ 121 00:10:45,914 --> 00:10:50,399 ผมกำลังค้นคว้าเรื่องคะแนนเบสบอลอยู่เหมือนกัน ส่วน 122 00:10:50,399 --> 00:10:55,250 Codex ผมถามเรื่องโรงแรมใน San Francisco และคุณเห็นว่า 123 00:10:55,250 --> 00:10:59,643 Codex ทำงานเสร็จหลังจากที่ให้ค้นคว้าเรื่องโรงแรม 124 00:10:59,643 --> 00:11:04,586 SFO คุณจึงสามารถใช้ agent หนึ่งไปควบคุมและประสานงานกับ 125 00:11:04,586 --> 00:11:09,071 agent ตัวอื่น ๆ ได้ในอินเทอร์เฟซเดียว ซึ่งเจ๋งมาก 126 00:11:09,071 --> 00:11:15,935 คุณเห็นได้ว่าผมบอกว่า "ช่วงตอบคำถามที่ Codex ถามไว้ให้ดีที่สุดเท่าที่ทำได้" 127 00:11:15,935 --> 00:11:20,420 แล้วตอนนี้ Hermes ก็สามารถพูดคุยกับ Codex ได้แล้ว 128 00:11:20,420 --> 00:11:27,834 ผมไม่ได้เก็บรายละเอียดการเดินทางใด ๆ ไว้ มันเลยส่งสมมติฐานมาตรฐานที่สมเหตุสมผลให้ 129 00:11:27,834 --> 00:11:34,332 Codex — เห็นได้ว่าเกิดอะไรขึ้นในเซสชัน Codex ทั้งหมดนี้ผมไม่ได้เขียนเลย 130 00:11:34,332 --> 00:11:38,817 Hermes เป็นคนเขียนและใส่เข้าไปเอง คุณจึงสามารถให้ 131 00:11:38,817 --> 00:11:44,583 agent หนึ่งตอบและสื่อสารกับ agent ตัวอื่น ๆ ได้จากภายในที่เดียว 132 00:11:44,583 --> 00:11:49,526 จากนั้นเราก็จะเห็น Codex ตอบกลับ ฟีเจอร์นี้เจ๋งมากจริง 133 00:11:49,526 --> 00:11:54,102 ๆ โดยเฉพาะสำหรับพวกเราที่รัน agent หลายตัวบน agent 134 00:11:54,102 --> 00:11:59,594 harness ต่าง ๆ กัน คุณยังสามารถสั่งได้อีกว่า "ช่วยเปิดเซสชัน 135 00:11:59,594 --> 00:12:04,353 Claude อีกอันได้ไหม" — เริ่มเซสชัน Claude ใหม่ สร้าง 136 00:12:04,353 --> 00:12:10,669 workspace ใหม่แล้วเปิด Claude ในนั้น และคุณเห็นได้ว่าภายใต้ฮู้ดมันใช้ 137 00:12:10,669 --> 00:12:15,428 Herdr CLI อยู่ แล้วก็เสร็จแล้ว — Claude 2 เด้งขึ้นมา 138 00:12:15,428 --> 00:12:20,005 เจ๋งดี ผมชอบที่มันดูลอยและมินิมัล ไม่มีขยะรกหูรกตา 139 00:12:20,005 --> 00:12:24,581 ก็แค่ workspace สะอาดตา คุณเห็นว่า Hermes ได้สร้าง 140 00:12:24,581 --> 00:12:29,524 herdr skill ขึ้นมา สวยดี และอันนี้ถูกจัดกลุ่มไว้ตรงนี้ 141 00:12:29,524 --> 00:12:35,290 แต่คุณยังสามารถจัดลำดับความสำคัญตามวัตถุประสงค์การใช้งานได้ด้วย 142 00:12:35,290 --> 00:12:41,880 คุณสามารถปิดมันไปเพื่อให้เห็นหน้าจอมากขึ้น และจะเห็นได้ว่ามีแค่ไอคอนเล็ก 143 00:12:41,880 --> 00:12:46,456 ๆ อยู่ด้านข้าง ดูดีมาก ปรับแต่งง่าย และอย่างที่บอก 144 00:12:46,456 --> 00:12:51,124 มันเน้นการใช้เมาส์เป็นหลัก ไม่ต้องนั่งพิมพ์คำสั่งใน 145 00:12:51,124 --> 00:12:55,518 CLI ที่นี่ยังมี plugins marketplace บน herdr.dev 146 00:12:55,518 --> 00:13:01,833 — เป็นปลั๊กอินจากชุมชนทั้งหมด แต่ว่าชุมชนนี้กำลังสร้างสรรค์กันเยอะมาก 147 00:13:01,833 --> 00:13:06,501 เห็นได้ว่าตอนนี้มีถึง 307 ตัวแล้ว และบางตัวก็สนุกดี 148 00:13:06,501 --> 00:13:11,261 ก็เป็นปลั๊กอินจากชุมชน ดังนั้นต้องระวังไว้บ้างนะครับ 149 00:13:11,261 --> 00:13:15,928 แต่ผมอยากลองตัวนี้ — Herdr Flock วิธีการคือ `herder 150 00:13:15,928 --> 00:13:20,505 plugin install` แล้วตามด้วยชื่อเจ้าของและชื่อ repo 151 00:13:20,505 --> 00:13:26,088 พอติดตั้งเสร็จก็จะมีคำอธิบายการใช้งานที่นี่ คุณสามารถตั้งเป็น 152 00:13:26,088 --> 00:13:30,665 key binding ได้ แต่เรามาลองผ่าน CLI กันดีกว่า ตกลง 153 00:13:30,665 --> 00:13:35,973 พิมพ์คำสั่งนั้นเข้าไป แล้วเราก็จะมีตัวละครห้าตัวเพราะเรามี 154 00:13:35,973 --> 00:13:40,458 agent ห้าตัว ดูเหมือนจะให้ชื่อที่แตกต่างกันหมดเลย 155 00:13:40,458 --> 00:13:46,773 Pepper, Dolly — ก็ Pepper คือ Hermes agent ถ้าคลิกที่ตัวละครจะเห็นว่า 156 00:13:46,773 --> 00:13:51,350 Dolly คือ Claude, Pebble คือ agent Grok, Brown คือ 157 00:13:51,350 --> 00:13:55,652 Claude, Velvet คือ Codex ส่วน Velvet เป็น Codex 158 00:13:55,652 --> 00:14:00,137 เพราะ CEX น่ะ ใช่ไหม — แล้วทำไมมันถึงกำลังนอนอยู่ 159 00:14:00,137 --> 00:14:05,171 ลองดูสักหน่อย ถ้าผมมอบหมายงานให้ใครสักคน — สมมติผมขอให้ 160 00:14:05,171 --> 00:14:10,022 Hermes บอกให้ agent Grok ไปค้นคว้า X หาข่าว AI ล่าสุด 161 00:14:10,022 --> 00:14:16,154 มาดูกัน โอ้ มันเปลี่ยนเป็นสีเหลืองเฉยเลย ตลกดี แปลว่ากำลังทำงานอยู่ 162 00:14:16,154 --> 00:14:21,097 ก็ไม่ได้มีประโยชน์มากสักเท่าไหร่ แต่ของแบบนี้มันสนุกดี 163 00:14:21,097 --> 00:14:28,236 แล้วในเซสชันเขียนโค้ดยาว ๆ การมีของเล่นสนุก ๆ แบบนี้ก็ช่วยให้ผ่านไปได้ง่ายขึ้น 164 00:14:28,236 --> 00:14:32,629 และคุณเห็นตรงนี้ว่า Hermes agent ส่งงานให้ agent 165 00:14:32,629 --> 00:14:37,755 Grok แล้วมันกำลังค้นหา X หาข่าว AI อยู่ตรงนี้ สนุกดีครับ 166 00:14:37,755 --> 00:14:42,514 ภาพรวมแล้ว — ก่อนจะลองคิดว่าผมยังไม่แน่ใจเรื่องนี้นะ 167 00:14:42,514 --> 00:14:47,182 แต่พอได้ลองแล้ว ผมน่าจะใช้ต่อไป ผมชอบ UI ที่สะอาดตา 168 00:14:47,182 --> 00:14:52,308 ชอบที่มันเน้นการทำงานในเครื่องเป็นหลัก และเขาเพิ่งประกาศ 169 00:14:52,308 --> 00:14:56,792 — อยู่ไหนนะ — นี่ไง เขาเพิ่งประกาศว่าจะย้ายไปเป็น 170 00:14:56,792 --> 00:15:01,186 Apache 2.0 จึงกลายเป็นโอเพนซอร์สโดยสมบูรณ์ ใคร ๆ 171 00:15:01,186 --> 00:15:07,135 ก็ใช้ได้และต่อยอดได้โดยไม่ต้องกังวลเรื่องลิขสิทธิ์หรืออะไรแบบนั้น 172 00:15:07,135 --> 00:15:11,437 โอ้ ตอนนี้กลายคืนแล้ว ก็ Pepper ซึ่งเป็น Hermes 173 00:15:11,437 --> 00:15:16,105 agent ยังคงทำงานอยู่ แต่ Pebble ซึ่งเป็น agent Grok 174 00:15:16,105 --> 00:15:20,498 ผมก็ทำวิจัยเสร็จแล้ว ก็เสร็จแล้ว ผมแค่สั่งงานตรง 175 00:15:20,498 --> 00:15:28,095 ๆ แต่คุณจะเห็นได้ว่าคุณสามารถเขียนสคริปต์เพื่อยกระดับการประสานงานแบบนี้ขึ้นไปอีกได้ 176 00:15:28,095 --> 00:15:32,855 เราได้ผลลัพธ์ที่ Grok รายงานกลับมาแล้ว เปิดโอกาสใหม่ 177 00:15:32,855 --> 00:15:37,797 ๆ ขึ้นมาเยอะมาก และถ้าคุณต้องการปิดเซสชันใดเซสชันหนึ่ง 178 00:15:37,797 --> 00:15:43,838 ก็คลิกขวาแล้วเลือก close pane ก็จบ ยังมีอีกหลายอย่างที่ทำได้นะครับ 179 00:15:43,838 --> 00:15:49,055 เช่น split — ถ้าคุณต้องการแยกภายใน agent Grok ตัวเดียวกัน 180 00:15:49,055 --> 00:15:54,455 คุณสามารถมีเซสชันแยกใน pane ต่าง ๆ แบบนี้ได้ เริ่มต้นจะเป็น 181 00:15:54,455 --> 00:16:00,221 WSL แต่คุณเข้าไปใน Grok ได้ถ้าต้องการ และมันก็ไม่จำเป็นต้องเป็น 182 00:16:00,221 --> 00:16:04,523 agent ตัวเดียวกันด้วย เช่นผมมี Codex อยู่ตรงนี้ 183 00:16:04,523 --> 00:16:09,649 แต่ผมเปิด Claude เพิ่มได้ คุณก็จะมีทั้งสองตัวอยู่ข้างกัน 184 00:16:09,649 --> 00:16:14,591 หรือจะ split ลงด้านล่างก็ได้ ปรับแต่งได้ตามใจชอบเลยว่า 185 00:16:14,591 --> 00:16:20,266 workspace จะออกมาหน้าตาแบบไหน สุดท้าย ถ้าคุณพร้อมจะปิดทุกอย่าง 186 00:16:20,266 --> 00:16:25,117 ทำเสร็จแล้ว ต้องการปิดทุกอย่าง ก็แค่พิมพ์ `her server 187 00:16:25,117 --> 00:16:29,510 stop` แล้วมันจะหยุดรันและออกจาก Herdr ให้ นี่คือ 188 00:16:29,510 --> 00:16:34,178 Herdr ครับ — การแนะนำและติดตั้งครั้งแรกของเรา สำรวจ 189 00:16:34,178 --> 00:16:39,670 UI และฟีเจอร์พื้นฐานสองสามอย่าง แต่ยังมีอีกเยอะที่เจาะลึกได้ 190 00:16:39,670 --> 00:16:45,162 และเขาก็ยังพัฒนาต่อไปเรื่อย ๆ เพราะเป็นเครื่องมือใหม่พอสมควร 191 00:16:45,162 --> 00:16:50,013 ผมต้องยอมรับว่าตอนเริ่มต้นผมแค่อยากลองเพราะมันน่าสนใจ 192 00:16:50,013 --> 00:16:54,406 เห็นคนพูดถึงบน Twitter เยอะมาก แต่พอได้ลองจริง ๆ 193 00:16:54,406 --> 00:16:59,623 ผมชอบเลยและคงจะใช้ต่อไป ในวิดีโอถัด ๆ ไปคุณอาจจะเห็นผมใช้ 194 00:16:59,623 --> 00:17:07,495 Herdr เพราะผมชอบ UI และฟังก์ชันการทำงานของมัน แต่สำหรับวิดีโอนี้ก็ขอจบเพียงเท่านี้ครับ 195 00:17:07,495 --> 00:17:13,078 ฝากคอมเมนต์ด้วยนะครับ บอกได้เลยว่าประสบการณ์ของคุณเป็นอย่างไร 196 00:17:13,078 --> 00:17:17,837 ได้ลอง Herdr หรือ agent multiplexer อื่น ๆ หรือเปล่า 197 00:17:17,837 --> 00:17:24,976 ได้ลองแอปหรือซอฟต์แวร์สไตล์ tmux อะไรบ้าง ก็รบกวนแชร์ความคิดเห็นมาได้เลยนะครับ 198 00:17:24,976 --> 00:17:29,919 แล้วสำหรับวิดีโอนี้ก็จบเพียงเท่านี้ ขอบคุณที่รับชมครับ