~/VibeHandbook
PDF miễn phí

Chương 07 · 12

Kỹ Thuật Harness (Bộ Khung An Toàn)

Thói quen là thứ bạn phải nhớ để làm. Bậc thang tiếp theo trong việc thiết lập không gian làm việc của bạn là biến những kiểm tra đó thành thứ mà AI không thể bỏ qua. Đó là một harness.

Hãy nghĩ về một harness như một trạm kiểm soát an ninh nằm giữa và thế giới thực. Tại mỗi bước nguy hiểm, nó làm một trong ba việc: ghi lại điều đã xảy ra, cảnh báo bạn, hoặc chặn hành động hoàn toàn. Trước khi một lệnh chạy, trước khi một file được ghi, khi một được gửi, khi , khi push — luôn có một cổng gác. Agent không thể đi vòng qua nó, theo cách bạn có thể quên chạy test lúc 2 giờ sáng.

Mọi hành động nguy hiểm mà agent thực hiện đều đi qua harness trước, nơi mỗi cổng gác có thể ghi lại nó, cảnh báo bạn, hoặc chặn nó trước khi nó từng bao giờ chạm đến thế giới thực:

   ┌─────────┐                                   ┌──────────┐
   │  AGENT  │                                   │   REAL   │
   │ action  │                                   │  WORLD   │
   └────┬────┘                                   └──────────┘
        │                                              ▲
        ▼                                              │
   ╔═══════════════ HARNESS (gate) ═══════════════╗    │
   ║                                              ║    │
   ║   ┌────────┐    ┌────────┐    ┌────────┐     ║    │
   ║   │ RECORD │    │  WARN  │    │ BLOCK  │     ║────┘
   ║   │  log   │    │ alert  │    │  stop  │     ║  allowed
   ║   └────────┘    └────────┘    └───┬────┘     ║
   ║                                   │          ║
   ╚═══════════════════════════════════╪══════════╝
                                       ▼
                                  ┌─────────┐
                                  │ DENIED  │
                                  └─────────┘

Tại sao phải bắt buộc điều này? Toàn bộ canh bạc của vibe coding là "để AI chạy nước rút, bạn chỉ lái." Điều đó chỉ đem lại lợi ích nếu AI không thể lao xuống vực trong lúc bạn chớp mắt. Một harness chuyển sự an toàn của bạn từ sự cảnh giác (đọc mọi diff, nhớ mọi quy tắc) sang (các quy tắc được thực thi tự động). Đối với bất cứ thứ gì bạn định đặt trước một người dùng thật, đó không phải là sự tô điểm tùy chọn — đó là điều làm cho sự tự chủ trở nên an toàn.

Một harness tốt tuân theo vài nguyên tắc đáng biết:

  • Thành công thì im lặng, thất bại thì to tiếng — nó không nói gì khi mọi thứ ổn, vì vậy một cảnh báo vẫn có ý nghĩa.
  • Không bao giờ tự động sửa — nó đề xuất, chặn, hoặc cảnh báo; nó không âm thầm "sửa" agent và giấu vấn đề đi.
  • Loại bỏ các quy tắc không còn hoạt động trước khi thêm quy tắc mới — giữ nó gọn gàng và đáng tin cậy, không phải một đống ngày càng lớn các kiểm tra cũ kỹ.
  • Điều khiển bằng cấu hình (config-driven) — một engine, các thiết lập theo từng dự án, để nó có thể cắm vào bất kỳ repo nào.
  • Log chỉ-thêm-vào (append-only) — một bản ghi chống giả mạo về những gì agent thực sự đã làm.

Bạn không cần xây dựng cái này từ đầu. Có sẵn các harness đóng gói sẵn — dancinlab/harness là một engine không phụ thuộc dự án mà bạn có thể kết nối vào vòng đời công cụ của một coding agent. Thành thật mà nói: một harness không làm cho AI đúng đắn. Nó làm cho sai lầm của AI trở nên rẻ để bắt được — điều mà, khi bạn đang di chuyển nhanh, chính là phần lớn của cuộc chiến.

Muốn bản ngoại tuyến?

Tải trọn cuốn sách dưới dạng PDF hoặc EPUB — miễn phí.