Agent báo: "Đã sửa xong, giờ hàm trả về đúng giá trị." Nghe chắc nịch. Bạn tin.
Nhưng đọc kỹ câu đó: nó đang mô tả thứ nó định làm, không phải thứ nó thấy đã xảy ra. Rất có thể nó chưa chạy cái hàm đó lần nào — nó suy ra "đúng giá trị" từ việc đọc lại đoạn code mình vừa viết. Đúng cái thứ vừa có thể sai.
Tôi từng tin những câu như thế. Nhiều lần. Tới khi tôi chịu nhìn thẳng vào một điều phản trực giác.
01Tự tin không phải là đúng
Đây là điều khó chấp nhận nhất khi làm với agent: mức độ tự tin của nó gần như chẳng liên quan gì tới mức độ đúng. Nó báo thành công bằng đúng cái giọng vui đó dù việc có chạy hay không. Nó sẽ "giả định test pass" thay vì chạy. Nó mô tả output kỳ vọng thay cho output thật. Không phải nó nói dối — nó đơn giản không phân biệt rạch ròi giữa "tôi đã làm" và "tôi đã định làm".
Và có một sự bất đối xứng tàn nhẫn: nói "xong" tốn của nó đúng không-gì. Phát hiện ra nó chưa xong tốn của bạn — thường vào lúc tệ nhất.
✕ Lời khai
✓ Bằng chứng
"Done!" là lời khai. Cái output thật chạy ra mới là bằng chứng.
02Đảo câu thần chú
Câu cũ là "tin nhưng kiểm". Với agent, đảo thứ tự: kiểm rồi mới tin. Mặc định là chưa tin, cho tới khi có thứ gì đó không phải lời kể của agent chứng minh.
Verify rẻ hơn bạn tưởng — nguyên tắc: đọc kết quả thật, không đọc lời tường thuật. Bắt nó chạy cái vừa làm rồi dán output thật vào (không phải mô tả output). Hoặc tự bạn chạy ba mươi giây. Nhìn cái diff thật, cái UI render thật. Tốt nhất: có một thứ kiểm độc lập với lời agent — một bài test, một lần build, một lần chạy thật.
03Những chữ cần cảnh giác
Bản tóm tắt của agent rò rỉ sự thật nếu bạn để ý chữ: "việc này nên hoạt động" (nó chưa chạy); "tôi đã cập nhật X để làm Y" mà không kèm bằng chứng Y thật sự xảy ra; "tests pass" mà không cho bạn thấy lần chạy; một mô tả mượt tới mức đáng ngờ cho thứ nó không thể đã quan sát. Mỗi câu đó là một lời mời bạn bấm "chạy" và tự nhìn.
04Biến verify thành một phần của việc
Đừng để verify là bước bạn nhớ thì làm. Gắn nó vào yêu cầu ngay từ đầu: "Làm xong thì chạy nó và cho tôi xem output thật." Biến "cho tôi xem bằng chứng" thành luật mặc định, không phải ngoại lệ.
Việc của agent là làm. Việc của bạn là đừng tin lời nó nói suông. Cái "Done!" tươi rói đó chính là chỗ phần lớn lỗi chọn để núp — và một khi soi đúng chỗ đó thành phản xạ, bạn sẽ bất ngờ vì mình bắt được bao nhiêu thứ.