Mọi mô hình đều có cửa sổ ngữ cảnh; mã 400 này có nghĩa là prompt cộng với đầu ra được yêu cầu không vừa. Cách sửa ngây thơ — cắt prompt một cách mù quáng — khiến ứng dụng RAG âm thầm kém thông minh hơn. Dưới đây là cách vừa cửa sổ mà không đánh mất mạch nội dung.
Lỗi
// Anthropic:
{"type":"error","error":{"type":"invalid_request_error",
"message":"prompt is too long: 214481 tokens > 200000 maximum"}}
// OpenAI-compatible:
{"error":{"type":"invalid_request_error","code":"context_length_exceeded",
"message":"This model's maximum context length is 128000 tokens..."}}Tổng quan nguyên nhân và cách khắc phục
| Nguyên nhân | Cách khắc phục |
|---|---|
| Lịch sử trò chuyện không giới hạn | Duy trì cửa sổ trượt và bản tóm tắt liên tục; không phát lại toàn bộ bản chép lời ở mỗi lượt. |
| RAG truy xuất quá nhiều / các đoạn quá lớn | Truy xuất ít đoạn hơn, nhỏ hơn và được xếp hạng lại — chất lượng vượt trội số lượng từ rất lâu trước khi cửa sổ đầy. |
| max_tokens quá lớn so với phần còn lại | Cửa sổ bao phủ cả đầu vào VÀ đầu ra: ngân sách = cửa sổ − đầu vào. Đặt max_tokens theo phần còn lại. |
| Khối lượng công việc thực sự cần nhiều ngữ cảnh hơn | Chuyển sang tầng mô hình có ngữ cảnh dài (ví dụ mô hình cửa sổ 1M) thay vì xây dựng giải pháp xoay quanh một giới hạn cứng. |
Đo trước khi cắt bớt
Đếm token theo cùng cách API thực hiện (Anthropic có endpoint count_tokens; tiktoken ước tính các mô hình dùng giao thức OpenAI). Ghi log số lượng cho từng yêu cầu — cách khắc phục sẽ khác nhau nếu vượt 1,05× so với 5×.
Cắt dữ liệu truy xuất và lịch sử, không bao giờ cắt chỉ dẫn
Cắt theo thứ tự này: (1) lượt trò chuyện cũ → tóm tắt, (2) các đoạn truy xuất → xếp hạng lại và giữ top-k, (3) ví dụ few-shot dài dòng → ít hơn, chặt chẽ hơn. Chỉ dẫn hệ thống để sau cùng — đó là nơi hành vi được định hình.
Chuyển sang cửa sổ dài hơn khi vấn đề mang tính cấu trúc
Nếu đầu vào hợp lệ vượt cửa sổ hằng tuần, đó là vấn đề lựa chọn mô hình. Các tầng ngữ cảnh dài (200K–1M) tồn tại chính xác cho phân tích hợp đồng, hỏi đáp trên cơ sở mã và xử lý nhiều tài liệu — hãy cân đối chi phí nâng cấp với thời gian kỹ thuật bạn đang dùng để cắt bớt.
Nếu bạn gọi qua Kunavo
Danh mục của Kunavo trải rộng nhiều tầng ngữ cảnh — bao gồm các mô hình thuộc dòng Claude 5 có cửa sổ 1M — dùng chung một khóa, vì vậy nâng khối lượng công việc từ cửa sổ 200K lên 1M chỉ là thay đổi chuỗi model; trang của từng mô hình nêu cửa sổ ngay cạnh giá mỗi token để bạn cân đối đánh đổi.
Câu hỏi thường gặp
max_tokens có được tính vào cửa sổ ngữ cảnh không?
Có — cửa sổ giới hạn tổng đầu vào và đầu ra được tạo. Mô hình cửa sổ 200K với prompt 195K không thể đáp ứng max_tokens: 8000. Hãy tính phần còn lại và giới hạn max_tokens theo phần đó.
Bộ nhớ đệm prompt có khắc phục tràn ngữ cảnh không?
Không — bộ nhớ đệm làm giảm CHI PHÍ của các prompt dài lặp lại, chứ không giảm kích thước của chúng. Số token tính vào cửa sổ giống hệt nhau dù có bộ nhớ đệm hay không.
Hướng dẫn liên quan
Thông tin chi tiết hơn về ý nghĩa lỗi có trong tài liệu tham chiếu lỗi; bạn chỉ mất một phút để lấy khóa qua đăng ký và hướng dẫn xác thực.