Ai chịu trách nhiệm cho code agent viết: 'agent viết đấy' không phải một cái cớ

Khi nửa số thay đổi là do agent đẻ ra, trách nhiệm không được phép rơi vào khoảng không — người bấm nút gộp là người đứng tên

Đọc5 phút đọc
Chủ đềlam-viec-nhom · review · niem-tin
TL;DR

Agent không chịu trách nhiệm được — nó không bị hệ quả, không nhớ, không học từ cú sai. Nên "agent viết đấy" không gỡ được trách nhiệm khỏi ai; nó chỉ làm trách nhiệm rơi vào khoảng không, và code thành mồ côi. Luật gọn: người bấm nút gộp là người đứng tên, y như thể tự tay họ gõ. Và khi máy viết phần lớn, bar review phải dâng lên, không tụt xuống — vì giờ có nhiều code hơn được sinh ra bởi thứ không tự chịu trách nhiệm cho nó.

Một thứ hỏng. Bạn hỏi ai viết đoạn này. Câu trả lời, nhẹ tênh: "À, agent viết."

Và câu đó được thả ra như thể nó kết thúc cuộc điều tra. Agent viết — nghĩa là không phải lỗi của ai cả. Mà đúng là không phải lỗi của ai thật: con agent thì không nhận lỗi được, người gộp thì vừa phủi tay xong. Trách nhiệm vừa bốc hơi ngay trước mắt bạn. Đó không phải câu trả lời cho câu hỏi — đó chính là vấn đề, nói thành lời.

01Agent không gánh trách nhiệm được — nên ai đó phải gánh

Trách nhiệm không phải một cái nhãn dán cho vui. Nó là cái neo giữ chất lượng: người chịu trách nhiệm là người sẽ lãnh hệ quả nếu sai, nên là người có lý do để xem cho kỹ.

Agent không có cái neo đó. Nó không lãnh hệ quả gì khi code nó viết làm sập một thứ lúc nửa đêm. Nó không nhớ cú sai đó để lần sau tránh — sáng mai nó quên sạch. Nó không mất uy tín, không mất ngủ, không học được gì. Giao trách nhiệm cho agent cũng vô nghĩa như giao cho cái bàn phím: cả hai đều chỉ là công cụ chuyển ý định của một người thành chữ.

Nên trách nhiệm không thể nằm ở agent. Nó phải nằm ở một con người — và con người hợp lý duy nhất là người quyết định đưa cái code đó vào: người bấm nút gộp. Cú lật nằm ở chỗ này: "ai viết" là câu hỏi sai. Câu đúng là "ai đứng tên" — và câu trả lời không bao giờ được phép là "con máy".

02Dấu hiệu một vòng review đang đóng dấu cho có

Khi máy viết nhanh và nhiều, có một cám dỗ rất tự nhiên: review lướt nhanh cho kịp. Mà review lướt thì chỉ còn là đóng dấu. Mấy dấu hiệu dưới đây cho biết vòng review của đội đang tụt xuống thành nghi thức:

Dấu hiệu review đang đóng dấu cho có, không thật sự xem
Duyệt nhanh vì "agent viết mà"Cái lý do để xem nhẹ lại đúng là lý do phải xem kỹ: nó được viết bởi thứ không tự chịu trách nhiệm cho nó.
Diff quá to để xem nổiAgent đẻ ra năm trăm dòng trong một phát; người review mở ra, thấy mệt, cuộn xuống cuối bấm duyệt. To quá hoá ra không ai xem.
Chỉ xem code, không xem nó có chạyĐọc code thấy hợp lý là duyệt — nhưng "trông hợp lý" và "đã chạy thật" là hai chuyện; agent giỏi nhất ở việc viết cái trông hợp lý.
Tin vì cái mô tả nghe mượtPR kèm một đoạn tóm tắt trơn tru do agent viết; người review tin cái tóm tắt thay vì tự kiểm cái nó tóm tắt.

Điểm chung: tất cả đều là review tin vào <i>lời kể</i> thay vì <i>bằng chứng</i>. Mà cái agent viết ra thì cực giỏi tạo ra lời kể nghe êm tai — nên đây đúng là chỗ bar phải dâng, không phải tụt.

03Giữ bar review dâng lên, không tụt xuống

Nghịch lý cần nuốt: máy viết nhiều hơn không có nghĩa review được nhẹ đi — mà ngược lại. Càng nhiều code đến từ thứ không tự chịu trách nhiệm cho nó, gánh nặng "có người thật đứng tên" càng phải nặng hơn, không nhẹ đi. Vài luật giữ cái bar đó:

1
Người gộp đứng tên, hết

Bấm nút gộp nghĩa là nhận: "tôi chịu cho cái này y như tự tay tôi viết." Không có ngoại lệ "agent viết". Cái neo trách nhiệm phải có một con người ở đầu kia.

2
Chia nhỏ để xem nổi

Diff năm trăm dòng là diff không ai xem thật. Bắt agent ship theo từng mảnh review được trong một lần ngồi — cái xem nổi mới là cái được xem.

3
Xem cái agent dễ sai, không xem cái nó giỏi

Đừng phí sức soi cú pháp — agent gõ đúng cú pháp. Soi cái nó hay trượt: nó có hiểu đúng ý không, có lặng lẽ đụng chỗ khác không, cái test nó viết có thật sự kiểm cái cần kiểm không.

Để ý cả ba đều dịch trọng tâm review từ "code có sạch không" sang "có người chịu cho nó không, và nó có làm đúng cái cần làm không". Review code agent viết không phải bắt lỗi chính tả — là xác nhận một con người đã thật sự hiểu và đứng sau cái sắp vào hệ thống.

04Code mồ côi là nợ không tên

Một đoạn code không ai thật sự đứng tên là một món nợ không tên trong hệ thống: lúc nó hỏng, không ai thấy mình phải hiểu nó, vì "có ai viết nó đâu". Nó nằm đó tới khi nổ, rồi cả đội xúm vào dò một thứ chưa ai từng đọc kỹ.

Cái cần nhớ gọn trong một câu: agent viết, nhưng người gộp sở hữu. Đây là vòng review không-đóng-dấu ở quy mô đội, và là phiên bản đội của thói quen đòi bằng chứng thay vì tin lời "xong". Tốc độ máy viết là thật và đáng mừng — nhưng nó chỉ là món hời chừng nào mỗi dòng vào hệ thống vẫn có một con người đứng sau, sẵn sàng nói "cái này tôi chịu". Bỏ cái neo đó đi, bạn không tăng tốc — bạn chỉ chất nợ nhanh hơn.

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.

Viết thư hello@craftagent.cloud
58bà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.