Bạn có bao giờ để ý rằng càng nói chuyện với AI lâu thì nó càng kém hiệu quả hơn không?
Tại sao lại như vậy? Nghiên cứu gần đây đang làm sáng tỏ lý do tại sao điều này xảy ra. Nó được gọi là Context Rot - sự suy thoái ngữ cảnh. Càng cung cấp nhiều dữ liệu đầu vào cho một mô hình ngôn ngữ lớn, hiệu suất của nó càng kém. Nó có thể bỏ qua một số dữ liệu đầu vào hoặc xử lý quá mức các dữ liệu đầu vào khác. Quá trình suy giảm hiệu suất diễn ra như thế nào rất phức tạp.
Với các mô hình ngôn ngữ lớn, chất lượng đầu vào ảnh hưởng đến chất lượng đầu ra. Có một vài cách chúng ta có thể tác động đến chất lượng đầu vào:
- Chỉ rõ những gì mình muốn. (Thường được gọi là "kỹ thuật viết prompt").
- Cung cấp ngữ cảnh cần thiết để mô hình ngôn ngữ lớn có thể thực hiện những gì chúng ta muốn. (Thường được gọi là "kỹ thuật tạo ngữ cảnh").
Nếu bạn mới bắt đầu sử dụng giao diện dòng lệnh như Claude Code hay Codex, hoặc đang sử dụng Claude Cowork để tạo quy trình làm việc AI của riêng mình, bài viết này sẽ giúp bạn hiểu tại sao hiệu suất của LLM lại giảm dần trong suốt cuộc hội thoại và có thể làm gì để ngăn chặn điều đó.
Cửa sổ ngữ cảnh là gì?

Cửa sổ ngữ cảnh là lượng thông tin mà một mô hình AI có thể xử lý cùng một lúc. Nói cách khác, cửa sổ ngữ cảnh là phép ẩn dụ mà chúng ta sử dụng để chỉ những gì thu thập đầu vào vào một mô hình ngôn ngữ lớn. Bạn có thể coi nó như bộ nhớ ngắn hạn của mô hình. Đó là tất cả những gì mô hình có thể xử lý cùng một lúc.
Cửa sổ ngữ cảnh có kích thước cố định, chứ không phải là vô hạn. Lượng đầu vào bạn có thể nhập cùng một lúc bị giới hạn bởi kích thước của cửa sổ ngữ cảnh. Và kích thước này khác nhau tùy thuộc vào từng mô hình.
| Mô hình | Cửa sổ ngữ cảnh |
|---|---|
| Claude Opus 4.5 | 200K token |
| Claude Sonnet 4.5 | 200K token (1 triệu ở cấp độ sử dụng 4) |
| GPT-5.2 | 400K token |
| Gemini 2.5 Pro | 1M token |
Dữ liệu đầu vào cho mô hình không chỉ bao gồm những gì bạn nhập vào. Mỗi ứng dụng sẽ thêm một prompt hệ thống được đặt trước tin nhắn của người dùng. Tùy thuộc vào ngữ cảnh của ứng dụng, prompt hệ thống có thể bao gồm mô tả công cụ (ví dụ: từ máy chủ MCP), các skill có sẵn, plugin, v.v...
Trong một cuộc hội thoại qua lại, toàn bộ lịch sử hội thoại thường được bao gồm trong cửa sổ ngữ cảnh ở mỗi lượt. Đây là cách duy nhất để mô hình có thể theo dõi cuộc hội thoại. Mặc dù nhiều mô hình có cửa sổ ngữ cảnh lớn, nhưng trên thực tế, cửa sổ ngữ cảnh có thể nhanh chóng bị đầy. Và chúng ta sẽ thấy rằng việc làm đầy cửa sổ ngữ cảnh có thể gây ra các vấn đề.
Tại sao cửa sổ ngữ cảnh có kích thước cố định?
Có nhiều yếu tố hạn chế kích thước cửa sổ ngữ cảnh, bao gồm lượng tính toán cần thiết để xử lý đầu vào, lượng bộ nhớ cần thiết để ghi nhớ các giá trị trong quá trình xử lý và kích thước đầu vào được sử dụng trong quá trình huấn luyện.
Hiện tượng Suy thoái ngữ cảnh là gì?


