Sáu tháng sau khi bắt đầu làm thật sự với agent, tôi so lại hai prompt.
Cái đầu tiên dài hai đoạn: kể đủ bối cảnh, giải thích mong muốn, nêu ví dụ cho rõ. Cái gần nhất: hai câu, không ví dụ, không giải thích.
Tôi nghĩ đó là tiến bộ. Tôi đã internalize — agent của tôi bây giờ "hiểu" tôi rồi.
Nhưng khi nhìn lại output của batch gần nhất, tôi nhận ra một điều không thoải mái: nó nhạt hơn trước. Không phải sai — chỉ là thiếu cái nét mà tôi tự làm sẽ có.
Không phải agent kém đi. Là tôi đã viết prompt ngắn theo cách sai — bỏ đi constraint mà tôi tưởng agent đã biết, nhưng nó chưa biết.
01Prompt là gương, không phải lệnh
Khi bạn viết prompt, bạn không chỉ đang nói với agent. Bạn đang bộc lộ những gì bạn thực sự nghĩ về task, về output, về những gì quan trọng. Cái đó thường rõ hơn bạn tưởng.
Người mới viết dài vì phải kể hết bối cảnh — chưa biết cái gì agent cần, nên kể tất cả. Người giỏi hơn viết ngắn hơn vì họ đã biết cái gì thật sự quan trọng và đưa thẳng vào — ít từ hơn nhưng tường minh hơn về constraint.
Người ở giai đoạn 3 cũng viết ngắn — nhưng ngắn theo kiểu bỏ đi constraint vì "agent biết rồi". Hai cái ngắn này trông giống nhau từ bên ngoài. Khác nhau ở chỗ: một cái đến kèm output tốt hơn, một cái không.
Ba archetype này không phải ba người khác nhau — chúng là ba giai đoạn có thể xảy ra với cùng một người. Và giai đoạn nguy hiểm không phải lúc prompt dài nhất, cũng không phải lúc bạn có ít kinh nghiệm nhất.
02Compression đúng và compression sai — đều ngắn, nhưng khác gốc
Expert viết ngắn vì họ đã internalize constraint. Khi bạn làm nhiều lần cùng loại task, bạn học được những gì thực sự quyết định output — và đưa thẳng những thứ đó vào, không cần wrap thêm bối cảnh không cần thiết.
Đây là compression đúng. Output tốt hơn không phải ngẫu nhiên — nó là hệ quả của việc bạn hiểu sâu hơn.
Stage-3 compression khác: bạn bỏ constraint vì tin agent đã biết. Nhưng agent không "nhớ" những gì bạn đã làm cùng trước đây — nó chỉ có những gì trong session hiện tại. Constraint bạn tưởng nó biết, nó không biết. Output ngắn lại theo cách nghe generic hơn.
Cái nguy hiểm là bạn không nhận ra, vì output vẫn ổn. Không phải sai rõ ràng — chỉ là thiếu một chút cái nét mà bạn tưởng là do task lần này đơn giản hơn.
03Một thói quen để tự đánh giá
Không cần framework phức tạp. Một thói quen nhỏ, làm định kỳ.
Lấy một prompt gần nhất và một prompt từ ba tháng trước cho cùng loại task. Hỏi ba câu: (1) Prompt hôm nay ngắn hơn vì tôi bỏ bước hay vì tôi internalize được pattern? (2) Output gần nhất có tốt hơn tỷ lệ 1:1 với sự ngắn gọn không? (3) Nếu tôi giao prompt hôm nay cho người mới đọc, họ có đủ context để verify output không? Nếu câu trả lời 2 hoặc 3 là "không" — đó là tín hiệu review lại cái đang thiếu.
Một thói quen, ba câu hỏi, làm mỗi vài tháng. Không cần nhiều hơn — cần đủ để biết mình đang ở giai đoạn nào trong ba archetype bên trên.
04Khi output nhạt dần — và bạn không để ý
Có một dạng lỗi đặc biệt khó nhận: output kém từ từ, không có khoảnh khắc rõ ràng.
Bạn không nhận ra vì không có so sánh trực tiếp. Lần nào output cũng ổn so với lần trước một chút — nhưng so với benchmark từ ba tháng trước thì đã drift đáng kể.
Thói quen meta-check ở trên phục vụ đúng cho điều này. Không phải để tự chỉ trích — mà để có điểm neo thực tế khi cảm giác "agent đang ổn" không phân biệt được "thực sự ổn" và "quen với ổn".
Prompt là gương trung thực nhất bạn có về cách mình đang làm việc. Nó không nói dối — nó chỉ cần người đọc biết cách nhìn.