learningai.vn
VI
Phần 3 · Chương 9

Prompt Quá Dài Làm AI Dễ Bỏ Sót Phần Quan Trọng

Thời gian đọc: 9 phút

Thông tin quan trọng dễ bị chìm trong một đoạn chat quá dài. Hãy đặt nó ở chỗ rõ ràng và nhắc lại khi cần.

Ở chương trước, bạn đã thấy những giới hạn của mô hình: cửa sổ ngữ cảnh có kích thước cố định, mỗi lượt đều phải đọc lại từ đầu, và phần chữ cũ nhất sẽ bị đẩy ra ngoài khi nội dung quá dài. Chương này nói về những gì xảy ra bên trong các giới hạn đó, trước khi nội dung nào bị mất đi. Ngay cả khi toàn bộ tin nhắn vẫn còn nằm vừa trong cửa sổ ngữ cảnh, vị trí của thông tin quan trọng và lượng thông tin thừa xung quanh nó vẫn ảnh hưởng lớn đến việc mô hình có dùng được thông tin đó hay không. Có hai vấn đề chính gây ra phần lớn thiệt hại. Vấn đề thứ nhất là mô hình thường xử lý phần giữa của một đầu vào dài kém tin cậy hơn so với phần đầu và phần cuối. Vấn đề thứ hai là khi đầu vào càng dài, mô hình càng khó tập trung chắc chắn vào từng chi tiết riêng lẻ. Đây không phải là lỗi riêng của một sản phẩm kém chất lượng. Cả hai đều là những hiện tượng có thể đo được, lặp lại được, và đều có cách cải thiện khá đơn giản: cắt bớt nội dung thừa và đặt thông tin quan trọng ở vị trí phù hợp.

Vì sao AI thường chú ý phần đầu và phần cuối hơn

Hãy tưởng tượng bạn nhờ một người bạn ghé cửa hàng mua vài món. Nếu bạn nói ngắn gọn: "sữa, trứng, bánh mì" ngay trước khi họ đi, họ sẽ dễ nhớ. Nhưng nếu bạn giấu ba món đó trong một câu chuyện dài năm phút, lúc thì nói về thời tiết, lúc thì nói về công việc mới của người em họ, rồi bộ phim tối qua, sau đó mới nhắc đến sữa, trứng, bánh mì, rồi lại chuyển sang chuyện con chó nhà hàng xóm, thì họ rất có thể chỉ nhớ phần đầu và phần cuối câu chuyện. Còn hộp sữa nằm ở giữa sẽ bị quên mất. Một mô hình khi đọc một đoạn văn quá dài cũng thường hoạt động giống người bạn lơ đãng đó: nó dễ giữ lại phần đầu và phần cuối, còn thông tin nằm ở giữa thì dễ bị bỏ sót, nhất là khi xung quanh có quá nhiều chi tiết gây nhiễu.

Tuy vậy, bạn không nên bám quá chặt vào hình ảnh này, vì nó có thể khiến bạn hiểu sai như chương trước đã cảnh báo. Mô hình không giống một tâm trí đã quên mất phần ở giữa, như khi sự chú ý của người bạn kia bị trôi đi. Mọi thứ bạn gõ vào vẫn ở ngay trước mô hình, từng chữ một, và vẫn được đọc lại trong lượt xử lý hiện tại. Điều thay đổi theo vị trí không phải là chữ đó còn tồn tại hay không, mà là mô hình đọc chữ đó đáng tin đến mức nào. Phần giữa của đầu vào thường được mô hình chú ý ít hơn so với phần đầu và phần cuối. Vì vậy, đây không phải là sự quên lãng. Đúng hơn, đó là một thông tin nằm ở phần của trang được đọc kém cẩn thận nhất.

Mọi thứ bạn đưa vào đều trở thành ngữ cảnh

Trước khi nói tiếp, ta nên đặt tên cho khối chữ này. Tất cả những gì bạn gõ vào, như câu hỏi, các đoạn văn bạn dán, và toàn bộ cuộc trò chuyện cho đến lúc này, đều là ngữ cảnh của mô hình. Nói đơn giản, đó là toàn bộ phần chữ mà mô hình đang nhìn thấy để quyết định nên trả lời gì. Mô hình không có một nơi riêng để lưu "câu hỏi thật" tách khỏi những phần chữ xung quanh. Một câu quan trọng và bốn đoạn bối cảnh đi kèm đều nằm chung trong cùng một khối. Vì vậy, mô hình phải tự tìm ra phần nào là quan trọng giữa tất cả những gì bạn đưa vào. Đây là lý do vị trí của một dữ kiện và lượng thông tin bao quanh nó không phải là chuyện phụ. Chúng ảnh hưởng trực tiếp đến việc mô hình sẽ chú ý và dựa vào điều gì.