Mức độ suy thoái ngữ cảnh thay đổi tùy thuộc vào mức độ đầy của cửa sổ ngữ cảnh
Vào tháng 11 năm 2023, Liu và cộng sự đã công bố một bài báo có tên "Lost in the Middle" giới thiệu bằng chứng đầu tiên về sự suy thoái ngữ cảnh. Các tác giả nhận thấy rằng khi cửa sổ ngữ cảnh đầy lên, những mô hình bắt đầu ưu tiên các token ở đầu và cuối đầu vào. Các token ở giữa "bị mất tích".
Năm 2025, một số nhà nghiên cứu khác đã công bố các bài báo khám phá mô hình này và thuật ngữ "context rot" (suy thoái ngữ cảnh) được đặt ra. Dưới đây là tóm tắt nhanh về những gì các nghiên cứu cho đến nay đã tìm thấy:
- Nghiên cứu ban đầu của Liu và cộng sự (2023) đã sử dụng các nhiệm vụ đơn giản "tìm kim trong đống rơm" để kiểm tra sự suy thoái ngữ cảnh. Trong bài toán "tìm kim trong đống rơm", mô hình được hỏi liệu một câu ("cái kim") có nằm trong ngữ cảnh ("đống rơm") hay không. Nghiên cứu cho thấy rằng khi cửa sổ ngữ cảnh đầy lên, các mô hình hoạt động kém hơn trong những nhiệm vụ đơn giản này.
- Paulsen (2025) đã chỉ ra rằng ngữ cảnh bị suy giảm trên nhiều loại nhiệm vụ khác nhau (không chỉ nhiệm vụ "tìm kim trong đống rơm") và thường với số lượng token ít hơn nhiều đối với các nhiệm vụ phức tạp hơn.
- Veseli et al (2025) nhận thấy rằng mô hình hình chữ U (trong đó LLM ưu tiên các token ở đầu và cuối) mà Liu et al (2023) tìm thấy chỉ tồn tại khi ngữ cảnh chưa đầy 50%. Khi ngữ cảnh đầy hơn 50%, Veseli et al (2025) đã tìm thấy một mô hình khác: Ngữ cảnh bị suy giảm theo khoảng cách từ cuối, trong đó LLM ưu tiên các token gần đây hơn, sau đó là những token ở giữa, so với các token ban đầu.
- Các nhà nghiên cứu đưa ra giả thuyết rằng những mô hình đang gặp khó khăn trong việc truy xuất thông tin, nghĩa là mô hình không thể tìm thấy "kim trong đống rơm". Nhưng Du et al (2025) – thông qua một số thí nghiệm khéo léo – đã chỉ ra rằng đó không phải là vấn đề truy xuất. Đó chỉ đơn giản là một hàm của độ dài đầu vào. Trong một trong những thí nghiệm thú vị hơn, họ đã thay thế tất cả các token không phải là "kim" trong đầu vào bằng khoảng trắng. Suy nghĩ của họ là nếu đây là vấn đề truy xuất, thì "kim" giờ đây sẽ trở nên rõ ràng – nhưng họ vẫn thấy bằng chứng tương tự về sự suy thoái ngữ cảnh trong các nhiệm vụ được sửa đổi này.
Vậy tất cả điều này có nghĩa là gì?
Ngay cả với kích thước cửa sổ ngữ cảnh lớn, chúng ta cũng không muốn lấp đầy nó. Hiệu suất sẽ giảm khi nó được lấp đầy và suy thoái theo những cách khác nhau.
- Khi cửa sổ ngữ cảnh được lấp đầy dưới 50%, mô hình sẽ mất các token ở giữa.
- Khi cửa sổ ngữ cảnh được lấp đầy trên 50%, mô hình sẽ mất các token đầu tiên.
Rất khó quản lý ngữ cảnh khi sử dụng LLM trên trình duyệt web

Giao diện trình duyệt web (như ChatGPT/Claude) không cho phép người dùng xem trạng thái, dung lượng hoặc sự suy giảm của cửa sổ ngữ cảnh. Người dùng không có quyền kiểm soát. Giao diện web của các mô hình phổ biến không cung cấp bất kỳ thông tin nào về mức độ đầy của cửa sổ ngữ cảnh.
Trước hết, chúng ta phải thừa nhận một hạn chế lớn khi sử dụng ChatGPT, Claude hoặc Gemini trên trình duyệt web. Các ứng dụng này không cho phép chúng ta biết cửa sổ ngữ cảnh đang đầy đến mức nào. Có thể bạn đã sử dụng ChatGPT từ ngày nó ra mắt mà thậm chí không biết cửa sổ ngữ cảnh là gì. Đó là một vấn đề.
Trên thực tế, các công cụ này khiến người ta có cảm giác cửa sổ ngữ cảnh là vô hạn, vì chúng cho phép bạn trò chuyện mãi mãi. Nhưng giờ bạn đã biết chúng không phải vậy. Ngữ cảnh sẽ suy giảm theo thời gian. Cuộc trò chuyện càng dài, hiệu suất của mô hình càng kém.
Điều đó cũng có nghĩa là bạn có rất ít quyền kiểm soát những gì xuất hiện trong cửa sổ ngữ cảnh (ngoài những gì bạn gõ), cách thức và thời điểm thu gọn hoặc xóa nó, hoặc thậm chí biết khi nào bạn cần làm như vậy. Điều đó nghĩa là bạn không thể tác động đến hiệu suất của mô hình. Công cụ duy nhất để quản lý tình trạng "lỗi ngữ cảnh" trong trình duyệt web là bắt đầu một cuộc trò chuyện mới.
Bắt đầu một cuộc trò chuyện mới sẽ xóa cửa sổ ngữ cảnh. Và bạn nên làm điều này thường xuyên. Nếu bạn đang làm việc với mô hình học ngôn ngữ (LLM) trong trình duyệt web, hãy bắt đầu một cuộc trò chuyện mới bất cứ khi nào:
- Bạn bắt đầu một chủ đề mới.
- Mô hình thực hiện một thao tác có vấn đề và bạn muốn nó thử lại.
- Cuộc trò chuyện bắt đầu trở nên dài (ví dụ: hơn 15 tin nhắn). Yêu cầu mô hình tóm tắt cuộc trò chuyện và sử dụng bản tóm tắt đó để bắt đầu một cuộc trò chuyện mới.
Những lời khuyên này sẽ giúp bạn giữ cho cửa sổ ngữ cảnh nhỏ gọn.
Nhưng chúng ta có thể làm được nhiều hơn thế khi có thể thấy những gì đang có trong cửa sổ ngữ cảnh, mức độ đầy của nó và biết chính xác khi nào cần giảm thiểu nó. Đây là một trong những điều mọi người yêu thích ở Claude Code.
Làm chủ AI
Học IT










AI
Hàm Excel