Quản lý bối cảnh như một nguồn tài nguyên
Một cuộc hội thoại dài không hề miễn phí. Khi một luồng hội thoại phát triển, các chỉ thị trước đó bị chôn vùi, mô hình dựa nhiều hơn vào các tin nhắn gần đây, và những chi tiết bạn nói ra hai mươi lượt trước lặng lẽ không còn quan trọng nữa. Hãy hình dung cửa sổ ngữ cảnh () như một chiếc hộp có kích thước cố định: khi cuộc hội thoại phát triển, nó lấp đầy dần, và các chỉ thị sớm nhất của bạn bị đẩy xuống đáy, nơi mô hình chú ý ít nhất:
early turn long conversation
┌──────────────┐ ┌──────────────┐
│ SPEC (clear) │ │ chatter │ ◀ recent (heeded)
│ │ │ chatter │
│ │ │ fix attempt │
│ │ │ old code v3 │
│ │ ───▶ │ old code v2 │
│ │ ├──────────────┤
│ │ │ SPEC (buried)│ ◀ ignored
└──────────────┘ └──────────────┘
│ XXXXXXXXXXXX │ ◀ pushed out
└──────────────┘
Hãy đối xử với cửa sổ ngữ cảnh như một bề mặt làm việc mà bạn có trách nhiệm giữ sạch sẽ, không phải một bộ nhớ vô hạn.
Một vài thói quen có ích:
- Nêu lại yêu cầu kỹ thuật (spec) khi bạn chuyển hướng. Đừng giả định rằng một yêu cầu từ mười tin nhắn trước vẫn còn hiệu lực. Hãy tóm tắt mục tiêu hiện tại trong một đoạn ngắn và để AI làm việc dựa trên đó.
- Bắt đầu mới cho một vấn đề mới. Khi bạn chuyển từ mã xác thực (auth) sang một lỗi CSS (Cascading Style Sheets — ngôn ngữ kiểm soát giao diện của một trang), hãy mở một cuộc hội thoại mới. Kéo theo bối cảnh không liên quan chỉ khiến mô hình tệ hơn, không tốt hơn.
- Dán mã hiện tại, không phải lịch sử. Nếu một hàm đã thay đổi năm lần, AI không cần năm phiên bản cũ — nó cần phiên bản đang tồn tại ngay bây giờ. Hãy cho nó trạng thái hiện tại và thay đổi tiếp theo.
- Giữ một nguồn sự thật ngắn gọn bên ngoài cuộc trò chuyện. Đối với một nhiệm vụ dài hơn, vài dòng trong một tệp ("stack, các quyết định chính, những gì đã xong, những gì tiếp theo") giúp bạn tái khởi động một cuộc hội thoại mới trong vài giây thay vì phải tái dựng lại nó từ việc cuộn ngược lịch sử.
Mục tiêu vẫn là cùng một điều xuyên suốt cả chương này: ở mọi thời điểm, AI nên làm việc dựa trên một bức tranh chính xác, gọn gàng về nhiệm vụ — không phải một bản ghi lan man mà nó phải đoán mò.