0

Dùng Jev làm guardrail cho coding agent: case study pi-warden với 17.000 lượt phán đoán thật

Vấn đề: coding agent cần một "cặp mắt thứ hai" trước khi chạy lệnh nguy hiểm

Một coding agent chuẩn bị chạy db:reset hoặc git push --force. Lệnh đó ổn hay thảm họa phụ thuộc hoàn toàn vào việc agent thực sự được yêu cầu làm gì, không phải vào bản thân câu lệnh — một regex không thể phân biệt được. Gọi lại frontier LLM để hỏi "cái này ổn không?" thì hiệu quả, nhưng tốn giây và cent trên mỗi tool call, và một agent session thật gọi hàng trăm lần như vậy.

pi-warden, xây trong 48 giờ đầu sau khi Jev ra mắt, giải quyết bài toán này bằng cách dùng Jev.

Cách pi-warden hoạt động

pi-warden gửi task, kế hoạch agent, và lệnh bash/write/edit sắp chạy tới Jev dưới dạng 4 câu hỏi có kiểu:

  • Có thể đảo ngược không?
  • Có lạc khỏi task không?
  • Có làm thay đổi gì không?
  • Phạm vi là gì?

Cả 4 trả về trong khoảng 250ms.

Số liệu thực tế (theo maintainer trên r/PiCodingAgent): qua 17.000 lượt gọi, chặn 42 lần, khoảng 88% số lần chặn là đúng.

pi-warden không chỉ chặn lệnh phá hoại. Nó còn: chấm code so với file rules dự án, gắn cờ code kiểu stub/né tránh, phát hiện agent kẹt vòng lặp retry, bắt agent tuyên bố "xong" mà không chạy test. Tất cả đều là câu hỏi yes/no hoặc lựa chọn có kiểu — không cần sinh text.

Các dự án khác ra đời trong tuần đầu

Dự án Chức năng Nguồn
Tool-call safety scanner + router Chấm điểm an toàn mọi tool call, route theo độ khó r/PiCodingAgent
typesafe-mcp Connector MCP để agent gọi thẳng Jev GitHub
ruby_llm-typesafe Tích hợp Ruby X
dspy-typesafeify Fork DSPy route Signature sang Jev GitHub
openjev Tái tạo mở interface Jev, đọc logit từ Qwen3.5-4B GitHub

openjev đáng chú ý nhất: trên một RTX 3090, 21 câu hỏi mất 1.02s khi đọc logit trực tiếp, so với 5.33s khi sinh JSON — và đạt 0.845 modal agreement so với 0.883 của Jev, dù không hề dùng RLCD training.

Vercel đưa Jev vào AI Gateway trong 36 giờ, qua method evaluate mới trong AI SDK 7.

Hoài nghi cần biết trước khi dùng

  • r/singularity: "ngành công nghiệp phát hiện lại classification model."
  • r/LocalLLaMA: so sánh với zero-shot classifier encoder có sẵn như gliformer, nghi ngờ Jev chỉ là một mô hình mở fine-tune.
  • Almeida (founder TypeSafe) phản hồi: nút thắt là dữ liệu training cho calibration, không phải kiến trúc — nhưng đây là tuyên bố chưa kiểm chứng độc lập.

Hoài nghi này không làm mất giá trị của 17.000 lượt gọi thật từ pi-warden. Ý tưởng cấu trúc và số liệu production là hai câu hỏi khác nhau.

Checklist khi xây guardrail tương tự

  • Guardrail có kiểu trước hành động phá hoại là use case được kiểm chứng nhiều nhất tính đến nay.
  • Đặt câu hỏi hẹp, xếp lớp nhiều câu hỏi nhỏ thay vì một câu ghép lớn.
  • Dùng Jev để lọc, không để quyết định một mình với việc tốn kém — luôn giữ người hoặc chính sách tất định phía sau.
  • Tốc độ tích hợp (Vercel AI Gateway trong 36 giờ) không đồng nghĩa với độ chín về mặt nghiên cứu.

All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí