argot: รั้วกันตก MCP ท้องถิ่นและเครื่องมือการตรวจสอบสำหรับโค้ดที่สร้างโดย AI
argot ซึ่งพัฒนาโดย Get Tmonier เป็นเซิร์ฟเวอร์ Model Context Protocol แบบโอเพนซอร์สที่ทำหน้าที่เป็นรั้วป้องกันสำหรับโค้ดที่เขียนโดย AI เครื่องมือนี้สร้างโมเดลทางสถิติจากประวัติ git ของที่เก็บข้อมูลเพื่อตรวจจับโค้ด 'ต่างประเทศ' และเปิดเผยเครื่องมือ MCP เช่น voice_context และ check เพื่อให้ตัวแทน AI สามารถเขียนในสไตล์ของที่เก็บข้อมูลได้ มันทำงานเป็นไบนารี Rust ที่เชื่อมโยงแบบสถิตพร้อมกับตัวเชื่อม tree-sitter โดยมุ่งเป้าไปที่นักพัฒนาและทีมวิศวกรรมที่ใช้ผู้ช่วยการเขียนโค้ด AI.
เครื่องมือบังคับเสียงการเขียนโค้ดของที่เก็บสำหรับการมีส่วนร่วมที่สร้างโดย AI
เครื่องมือจำลองรูปแบบประวัติศาสตร์ของที่เก็บ โดยการวิเคราะห์ประวัติ git และโครงสร้าง AST เพื่อตัดสินว่าโค้ดที่สร้างขึ้นเหมาะสมกับฐานโค้ดที่มีอยู่หรือไม่ มันระบุการเบี่ยงเบนที่ชัดเจน เช่น การพึ่งพาที่ไม่รู้จัก, ตัวช่วยที่ซ้ำซ้อน, หรือการจัดชั้นที่แตกหัก ตัวอย่างของรายการที่ถูกตั้งธงรวมถึง:
- การพึ่งพาที่ไม่เคยใช้ในที่เก็บ
- ฟังก์ชันที่ทำซ้ำยูทิลิตี้ที่มีอยู่
- การเรียกที่ละเมิดขอบเขตโมดูลที่ตั้งไว้
การให้คะแนนเน้นความสอดคล้องทางสถิติแทนการตรวจสอบตาม LLM
เครื่องมือให้คะแนนโค้ดที่สร้างขึ้นโดยใช้โมเดลทางสถิติและรูปแบบ AST แทนที่จะสอบถามโมเดลภาษาที่สอง ซึ่งช่วยกำจัดเวกเตอร์การหลอกลวงเพิ่มเติม วิธีการให้คะแนนนั้นทำให้ผลลัพธ์สะท้อนความถี่และรูปแบบของที่เก็บ ไม่ใช่ความถูกต้องที่แน่นอน; การออกแบบที่แปลกแต่ถูกต้องอาจได้คะแนนต่ำหากมันหายากในประวัติศาสตร์ โหมดการตรวจสอบช่วยให้ทีมตรวจสอบสิ่งที่ AI ได้แนะนำไปแล้วก่อนที่จะบังคับให้มีการเปลี่ยนแปลง
การวิเคราะห์ทั้งหมดทำงานในเครื่องและรวมเข้ากับโฮสต์ MCP และ CI
เครื่องมือถูกจัดส่งเป็นไฟล์ Rust แบบลิงก์สถิตเพียงไฟล์เดียวโดยไม่มีการพึ่งพาในระหว่างการทำงานหรือการตรวจสอบข้อมูล ดังนั้นการวิเคราะห์จึงดำเนินการบนเครื่องของนักพัฒนา มันเข้ากันได้กับโฮสต์ MCP เช่น Claude Desktop และเสนอเส้นทางการติดตั้ง npm/npx ที่ต้องการ Node.js สำหรับการทำงานอัตโนมัติ มันส่งออก JSON และ SARIF ซึ่งเหมาะสมกับท่อการสแกนโค้ด CI ที่มีอยู่
เหมาะสำหรับทีมที่ใช้ผู้ช่วย AI แต่ขึ้นอยู่กับประวัติที่เป็นตัวแทนและโมเดลการบำรุงรักษา
ทีมที่จับคู่ผู้ช่วยการเขียนโค้ด AI กับการตรวจสอบที่ตระหนักถึงที่เก็บจะได้รับสัญญาณที่สามารถทำซ้ำได้เมื่อโค้ดที่สร้างขึ้นออกจากขนบธรรมเนียมท้องถิ่น เครื่องมือให้บริบทก่อนการสร้างแก่ตัวแทนและการตรวจสอบที่ไม่มีการตั้งค่าใด ๆ สำหรับที่เก็บที่มีอยู่ แต่ประสิทธิภาพของมันขึ้นอยู่กับประวัติ git ที่เป็นตัวแทน โครงการนี้ได้รับการบำรุงรักษาโดยนักพัฒนาในฐานะความพยายามของบุคคลเดียว ซึ่งอาจมีอิทธิพลต่อการสนับสนุนและระยะเวลาในการขยายสำหรับองค์กรที่ใหญ่กว่า
ทางเลือกที่เหมาะสมสำหรับทีมที่ต้องการแนวทางที่มีพื้นฐานจากที่เก็บข้อมูลเกี่ยวกับการแก้ไข AI
เครื่องมือนี้เป็นตัวเลือกที่เป็นรูปธรรมสำหรับทีมวิศวกรรมที่ต้องการสัญญาณอัตโนมัติที่มีพื้นฐานจากที่เก็บข้อมูลเกี่ยวกับการมีส่วนร่วมของ AI ถือคะแนนของมันเป็นแนวทางตามบริบทมากกว่าความถูกต้องที่แน่นอน และรวมเข้ากับการตรวจสอบโดยมนุษย์เมื่อการเปลี่ยนแปลงมีผลต่อสถาปัตยกรรมหรือความปลอดภัย ทดลองใช้กับกลุ่มโมดูลย่อยเพื่อปรับเกณฑ์และยืนยันว่ารายการที่ถูกทำเครื่องหมายสะท้อนนโยบายจริงก่อนที่จะบังคับใช้ประตูอัตโนมัติ.