Vì sao thông tin ở giữa dễ bị bỏ sót

Chương trước đã gọi hiện tượng này là hiệu ứng lạc ở khúc giữa. Trong các thí nghiệm, các nhà nghiên cứu đặt một dữ kiện quan trọng vào nhiều vị trí khác nhau trong một đầu vào dài, rồi yêu cầu mô hình sử dụng dữ kiện đó. Kết quả cho thấy độ chính xác tạo thành một đường cong hình chữ U. Mô hình hoạt động tốt nhất khi dữ kiện nằm ngay ở đầu hoặc ngay ở cuối. Ngược lại, mô hình kém chính xác hơn rõ rệt khi cùng dữ kiện đó bị đặt ở phần giữa của một đoạn dài. Nói cách khác, không chỉ việc dữ kiện có xuất hiện hay không mới quan trọng. Vị trí của dữ kiện cũng ảnh hưởng mạnh đến khả năng mô hình tìm thấy và sử dụng nó. Trong các thí nghiệm đặt tên cho hiệu ứng này, độ chính xác cao nhất ở hai đầu của ngữ cảnh và, theo lời các tác giả, "significantly degrades" (suy giảm đáng kể) khi mô hình phải dùng thông tin nằm ở phần giữa của một ngữ cảnh dài.

Nhiều người thường nghĩ đây chỉ là lỗi của một mô hình còn yếu, và những hệ thống lớn hơn hoặc mới hơn sẽ không gặp vấn đề này. Nhưng thực tế không phải vậy. Ngay cả các mô hình được thiết kế để xử lý đầu vào rất dài cũng vẫn thường đọc kém hơn ở phần giữa văn bản, và vấn đề này không tự biến mất khi công nghệ phát triển. Nếu thông tin quan trọng của bạn nằm ở giữa một đoạn prompt rất dài, bạn đang đặt nó vào đúng vị trí mà mô hình dễ bỏ sót nhất, dù mô hình đó mạnh đến đâu. Vì vậy, cách làm thực tế là hãy đặt câu hỏi hoặc chỉ dẫn quan trọng ở đầu hoặc cuối prompt dài, thay vì để nó ở giữa.

Vì sao càng dài thì câu trả lời càng kém chắc

Vị trí của thông tin là một vấn đề. Tổng độ dài của văn bản là một vấn đề khác. Đây chính là hiện tượng context rot đã được nhắc đến ở chương trước: khi văn bản càng dài, mô hình càng khó nhớ và sử dụng chính xác từng chi tiết riêng lẻ. Điều này vẫn xảy ra ngay cả khi thông tin chưa bị vượt ra ngoài cửa sổ ngữ cảnh, và ngay cả khi bản thân nhiệm vụ không khó hơn. Nói đơn giản, càng có nhiều chữ thì càng khó tìm đúng "cây kim" trong đống rơm. Sự suy giảm này không xảy ra đột ngột, mà diễn ra từ từ như một quá trình bào mòn chậm. Vì vậy, nó rất âm thầm và khó đoán: không có dấu hiệu rõ ràng nào báo cho bạn biết rằng mình đã đưa vào quá nhiều nội dung, chỉ có những câu trả lời dần trở nên kém đáng tin cậy hơn.

Mức độ suy giảm này đã được đo lường cẩn thận. Một báo cáo năm 2025 thử nghiệm các mô hình hàng đầu hiện nay và cho thấy mô hình nào cũng trở nên kém đáng tin hơn khi đầu vào dài hơn, kể cả với những tác vụ tra cứu rất đơn giản. Một bộ chuẩn khác trong năm 2025 đưa ra một con số rất rõ: khi phần văn bản bao quanh dài ngang một bản báo cáo dài, độ chính xác của ngay cả một mô hình hàng đầu trong bài kiểm tra tìm dữ kiện bị chôn giấu giảm từ gần như hoàn hảo, 99,3%, xuống còn 69,7%. Đây là hiệu ứng duy nhất trong chương mà bạn khó tự tái hiện ngay tại bàn làm việc. Vài trăm chữ sẽ không đủ để làm nó xuất hiện. Chính vì vậy, hiệu ứng này phải được đo trên những đầu vào dài hàng chục nghìn chữ, chứ không phải trên một đoạn văn ngắn. Nhưng nó là có thật, có thể lặp lại, và xuất hiện cả ở những mô hình mạnh nhất.

