Agent Shell นำผู้ช่วยเขียนโค้ด AI เข้ามาใน Emacs โดยตรง

ทีมชุมชน BigGo
Agent Shell นำผู้ช่วยเขียนโค้ด AI เข้ามาใน Emacs โดยตรง

โลกของผู้ช่วยเขียนโค้ดที่ขับเคลื่อนด้วย AI กำลังพัฒนาอย่างรวดเร็ว แต่หลายครั้งนักพัฒนาต้องเผชิญกับการใช้เครื่องมือหลายอย่างผ่านอินเทอร์เฟซที่แตกต่างกัน โซลูชันใหม่ที่ชื่อว่า agent-shell กำลังเปลี่ยนแนวทางนี้ด้วยการนำเอเยนต์ AI ต่างๆ เข้ามาสู่สภาพแวดล้อม Emacs ที่คุ้นเคยผ่านโปรโตคอลมาตรฐาน

เทอร์มินัลที่แสดงการแก้ไขโค้ดและการโต้ตอบกับเครื่องมือ Gemini Agent เน้นย้ำการผสานรวม AI ใน Emacs
เทอร์มินัลที่แสดงการแก้ไขโค้ดและการโต้ตอบกับเครื่องมือ Gemini Agent เน้นย้ำการผสานรวม AI ใน Emacs

การผสานรวมเครื่องมือพัฒนาที่ขับเคลื่อนด้วย AI อย่างราบรื่น

Agent-shell ถือเป็นก้าวสำคัญของการผสานรวมเครื่องมือสำหรับนักพัฒนา สร้างขึ้นบน Agent Client Protocol (ACP) ซึ่งเป็นการร่วมมือระหว่างวิศวกรจาก Zed และ Google แพ็กเกจ Emacs นี้ช่วยลดความยุ่งยากในการสลับระหว่างเทอร์มินัลเอมูเลเตอร์และโปรแกรมแก้ไขข้อความ การตอบรับจากชุมชนเป็นไปในทางบวกอย่างมาก โดยผู้ใช้ระบุว่าประสบการณ์ที่ได้รู้สึกเป็นธรรมชาติเมื่อเทียบกับโซลูชันก่อนหน้านี้

Agent shell คือสิ่งที่ฉันต้องการมาตลอด ฉันเคยใช้แพ็กเกจต่างๆ มากมายสำหรับ Claude code และพวกมันก็ดีจริงๆ แต่ก็มักจะมีอุปสรรคบางอย่างเพราะฉันต้องเรียกใช้มันในเทอร์มินัลเอมูเลเตอร์ ด้วย agent shell มันรู้สึกว่าถูกผสานรวมและเป็นธรรมชาติกว่ามาก

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

คุณสมบัติหลัก:

  • การผสานรวมแบบเนทีฟกับ Emacs โดยใช้ comint-mode
  • บัฟเฟอร์ตรวจสอบทราฟฟิกสำหรับการดีบัก
  • ระบบ fake agent สำหรับการพัฒนาโดยไม่ต้องเสียค่าใช้จ่าย API
  • การออกแบบที่ไม่ขึ้นกับเอเจนต์ใดเอเจนต์หนึ่งผ่านโปรโตคอล ACP
  • ประสบการณ์ผู้ใช้ที่สม่ำเสมอในโมเดล AI ที่แตกต่างกัน
อินเทอร์เฟซเทอร์มินัลที่กำลังรันคำสั่งเพื่อวิเคราะห์ประวัติการคอมมิต แสดงให้เห็นประสบการณ์การใช้งานแบบผสานรวมกับ agent-shell ใน Emacs
อินเทอร์เฟซเทอร์มินัลที่กำลังรันคำสั่งเพื่อวิเคราะห์ประวัติการคอมมิต แสดงให้เห็นประสบการณ์การใช้งานแบบผสานรวมกับ agent-shell ใน Emacs

ความเป็นเอเจนต์อเนกประสงค์ที่ขับเคลื่อนด้วยโปรโตคอล

หนึ่งในแง่มุมที่ทรงพลังที่สุดของ agent-shell คือแนวทางที่ไม่ยึดติดกับเอเยนต์ตัวใดตัวหนึ่ง ด้วยมาตรฐาน ACP ทำให้นักพัฒนาสามารถกำหนดค่าเอเยนต์ AI หลายตัวผ่านอินเทอร์เฟซเดียวที่สม่ำเสมอ แพ็กเกจนี้ปัจจุบันรองรับ Claude Code, Gemini CLI, Codex และ Goose โดยมีศักยภาพที่จะทำงานร่วมกับเอเยนต์ใดๆ ที่เป็นไปตามมาตรฐาน ACP

การกำหนดค่าเกี่ยวข้องกับฟังก์ชัน Emacs Lisp ง่ายๆ ที่ระบุอินเทอร์เฟซบรรทัดคำสั่งและการรับรองความถูกต้องสำหรับแต่ละเอเยนต์ การทำให้เป็นมาตรฐานนี้หมายความว่าผู้ใช้ไม่ต้องผูกติดกับผู้ให้บริการ AI รายเดียวและสามารถสลับระหว่างโมเดลต่างๆ ได้อย่างง่ายดายตามความต้องการหรือความชอบเฉพาะด้าน แนวทางที่ใช้โปรโตคอลยังเปิดโอกาสให้เครื่องมือ AI ในอนาคตสามารถผสานรวมเข้ากับระบบนิเวศที่มีอยู่ได้อย่างราบรื่น

AI Agents ที่รองรับใน agent-shell:

  • Claude Code
  • Gemini CLI
  • Codex
  • Goose
  • Agent ใดก็ตามที่สอดคล้องกับมาตรฐาน ACP

นวัตกรรมการพัฒนาและทิศทางในอนาคต

การพัฒนา agent-shell ได้นำเสนอวิธีแก้ไขปัญหาทั่วไปในการพัฒนาเครื่องมือ AI อย่างชาญฉลาดหลายประการ คุณสมบัติ traffic buffer อนุญาตให้นักพัฒนาตรวจสอบการสื่อสาร JSON ระหว่าง Emacs และเอเยนต์ AI ได้ ทำให้การดีบักและความเข้าใจในโปรโตคอลง่ายขึ้นอย่างมีนัยสำคัญ ที่น่าทึ่งยิ่งกว่าคือ แพ็กเกจนี้รวมถึงระบบเอเยนต์ปลอมที่เล่นเซสชันที่บันทึกไว้ใหม่ ช่วยให้สามารถพัฒนาต่อไปได้โดยไม่ต้องเสียค่าใช้ API ที่มีราคาแพงหรือรอการตอบสนองจากโมเดลที่ช้า

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

ในขณะที่ภูมิทัศน์ของผู้ช่วยเขียนโค้ด AI ยังคงพัฒนาต่อไป เครื่องมืออย่าง agent-shell ได้แสดงให้เห็นถึงความสำคัญของการผสานรวมอย่างราบรื่นเข้ากับเวิร์กโฟลว์เดิมของนักพัฒนา โปรโตคอล ACP แสดงถึงความพยายามในการสร้างมาตรฐานที่สำคัญซึ่งอาจกำหนดรูปแบบวิธีการโต้ตอบของนักพัฒนากับเครื่องมือ AI ข้ามโปรแกรมแก้ไขและแพลตฟอร์มต่างๆ ในอนาคต

อ้างอิง: Introducing Emacs agent-shell (powered by ACP)