Zev: เครื่องมือคำสั่งเทอร์มินัลด้วยภาษาธรรมชาติที่กำลังได้รับความนิยมในหมู่นักพัฒนา

BigGo Editorial Team
Zev: เครื่องมือคำสั่งเทอร์มินัลด้วยภาษาธรรมชาติที่กำลังได้รับความนิยมในหมู่นักพัฒนา

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

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

Zev ทำงานอย่างไร

Zev ทำงานในสองโหมดที่แตกต่างกัน: โหมดโต้ตอบและโหมดคำถามโดยตรง ในโหมดโต้ตอบ ผู้ใช้เพียงแค่พิมพ์ zev แล้วอธิบายสิ่งที่ต้องการทำ สำหรับการทำงานที่รวดเร็วกว่า วิธีการสอบถามโดยตรงช่วยให้ผู้ใช้สามารถเพิ่มคำขอของพวกเขาโดยตรงไปยังคำสั่ง เช่น zev 'show disk usage for current directory' จากนั้นเครื่องมือจะใช้ AI เพื่อสร้างตัวเลือกคำสั่งที่เกี่ยวข้อง

สิ่งที่ทำให้ Zev แตกต่างจากยูทิลิตี้ที่คล้ายกันคือการนำเสนอตัวเลือกคำสั่งหลายตัวแทนที่จะดำเนินการโดยอัตโนมัติด้วยตัวเลือกเดียว วิธีนี้ช่วยแก้ไขความกำกวมในคำขอภาษาธรรมชาติและเก็บรักษาคำสั่งในประวัติเชลล์สำหรับการอ้างอิงในอนาคต

ผมชอบมากที่มันให้ตัวเลือกหลายตัวให้เลือก

การติดตั้งและการใช้งาน Zev

การติดตั้ง:

pip install zev

ตัวเลือกการใช้งาน:

  • โหมดโต้ตอบ: zev
  • คำสั่งโดยตรง: zev '<สิ่งที่คุณต้องการทำ>'

ตัวอย่างคำสั่ง:

  • zev 'show all running python processes'
  • zev 'find all .py files modified in the last 24 hours'
  • zev 'show disk usage for current directory'
  • zev 'check if google.com is reachable'
  • zev 'show uncommitted changes in git'

ตัวเลือก AI Backend:

  • OpenAI API (ค่าเริ่มต้น)
  • Ollama (โมเดลแบบติดตั้งในเครื่อง)

การผสานกับ AI ทั้งแบบโลคอลและคลาวด์

ในขณะที่ Zev ใช้ OpenAI API เป็นค่าเริ่มต้น ซึ่งต้องให้ผู้ใช้ให้ API key ของตัวเองระหว่างการตั้งค่า มันยังรองรับการทำงานร่วมกับ Ollama สำหรับผู้ที่ต้องการให้ทุกอย่างทำงานในเครื่องท้องถิ่น ความยืดหยุ่นนี้ช่วยให้นักพัฒนาสามารถเลือกระหว่างบริการ AI บนคลาวด์หรือโมเดลในเครื่องอย่าง llama3.2 ซึ่งตอบสนองทั้งความสะดวกและความกังวลเรื่องความเป็นส่วนตัว

ขั้นตอนการตั้งค่านั้นไม่ซับซ้อน โดยผู้ใช้ต้องรัน zev --setup และกำหนดค่า AI backend ที่ต้องการ อย่างไรก็ตาม ผู้ใช้บางรายรายงานว่าพบความท้าทายในการกำหนดค่าเมื่อใช้ Ollama ซึ่งบ่งชี้ว่าการผสานอาจยังต้องการการปรับปรุง

การตอบรับจากชุมชนและแนวทางอื่นๆ

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

แนวทางที่ได้รับความนิยมอย่างมากประกอบด้วย:

  1. การจัดเก็บประวัติเชลล์แบบขยาย (ผู้ใช้บางรายรายงานว่ามีประวัติมากกว่า 60,000 บรรทัด)
  2. การเพิ่มคำอธิบายให้กับคำสั่งโดยใช้คอมเมนต์ (# tags)
  3. การนำทางด้วยการค้นหาแบบฟัซซี่โดยใช้เครื่องมืออย่าง fzf

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

แผนการพัฒนา

ผู้สร้าง Zev ได้ยอมรับถึงข้อจำกัดบางประการในปัจจุบัน รวมถึงปัญหาการจัดการการพึ่งพาและความจำเป็นในการปรับปรุงวิธีที่เครื่องมือจัดการกับตัวแปรสภาพแวดล้อม สิ่งเหล่านี้ถูกกำหนดให้มีการปรับปรุงในรุ่นต่อๆ ไป

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

อ้างอิง: zev