Đây là lý do việc "thêm chi tiết" thường gây tác dụng ngược. Nếu bạn đưa vào yêu cầu quá nhiều bối cảnh không liên quan hoặc những ý phụ làm nhiễu, mô hình không có thêm thông tin hữu ích để xử lý. Thay vào đó, mô hình phải mất thêm công sức để lọc qua những phần thừa trước khi hiểu điều bạn thật sự muốn. Mỗi đoạn không cần thiết đều làm phân tán khả năng theo dõi vốn có giới hạn của mô hình, đồng thời khiến thông tin quan trọng dễ bị chìm đi. Dài hơn không phải lúc nào cũng tốt hơn. Khi vượt quá một mức nhất định, dài hơn thường làm kết quả tệ hơn.

Cái bẫy: càng thêm chi tiết chưa chắc càng tốt

Có một suy nghĩ nghe rất hợp lý: "Càng đưa cho mô hình nhiều chi tiết và bối cảnh thì câu trả lời càng tốt, nên cứ viết hết mọi thứ mình nghĩ ra." Nhưng thực tế không phải vậy. Nếu bạn đưa vào quá nhiều thông tin không liên quan hoặc gây nhiễu, câu trả lời thường sẽ kém hơn. Mô hình chỉ có thể tập trung vào một lượng thông tin nhất định, nên phần quan trọng có thể bị che lấp bởi những chi tiết thừa. Một yêu cầu ngắn gọn, rõ ràng và tập trung thường hiệu quả hơn một yêu cầu dài nhưng lan man. Cách tốt nhất thường là cắt bớt, không phải thêm vào: bỏ những phần không cần thiết, giữ nội dung thật gọn, và đặt điều bạn muốn mô hình trả lời nhất ở đầu hoặc cuối yêu cầu.

đầu: dễ được chú ýgiữa: dễ bị bỏ sótcuối: dễ được chú ý
đưa ra đầu hoặc cuốidữ kiện quan trọng ở giữa
cùng nội dung, khác vị trí
Thông tin ở đầu và cuối một đầu vào dài thường dễ được AI dùng hơn. Thông tin ở giữa dễ bị bỏ sót, nên các dữ kiện quan trọng nên được đặt ở vị trí dễ thấy.
Tự thử: đặt thông tin quan trọng ở đầu, giữa và cuối

Hãy chọn một bài viết thật dài hoặc một tập ghi chú cuộc họp, càng dài càng tốt, rồi dán vào chatbot cùng với một câu hỏi thật cụ thể, chẳng hạn: "Hạn chót được nhắc tới trong tài liệu này là ngày nào?" Sau đó thử ba lần: lần một đặt câu quan trọng ở gần đầu tài liệu, lần hai giấu nó ở đoạn giữa, lần ba đặt nó gần cuối. Nếu tài liệu ngắn, bạn có thể chỉ thấy khác biệt rất nhỏ, vì các mô hình hiện nay xử lý vài trăm chữ khá dễ dàng. Đó là lý do các nghiên cứu thường phải kiểm tra trên đầu vào dài tới hàng chục nghìn chữ. Vì vậy, hãy dùng tài liệu dài nhất và lộn xộn nhất mà bạn có. Đầu vào càng dài và càng rối, vị trí của dòng thông tin quan trọng càng ảnh hưởng nhiều đến câu trả lời. Bạn cũng có thể xóa các đoạn không liên quan rồi thử lại để xem câu trả lời trở nên ngắn gọn và rõ ràng hơn đến mức nào.

Khi nào cần cắt bớt và đặt lại thông tin

Khi bạn muốn một mô hình tìm một thông tin trong tài liệu dài, đoạn văn quá nhiều chữ hoặc chuỗi email dài, chẳng hạn như ngày tháng, tên, con số hay chỉ dẫn, bạn sẽ nhận được kết quả đáng tin cậy hơn nếu loại bỏ phần không cần thiết và đặt thông tin quan trọng ở đầu hoặc cuối. Đừng chỉ tin rằng mô hình sẽ tự tìm đúng câu trả lời ở giữa một đoạn nội dung quá dài.

