Bạn cần bài này khi gặp một trong các cảnh sau:
- Agent nhắc lại thứ đã chốt.
- Nó đề xuất hướng bạn vừa loại.
- Bạn dán rất nhiều context nhưng output vẫn lệch.
- Bạn không biết nên đưa file nào, đoạn nào, log nào vào chat.
Làm ngay trước lượt prompt tiếp theo:
- Viết một câu mục tiêu của lượt này.
- Chỉ đưa file/đoạn/log liên quan trực tiếp tới mục tiêu đó.
- Ghi rõ 2-5 ràng buộc không được phá.
- Cho một ví dụ đúng hoặc một ví dụ sai nếu có.
- Nói rõ bạn muốn agent trả về gì: plan, diff, chẩn đoán, bảng so sánh, hay prompt.
Lượt này cần quyết gì hoặc sửa gì? Một câu là đủ.
Đưa đúng file, đoạn, log, màn hình liên quan. Phần chưa đụng thì để ngoài.
Cái gì không được đổi, phải giữ, hoặc phải kiểm trước khi chạm.
Một mẫu đúng hoặc một ca đang sai giúp agent bám vào đời thật.
Đừng để nó đoán bạn muốn plan, code, hay phân tích.
Context tốt không phải context dài. Context tốt là context khiến lượt này khó hiểu sai.
01Đừng dán lịch sử để chữa việc nó trôi
Đến giữa một việc dài, phản xạ tự nhiên là dán lại toàn bộ lịch sử cho agent "nhớ". Nghe hợp lý, nhưng thường làm tệ hơn: context phình ra, ý chính loãng đi, agent phải tự đoán phần nào quan trọng cho lượt hiện tại.
Câu hỏi đúng không phải "còn gì chưa dán vào". Câu hỏi đúng là: lượt này cần gì để làm đúng?
Nếu lượt này chỉ cần sửa một hàm, đừng đưa cả lịch sử quyết định sản phẩm. Nếu lượt này chỉ cần chẩn đoán một lỗi, đừng đưa thêm ba file không chạy qua lỗi đó. Nếu lượt này chỉ cần viết email theo giọng cũ, đừng đưa cả inbox; đưa 2-3 mẫu đúng giọng.
✕ Dán cho đủ
✓ Dọn cho đúng lượt
02Cách quyết định cái gì lên bàn
Hãy chia mọi thứ bạn có thành ba nhóm.
Nhóm 1: phải đưa ngay. Đây là thứ nếu thiếu thì agent chắc chắn làm sai: yêu cầu hiện tại, đoạn code/file đang sửa, log lỗi, dữ liệu mẫu, quy ước bắt buộc, tiêu chí "xong".
Nhóm 2: chỉ đưa khi agent chạm tới. Đây là thứ có thể liên quan nhưng chưa cần: module lân cận, quyết định cũ, file gọi gián tiếp, tài liệu nền. Nói cho agent biết có thể hỏi thêm, nhưng đừng nhét hết từ đầu.
Nhóm 3: đừng đưa vào chat. Đây là thứ nhiễu, nhạy cảm, hoặc không giúp lượt này: toàn bộ transcript cũ, dữ liệu cá nhân không cần thiết, file lớn chỉ có một đoạn liên quan, log dài chưa lọc.
Prompt dùng ngay:
This turn's goal: [one sentence].
Context to anchor on:
- [directly relevant file/snippet/log]
- [constraints that must not break]
- [right/wrong example if available]
Possibly related but not included yet: [short list].
If you need to touch those, ask first.
Output I want: [plan / diff / diagnosis / comparison table / answer].Kết quả đúng: câu trả lời của agent ngắn hơn nhưng bám sát hơn. Nó hỏi thêm đúng chỗ thay vì tự mở rộng phạm vi.
03Cái cần nhớ lâu thì đừng để trong chat
Context của một lượt không phải trí nhớ của cả việc. Chat sẽ dài lên, bị tóm tắt, bị quên, hoặc phiên mới không còn thấy gì. Nếu một quyết định cần sống qua nhiều lượt, hãy đưa nó ra khỏi chat.
Ví dụ:
- Quy ước dự án → ghi vào
CLAUDE.md, README nội bộ, hoặc file rule tương đương. - Quyết định kiến trúc → ghi vào
DECISIONS.mdhoặc changelog. - Danh sách việc còn lại → ghi vào issue/task list.
- Prompt đã dùng tốt → đưa vào prompt library hoặc skill.
Đừng bắt agent "nhớ giúp". Hãy đặt thứ cần nhớ ở nơi phiên sau đọc lại được.
04Dấu hiệu bạn chọn context đúng
Bạn chọn đúng khi:
- Agent không phải hỏi lại những thứ bạn đã biết là bắt buộc.
- Nó không tự mở rộng sang vùng ngoài lượt việc.
- Output có thể kiểm được bằng chính context bạn đưa.
- Phiên sau vẫn tiếp tục được vì quyết định dài hạn đã nằm trong file, không nằm trong một đoạn chat cũ.
Chốt lại: context không phải cái kho. Nó là cái bàn làm việc cho lượt này. Trên bàn chỉ nên có thứ đang cần dùng; còn luật sống lâu thì cất vào ngăn kéo có nhãn, để lần sau mở ra vẫn thấy.