Agent viết ra nó là kẻ tệ nhất để tự kiểm

Agent thứ hai đáng giá không phải vì thêm một đôi tay, mà vì một cặp mắt độc lập không chung điểm mù với đứa đầu

Đọc5 phút đọc
Chủ đềteamwork · multi-agent · review
TL;DR

Agent vừa làm ra thứ gì đó là kẻ tệ nhất để tự kiểm nó: điểm mù tạo ra lỗi cũng chính là điểm mù không thấy lỗi, và hỏi nó "đúng chưa?" chỉ khiến nó tự chấm bài của mình. Agent thứ hai đáng thêm không phải một đứa builder nữa để cho nhanh — mà là một người soát độc lập, lý tưởng là model khác, mà cả việc của nó là tìm cái đứa đầu không thấy. Chia đội theo chức năng — một đứa làm, một đứa soát — và không bao giờ để người viết tự duyệt việc của mình.

Một agent làm ra thứ gì đó — một đoạn logic, một bản migration, một đoạn nội dung. Nó xong, báo "xong rồi", và nhìn có vẻ đúng. Bạn hỏi đúng nó: "Chắc chưa, cái này đúng không?" Nó đọc lại việc của chính mình và bảo đúng. Bạn ship. Nó vỡ đúng ở cái trường hợp agent chưa từng nghĩ tới — và đây là cái bẫy: lý do nó chưa từng nghĩ tới chính là lý do nó không bắt được khi soát. Nó đang chấm bài của mình, bằng đúng cây bút đã gây ra lỗi.

01Tác giả không thấy điểm mù của chính mình

Một agent kiểm lại output của nó mang theo y nguyên các giả định đã tạo ra output đó. Nếu lần đầu nó đọc sai yêu cầu, thì lúc soát nó đọc sai y hệt — một cách tự tin. Một model đơn có các kiểu sai tương quan với nhau: hỏi hai lần thì sai hai lần như nhau, khoác lên cái áo "ý kiến thứ hai". "Tự kiểm lại đi" nghe như một lớp bảo vệ, nhưng một người soát chung cái đầu với người làm thì không phải ý kiến thứ hai gì cả. Đó là ý kiến thứ nhất, lặp lại to hơn.

Cùng một agent tự kiểm

Nó làm với giả định X
Soát lại cũng bằng giả định X
"Nhìn đúng" — lỗi vẫn vô hình

Một agent khác kiểm

Nó làm với giả định X
Một cái đầu thứ hai đọc, không mang giả định X
Lỗi lộ ra — bắt được trước khi ship

02Một agent thứ hai, với một cái đầu khác

Thêm một agent có vai không phải để làm, mà để phản biện — soát, audit, thử bẻ gãy cái đứa đầu vừa làm. Sức bật nhân lên khi đó là một model hay hãng khác: huấn luyện khác, thói quen khác, điểm mù khác. Chỗ mà hai đứa builder cùng một "hãng" sẽ cùng bỏ sót một thứ, thì hai cái đầu khác hãng bỏ sót những thứ khác nhau — nên giữa hai đứa, lọt lưới ít hơn hẳn. Agent thứ hai không phải đôi tay dự phòng; nó là cặp mắt mà đứa đầu về mặt bản chất không thể có.

1
Người làm

Tạo ra sản phẩm — và mang theo các giả định đã tạo ra nó. Không giao nó tự chấm output của chính mình.

2
Người soát

Một model khác, việc duy nhất là tìm cái sai. Nó đọc, nêu phát hiện, và không bao giờ tự gộp ý kiến của mình thành sự thật.

3
Bạn dung hoà

Lọc phát hiện — không phải cái nào cũng thật — quyết cái nào đúng, và giữ cổng: chưa qua mắt thứ hai thì chưa merge.

03Chia theo chức năng, không phải theo vùng

Đây là một kiểu cắt khác với việc chia một task lớn cho nhiều agent để cho nhanh. Kiểu kia chia theo vùng — mỗi agent một mảng việc riêng không chồng lấn, để hai đứa không bao giờ đụng cùng một chỗ. Kiểu này chia theo chức năng: một đứa làm ra, đứa kia phán xét chính cái đó. Người soát chỉ đọc và nêu phát hiện; người làm vá và không bao giờ tự duyệt bản vá của mình. Cái luật duy nhất làm cặp đôi này chạy được: ai viết thì không được ký duyệt cái đó. Khoảnh khắc tác giả cũng là người duyệt, bạn quay lại cảnh chấm bài của chính mình — và điểm mù thắng.

04Khi nào cặp mắt thứ hai mới đáng

Nó không miễn phí. Một người soát tốn thêm một vòng phối hợp, và phần lớn việc dùng-rồi-bỏ không cần. Nó đáng khi tính-đúng quan trọng hơn tốc độ thuần, khi việc khó soát bằng mắt thường, và nhất là khi bạn từng bị một thứ "nhìn đúng" làm cho cháy. Cái cuối là dấu hiệu: nếu bạn cứ ship những thứ lướt qua thấy ổn rồi vẫn vỡ, thì bạn không cần một đứa làm nhanh hơn — bạn cần một người kiểm độc lập mà đứa làm không nói át được.

05Đưa vào thực tế

  • Cho người soát một vai chỉ-soát cái chuẩn để đối chiếu — spec, yêu cầu, thế nào là đúng. Người soát không có thước thì chỉ bắt bẻ vặt.
  • Dùng model khác nếu được. Cùng model soát cùng model thì chung đúng cái điểm mù bạn đang muốn thoát.
  • Khung lệnh theo kiểu đối kháng: bảo nó tìm cái sai hay thử bẻ gãy cái này — đừng hỏi "tốt chứ?". Cách hỏi sau đi câu lời khen; cách hỏi trước đi câu vấn đề.
  • Tự lọc phát hiện. Người soát phơi ra; bạn quyết cái nào thật, cái nào nhiễu.
  • Lặp vai: người làm vá, người soát kiểm lại, và chưa qua mắt thứ hai thì chưa merge.

Một đội hai đứa chia vai bắt được cả một lớp lỗi mà một agent đơn độc mù tịt — bắt rẻ, trước khi nó tới tay ai khác. Cái giá là một chút phối hợp; cái được là bạn thôi ship những thứ tự tin mà sai. Nó quay về sợi chỉ xuyên suốt mọi thứ ở đây: một agent không thấy điểm mù của chính mình. Góc nhìn thứ hai không phải thứ đứa đầu tự mọc ra — nó là thứ bạn thêm vào.

c
Người viết

Mỗi câu chuyện ở đây gói một bài học đã trả giá để học.

craftagentmột người vừa xây vừa học

Bạn đang xây gì với agent? Muốn trao đổi, phản biện, hay cùng làm một thứ gì đó — viết cho mình một dòng.

48bài12cụmVI·ENsong ngữ

Nhận bài mới qua email

Ghi chép thực chiến về làm việc với AI agent — thi thoảng, không spam.