Prompt Enrichment
Làm giàu prompt bổ sung dữ liệu người dùng, tài liệu truy xuất, kết quả công cụ hoặc ví dụ vào yêu cầu trước khi gửi đến model AI, nhờ đó câu trả lời phù hợp với người dùng.
Prompt enrichment là việc tự động bổ sung thông tin vào request của người dùng trước khi request đến model AI. Mã ứng dụng nằm giữa người dùng và model, bổ sung những gì người dùng chưa nhập: thông tin tài khoản, tài liệu trả lời câu hỏi, dữ liệu trực tiếp từ công cụ, ví dụ mẫu hoặc phiên bản chi tiết hơn của chính request. Khách hàng hỏi "Why is my camera not detected anymore?" chỉ nhập bảy từ, nhưng mô hình ngôn ngữ lớn (LLM) nhận bảy từ đó cùng với thiết bị, phiên bản phần mềm của khách hàng và bài viết trợ giúp về đúng vấn đề này. Thuật ngữ này bao quát một số kỹ thuật, trong đó sinh tăng cường truy xuất (RAG) là kỹ thuật nổi tiếng nhất.
Enrichment bổ sung những gì#
- Dữ liệu người dùng và phiên: Các trường hồ sơ, gói dịch vụ, ngôn ngữ, vị trí, ngày hiện tại hoặc trang người dùng đang xem, được đọc từ dữ liệu riêng của ứng dụng.
- Tri thức truy xuất: Các đoạn văn bản tìm được khi tìm kiếm trong bộ sưu tập tài liệu hoặc đồ thị tri thức để tìm nội dung liên quan đến request.
- Kết quả từ công cụ: Các giá trị được lấy cho request này, chẳng hạn trạng thái đơn hàng từ API, một hàng trong cơ sở dữ liệu hoặc đầu ra của model khác.
- Ví dụ được chọn: Ví dụ few-shot được chọn riêng cho từng request vì tương tự đầu vào, thay vì dùng một tập cố định cho mọi request.
- Truy vấn được viết lại: Model mở rộng request ngắn gọn trước khi sử dụng. Trong HyDE, Luyu Gao và cộng sự yêu cầu LLM viết một câu trả lời giả định, rồi dùng embedding của tài liệu đó để truy xuất tài liệu thực; cách này cho kết quả tốt hơn cùng một bộ truy xuất không giám sát khi chỉ được cung cấp câu hỏi.
Ví dụ sau làm giàu câu hỏi hỗ trợ bằng dữ liệu tài khoản và bài viết trợ giúp phù hợp nhất, được truy xuất theo độ tương đồng TF-IDF bằng scikit-learn:
from sklearn.feature_extraction.text import TfidfVectorizer
from sklearn.metrics.pairwise import cosine_similarity
# Context the user never typed: their account record and the help center's articles
account = {"plan": "Pro", "device": "USB webcam", "app_version": "2.3"}
articles = [
"Version 2.4 fixes USB webcams that are not detected after a system update.",
"Pro plans include ten concurrent video streams per workspace.",
"Invoices are available on the billing page as soon as a payment succeeds.",
]
question = "Why is my camera not detected anymore?"
# Retrieve the article most similar to the question
vectorizer = TfidfVectorizer().fit([*articles, question])
scores = cosine_similarity(vectorizer.transform([question]), vectorizer.transform(articles))[0]
best = articles[scores.argmax()]
# Assemble the enriched prompt the model actually receives
profile = ", ".join(f"{key}: {value}" for key, value in account.items())
prompt = f"Customer profile: {profile}\nRelevant article: {best}\nQuestion: {question}"
print(prompt)Đoạn mã in ra:
Customer profile: plan: Pro, device: USB webcam, app_version: 2.3
Relevant article: Version 2.4 fixes USB webcams that are not detected after a system update.
Question: Why is my camera not detected anymore?Câu hỏi của người dùng không hề nhắc đến webcam, phiên bản hay bản cập nhật, nhưng prompt đã được làm giàu chứa mọi thông tin cần thiết để trả lời "update from 2.3 to 2.4". Hệ thống production thường truy xuất bằng embedding dense từ cơ sở dữ liệu vector hoặc bằng tìm kiếm hybrid, nhưng bước kết hợp thông tin vẫn giống nhau.
Enrichment trong thực tế#
Năm 2023, GitHub mô tả cách kỹ thuật tab lân cận của Copilot tìm trong các tệp developer đang mở những đoạn mã tương tự với phần mã quanh con trỏ rồi thêm chúng vào prompt; kỹ thuật này giúp tăng 5% tương đối tần suất người dùng chấp nhận các đề xuất của Copilot. Chatbot hỗ trợ khách hàng làm giàu mỗi lượt bằng hồ sơ tài khoản và đơn hàng; AI agent bổ sung kết quả từ các lần gọi công cụ trước vào từng bước.
Pipeline thị giác làm giàu prompt bằng những gì detector phát hiện. Trong Ultralytics Platform Agents, block LLM gửi cho model thị giác-ngôn ngữ được chọn từng hình ảnh cùng kết quả từ các block đứng trước, chẳng hạn kết quả phát hiện của YOLO26, nhờ đó một prompt chỉ cần viết một lần được bổ sung kết quả phát hiện đối tượng mới cho mỗi hình ảnh mà workflow xử lý.
Enrichment đi kèm chi phí. Mỗi đoạn văn bản bổ sung sử dụng token, làm tăng chi phí và độ trễ suy luận; ngữ cảnh không liên quan hoặc quá dài làm giảm độ chính xác, một hiện tượng được gọi là context rot. Trang web và tài liệu được truy xuất cũng có thể chứa các cuộc tấn công prompt injection, và mọi dữ liệu cá nhân được thêm vào prompt đều làm phát sinh lo ngại về quyền riêng tư dữ liệu, vì dữ liệu được gửi đến đơn vị vận hành model.
Prompt enrichment và các thuật ngữ liên quan#
- Sinh tăng cường truy xuất (RAG): Hình thức enrichment tìm kiếm trong bộ sưu tập tài liệu bên ngoài. Enrichment cũng bao gồm dữ liệu không cần tìm kiếm, chẳng hạn gói dịch vụ của người dùng hoặc ngày hiện tại.
- Prompt engineering: Một người thiết kế template prompt. Enrichment điền dữ liệu riêng của từng request vào template đó trong thời gian chạy.
- Context engineering: Quản lý mọi nội dung trong ngữ cảnh của model trên toàn ứng dụng, bao gồm những gì cần thêm, nén hoặc loại bỏ ở mỗi bước. Enrichment là phần bổ sung nội dung.
- Grounding: Gắn đầu ra của model với các nguồn có thể xác minh. Enrichment cung cấp những nguồn đó trong prompt.
- Nén prompt: Rút ngắn prompt bằng cách loại bỏ token chứa ít thông tin; thường được áp dụng sau enrichment khi ngữ cảnh bổ sung dài.