Đến đây, kiểu lộn xộn cần xử lý vẫn nằm trong một tin nhắn riêng lẻ, chẳng hạn một bài viết được dán vào hoặc một yêu cầu quá dài mà bạn có thể rút gọn trước khi gửi. Nhưng còn một kiểu lộn xộn khác khó xử lý hơn, vì nó tự tăng lên theo thời gian. Đó là chính cuộc trò chuyện. Sau mỗi lượt trao đổi, toàn bộ nội dung trước đó lại được đưa vào làm ngữ cảnh. Dần dần, đoạn chat trở thành một bức tường chữ, còn ý định ban đầu của bạn bị vùi đâu đó ở giữa. Khi chuyện này xảy ra, chỉ rút gọn từng tin nhắn là chưa đủ. Chương tiếp theo sẽ nói về một bước xử lý lớn hơn: nhận ra khi nào nên ngừng cắt tỉa, chuyển những phần quan trọng sang một trang mới sạch sẽ, rồi bắt đầu lại.

Nguồn

Lost in the Middle: How Language Models Use Long Contexts
Nghiên cứu đặt tên cho hiệu ứng lạc ở khúc giữa, cho thấy độ chính xác cao nhất khi một dữ kiện cần thiết nằm ở ngay đầu hoặc cuối và suy giảm đáng kể khi nó bị chôn ở khúc giữa.
NoLiMa: Long-Context Evaluation Beyond Literal Matching (ICML 2025)
Một bộ chuẩn năm 2025 tại ICML, tên là NoLiMa, cố tình làm bài kiểm tra dữ-kiện-bị-chôn khó hơn và thấy phần lớn các mô hình đạt điểm nhiều nhất bằng một nửa độ chính xác trên chữ ngắn của chúng một khi đoạn chữ vây quanh chạm tới khoảng 32.000 token.
Context Rot: How Increasing Input Tokens Impacts LLM Performance
Báo cáo năm 2025 nằm sau luận điểm context rot của chương, thử nghiệm mười tám mô hình đầu bảng và thấy mô hình nào cũng kém tin cậy đi khi đầu vào lớn lên, ngay cả trên những tác vụ tra-cứu đơn giản nhất.
Effective context engineering for AI agents
Phần đọc thêm cho lời khuyên cốt lõi của chương là cắt tỉa sự lộn xộn thay vì thêm vào, xem mọi thứ bạn gõ như ngữ cảnh cần được giữ gọn ghẽ và đặt để khéo léo.
CHÚ THÍCH
  1. 1.
    Nelson F. Liu, Kevin Lin, John Hewitt, Ashwin Paranjape, Michele Bevilacqua, Fabio Petroni, và Percy Liang, 'Lost in the Middle: How Language Models Use Long Contexts,' Transactions of the Association for Computational Linguistics 12 (2024): 157-173. Các tác giả ghi nhận một đường cong hình chữ U: độ chính xác cao nhất khi thông tin liên quan nằm ở ngay đầu hoặc ngay cuối đầu vào và 'significantly degrades' (suy giảm đáng kể) khi nó bị chôn ở khúc giữa. Khuôn mẫu này giữ nguyên với những mô hình lớn hơn được thử, như GPT-4 và Llama-2 (13 tỉ và 70 tỉ tham số).
  2. 2.
    Kelly Hong, Anton Troynikov, và Jeff Huber, 'Context Rot: How Increasing Input Tokens Impacts LLM Performance,' Chroma Research (2025). Báo cáo đánh giá 18 mô hình đầu bảng, gồm GPT-4.1, Claude 4, Gemini 2.5, và Qwen, và thấy mô hình nào cũng kém tin cậy đi khi đầu vào lớn lên, ngay cả trên những tác vụ truy hồi đơn giản nhất.
  3. 3.
    Ali Modarressi, Hanieh Deilamsalehy, Franck Dernoncourt, Trung Bui, Ryan A. Rossi, Seunghyun Yoon, và Hinrich Schütze, 'NoLiMa: Long-Context Evaluation Beyond Literal Matching,' Proceedings of the 42nd International Conference on Machine Learning (ICML 2025), PMLR tập 267. Ở khoảng 32.000 token, 11 trong số 13 mô hình được thử đạt điểm bằng một nửa hoặc thấp hơn so với mức nền ngữ-cảnh-ngắn của chúng, và ngay cả GPT-4o cũng rớt từ mức gần như hoàn hảo 99,3% xuống còn 69,7%.