Tôi giao cho agent "làm hết cái này đi", rồi đứng dậy đi pha cà phê.
Quay lại, tôi mở diff ra: bốn mươi file. Nó đổi cả những thứ tôi còn chẳng nhớ là có. Đâu đó giữa chừng, một quyết định sai đã âm thầm kéo cả chục bước sau xây tiếp lên trên nó. Tôi ngồi nhìn cái diff khổng lồ, biết rõ một điều: không review nổi. Chỉ còn nước revert sạch.
Đó là bài học tôi học đi học lại: một lượt khổng lồ chính là nơi agent đi lạc xa nhất.
01Vì sao một lượt càng dài càng trôi
Mỗi bước agent làm đều dựa trên bước trước. Nếu bước hai hiểu lệch một chút, thì bước ba, bốn, năm đều xây trên cái lệch đó — một cách nhất quán. Nên nhìn từng bước riêng lẻ vẫn thấy hợp lý; chỉ tổng thể là sai. Tới lúc bạn thấy được toàn cảnh thì nó đã đi quá xa, sửa cục bộ không nổi.
Cách chặn lại đơn giản đến mức dễ bỏ qua: đừng để nó chạy một mạch.
02Một chặng nên to cỡ nào
Một chặng tốt thoả hai điều: review được trong một lần ngồi (bạn nhìn diff và thật sự hiểu, không lướt cho có), và vứt đi được sạch nếu nó hỏng, không kéo chặng khác sập theo.
Câu hỏi định cỡ hay nhất: "Nếu chặng này sai hoàn toàn, mình mất bao nhiêu?" Trả lời "một buổi sáng" — cỡ ổn. Trả lời "ba ngày" — cắt nhỏ nữa.
03Checkpoint là save-point
Nghĩ như chơi game có save. Bạn không cắm đầu chơi xuyên cả màn khó rồi mới save — bạn save sau mỗi đoạn vừa qua được. Một thay đổi cấu trúc lớn, chia ba chặng kinh điển: chuẩn bị → đổi → dọn. Hỏng ở chặng "đổi"? Bạn còn nguyên save sau "chuẩn bị" để lùi về. Không chia chặng, bạn chỉ có đúng một save — trước khi bắt đầu — tức là làm lại từ con số không.
04Và một món quà kèm theo
Có cái lợi ít người để ý: chia chặng cho bạn quyền đổi ý mà không tốn kém. Xong chặng một, bạn nhận ra hướng này không hay như tưởng — bạn dừng, rẻ. Một lượt khổng lồ không chừa cho bạn cánh cửa đó; tới lúc thấy thì tiền đã tiêu hết.
Chia chặng nghe như đang làm chậm lại. Thật ra nó là cách duy nhất tôi biết để đi nhanh mà không phải đi lại từ đầu.